sábado, 21 de maio de 2016

Software Livre - Em substituição ao Software Pago

Contei a história do meu TCC na Pós em Gestão Empresarial Avançada no meu Blog de Leitura, escrever algo assim nunca é fácil e sempre sobram ideias que gostaria de ver publicadas mas que não cabem no contexto do TCC. Uma dessas ideias foi uma tirinha do blog "Vida de Programador" sobre o Software Livre:


E essa tirinha me fez realizar um levantamento de preços para dotar uma Empresa de Pequeno Porte com os aplicativos necessários ao mínimo de controle de sua gestão. Deve-se considerar que essas empresas são mais sensíveis em relação ao preço e uma redução do custo na obtenção das licenças pode ser considerado um fator estratégico valioso. O valor de investimento para produtos de informática é muito baixa em relação a outras áreas, entretanto soluções como CRM, ERP e Identidade Visual não deveriam ficar restritas as grandes empresas ou, vistas como soluções caras e que não compensam seu investimento.

Utilizando Software Proprietário

Segue uma relação do custo de aplicativos proprietários de uso comum (todas as consultas de preços dos aplicativos proprietários foram realizadas no dia 8 de Março de 2015 através dos sites oficiais).

Iniciamos com a licença do sistema operacional Windows 8.1 versão PRO é de R$ 610,00 (em muitos casos este custo vem embutido na compra do computador). O custo do pacote MS-Office 365 versão Personal é de R$ 169,00 por mês (consulta realizada na Microsoft Store), e em conjunto, obtemos um software de CRM, tal como o Microsoft Dynamics, é de R$ 212,20 por mês.

Um ERP, que é um pacote de Gestão que abrange aplicativos como Controle Financeiro, Controle de Estoque e Integração Bancária, o ContaAzul (um dos mais baratos do mercado) é de R$ 99,00 por mês (versão Pequeno). Para produção de cartazes e imagens que podem ser disponibilizadas em propaganda na Internet, a empresa deve contar com um editor gráfico de imagens tal como o Adobe Photoshop, no qual para empresas deve ser realizada uma consulta com o produtor, porém tomaremos como base o plano para Pessoa Física que adquire o produto como parte do plano Criative Cloud por R$ 44,00 por mês (no site oficial da Adobe).

O próximo da lista é um pacote para auxiliar na criação de documentos tais como revistas eletrônicas, panfletos e todo o material de marketing para a divulgação da empresa, o aplicativo inDesign da Adobe é encontrado no mesmo preço do Photoshop. Ou seja, chegamos a uma conta final de softwares no valor de R$ 399,20 mensais, excluindo o sistema operacional, que a empresa deve desembolsar para ter a sua disposição este conjunto para um único computador.

Mesmo resultado com Software Livre

Uma lista equivalente pode ser criada exclusivamente com Software Livre, de custo zero, incluindo a disponibilização do código-fonte para a realização de qualquer customização necessárias:

  • LibreOffice ou OpenOffice é uma suíte de escritório livre compatível com as principais suítes de escritório do mercado. Destinada tanto à utilização pessoal quanto profissional. Oferece uma completa solução de pacote de escritório, contém um editor de documentos, editor de planilhas eletrônicas, gerente de apresentação, programa para desenho, banco de dados simplificado para a criação de pequenos aplicativos ou mesmo mala direta de clientes e um editor de equações para trabalho matemático.
  • Zurmo CRM é uma aplicação fácil de personalizar e que pode ser adaptada para qualquer tipo de negócio. Criada com uma metodologia orientada a testes para a construção de todas as partes do aplicativo. Isto significa que é possível criar e manter um sistema de CRM com a garantia de que as futuras atualizações não vão causar inconvenientes na instalação atual.
  • OpenERP Brasil como solução de ERP que é uma iniciativa para traduzir e adaptar os módulos nativos do OpenERP11 para atender às leis e regulamentações exigidas no Brasil, tendo como maiores desafios as necessidades fiscais, financeiras e contábeis.
  • Gimp como solução de manipulação de imagens é apontado como um dos melhores substitutos ao Photoshop, este aplicativo reúne uma série de recursos ideais para aplicações comerciais e profissionais.
  • Scribus é um aplicativo para Desktop Publishing, ou seja, uma ferramenta de diagramação para editoração de panfletos, revistas e todo o material de distribuição visual da empresa.

O dinheiro investido nas licenças dos Softwares Proprietários seria melhor utilizado em investimentos nas outras áreas da empresa. Foi relacionado um simples conjunto de aplicativos que podem ser usados independente do ambiente operacional escolhido, seja este Windows, MacOS ou Linux. Desta forma a mudança para o Software Livre pode ser realizada de forma gradual sem a necessidade de mudanças radicais. Como destaca Serrano, Guerreiro & Caldeira (2004), “observa-se uma dificuldade de adaptação dos usuários de outras plataformas”.

Essa foi uma das partes do trabalho que não saíram na versão final, mas que gostaria de publicar como forma de iluminar os Empresários a entenderem a real vantagem na adoção do Software Livre. Não é questão de utopia, de amor ou qualquer dessas coisas apaixonantes dos livros, mas uma mera questão de custo. E que para muitas empresas pode significar sobrevivência.

Obrigado e até a próxima
Fernando Anselmo

sábado, 14 de maio de 2016

Projeto - Teste de Rorschach em Java

O Teste de Rorschach ficou famoso em duas ocasiões, primeira quando estreou o filme "Watchmen" e todos ficaram curiosos com o estranho personagem, a segunda quando foi aplicado a Suzane von Richthofen como forma de tentar entender sua personalidade.


É um teste simples e ao mesmo tempo muito complexo, consiste na apresentação de um cartão "manchado com tinta" (por esse motivo também é chamado de "Teste do Borrão de Tinta") e perguntar a pessoa o que ela está vendo. A partir das respostas (essa é a parte complexa) traçar a personalidade do entrevistado.

O que mais me diverte nesse teste, como programador, é ver que a imagem formada segue um padrão, a tinta é colocada em um lado do cartão e esse é dobrado ao ser aberto é que se forma o desenho. É como se metade do cartão fosse visto através de um espelho.

Então me perguntei se seria possível criar um programa para reproduzir os desenhos em Java? Um programa com o pacote Swing (parte gráfica da linguagem) usa o método paint(Graphics) para criar imagens (criei um RefCard que pode ser baixado aqui sobre esse assunto). Então é possível utilizá-lo para recriar o padrão desse desenho.

Primeiro detalhe é que a imagem deve possuir um tamanho fixo, pensando em uma imagem de 640 px por 335 px, temos que lembrar de alguns detalhes importantes:
  • Pensemos que o papel será dobrado para obter a imagem completa, sendo assim devemos pintar apenas metade da largura da área total (320 px) e reproduzir o mesmo desenho na outra metade em forma espelhada.
  • Deve ocorrer uma maior concentração de pontos da imagem do centro para as bordas.
  • Fica mais destacado o desenho se as cores são variações de preto e vermelho.
A lógica é simples, criar imagens ovais (bolinhas) com altura entre 5 px e 295 px (para não chegarmos ao topo), largura entre 1 px e 30 px e altura entre 1 px e 20 px. Para a posição a esquerda deve existir uma maior concentração de pontos no meio da figura, para isso vamos trabalhar com 5 áreas distintas, a primeira permitir que 150 bolinhas sejam geradas na área total, diminuir 50 px de margem esquerda e desenhar mais 150 bolinhas, e assim vai até chegar na última área de 50 px.

Para cada conjunto de 150 bolinha geradas serão 145 no padrão preto (isso é, com RGB variando entre [0,0,0] preto escuro e [109,109,109] cinza escuro) e outras 5 no padrão vermelho (isso é, com RGB variando entre [255,0,0] preto escuro e [255,109,109] cinza escuro).

O pulo do gato para formar a figura completa e duplicar cada uma das bolinhas geradas no seu correspondente a esquerda imitando um espelho. Imaginemos que uma bolinha foi gerada na posição a esquerda de 10 px (está bem perto do canto esquerdo) com largura de 10 px, ela deve parar no canto direito da imagem. Para isso vamos usar uma fórmula simples, [Tamanho Total] menos a [Posição a Esquerda] menos a [Largura].

Veja 4 imagens geradas pelo programa:





Adicionei dois detalhes ao programa que é um botão para mudar a imagem e outro para permitir salvá-la em arquivo formato PNG. Use esse programa para gerar suas imagens, mudar os padrões de geração aumentando ou diminuindo os valores e principalmente para melhorar seus conhecimentos na prática da linguagem Java.

Baixe o programa completo em: Rorschach

Obrigado e até a próxima
Fernando Anselmo

domingo, 8 de maio de 2016

Sistema Operacional - Adaptações com o Ubuntu 16.04

Muitos usuários esperavam ansiosamente por essa nova versão do Ubuntu, principalmente com a promessa da adição dos pacotes Snappy e a chegada da "Convergência", ambas novidades entraram no sistema de forma muito discreta e teremos que esperar pela versão 16.10 para uma mudança mais efetiva. Porém o que realmente mudou? Resolvi criar uma lista com as principais atualizações que tive que realizar na minha máquina como desenvolvedor de aplicativos.

1. Eclipse

Misteriosamente o Eclipse começou a apresentar um comportamento estranho, ao criar um projeto a tela fica travada, ao criar um pacote, uma classe tudo ficava travado. A solução para este problema envolve uma mudança ocorrida no uso da SWT utilizada para a construção visual do Eclipse. Para corrigir mudar a chamada do Eclipse (no seu arquivo .desktop):
Exec=env SWT_GTK3=0 eclipse

2. Adeus ao Braseiro e Emphaty

Esses programas cairam fora da distribuição original, o primeiro utilizado para gravar CD/DVD e segundo um comunicador de mensagens instantâneas. Acredito que com o uso e aumento da capacidade dos Pen Drivers e do "Armazenamento na Nuvem" poucas pessoas utilizavam o Braseiro e o Skype e Whats derrubou o Emphaty a muito tempo. Se utilizava esses programas basta reinstalar com os comandos (não é necessário importar nenhum repositório):
$ sudo apt install braseiro
$ sudo apt install empathy 

3. Falando de Repositórios

Os repositórios padrões do Ubuntu ganharam muitos programas que antes era necessário um repositório externo, GIT, Musescore, e muitos outros agora são instalados diretamente. Para gerenciar esses pacotes recomendo que instale o PPA Manager com os seguintes comandos (esse precisa de repositório):
$ sudo add-apt-repository ppa:webupd8team/y-ppa-manager
$ sudo apt update
$ sudo apt install y-ppa-manager
Só isso? Exatamente, só isso. A maior diferença que senti com o novo Ubuntu foi em termos de performance que ficou muito mais rápido em relação a versão anterior. Comecei o artigo falando de duas mudanças que os desenvolvedores aguardavam ansiosos e quero encerrar este com duas mudanças que afetou a comunidade.

1. Loja de Aplicativos

A loja agora se chama "Ubuntu Software", muito mais rápida que a antiga "Central de Programas", nela agora é possível atualizar um único determinado aplicativo, porém ainda está passando por acertos, por exemplo, até a data de lançamento não era possível obter aplicativos de terceiros "não confiáveis" isso já foi corrigido (mas gerou um determinado estresse).

2. gEdit

Considerado um substituto do "Bloco de Notas" do Windows, ganhou uma função mais nobre como editor simplificado de programas. Agora é possível inclusive abrir um "Mapa de Visão Geral" (uma visão na lateral direita com a estrutura do código), numerar as linhas ou adicionar (na seção de plugins) uma console para o Python. Essa nova função também não agradou a comunidade, mas acredito que tudo se uma mera questão de adaptação.

As pessoas não estão acostumadas em sair de suas "zonas de conforto", porém é facilmente percebido que é interesse da Canonical realizar mudanças muito mais profundas nas novas versões que virão. E agora é aguardar pelo Yakkety Yak (Ubuntu 16.10 a ser lançado em Outubro deste ano), só uma dica "Yakkety" é um Slang que significa algo como "Falar Demasiadamente"... Então essa versão pode ser traduzida para "O Iaque Falador".

Obrigado e até a próxima
Fernando Anselmo