Uma nova ferramenta do CS5 da Adobe vai permitir a
exportação facilitada de animações Flash para o código Canvas HTML5.
Depois
da chegada do IE9 ao mercado, os principais navegadores irão suportar o
HTML5. Assim, animações em Flash poderão ser visualizadas por qualquer
usuário, sem a necessidade de baixar o plugin do Flash. Na prática, isso
significa que dispositivos que não aceitam o plugin poderão executar as
animações criadas nele, como iPad e iPhone.
Para o ReadWriteWeb,
o recurso é interessante, já que produtos Apple bloqueiam o Flash de
acessar algumas APIs do sistema operacional, e o HTML5 pode ser um
caminho de volta para os usuários do Flash que não são grandes fãs da
plataforma e também para usuários de dispositivos da Apple que desejam
usar o Flash, sem restrições. Notícia publicada no iMasters em 15/04/2010, com informações de ReadWriteWeb
O ENSOL, Encontro de Software Livre da Paraíba, é um dos principais
encontros de Software Livre do país e, este ano, espera superar as
expectativas dos participantes, já que contará com a presença de nomes
importantes do setor.
Na quarta edição do encontro, estarão
presentes Rasmus Lerdof, criador do PHP, Ryan Ozimek, Membro Diretor da
organização que cuida do Joomla, Jim McQuillan, fundador e líder do
LTSP, e Jon "Maddog" Hall, Diretor Executivo da Linux International.
Aqueles com dificuldades em línguas terão à disposição tradução
simultânea nas palestras necessárias.
O evento vai abordar
vários temas em diferentes palestras e workshops, incluindo segurança,
desenvolvimento, inclusão digital e social, redes, filosofia do Software
Livre e direitos autorais.
O IV ENSOL acontece entre os dias 6 e
9 de maio, na Paraíba. As inscrições podem ser feitas no site do evento
até o dia 3 de maio.
Na O'Reilly MySQL Conference, a Oracle apresentou um MySQL que chamou de
"bem mais rápido"e insistiu que vai continuar investindo no banco de
dados open source.
A versão 5.5 vai usar o InnoDB da Oracle como
engine padrão e, segundo a empresa, vai oferecer 200% de melhoria de
desempenho, além de tempos de recuperação mais de 10 vezes mais rápido.
De
acordo com um representante da companhia, os planos da Oracle para o
MySQL eram torná-lo mais leve, fácil de administrar e mais competitivo
em relação ao SQL Server da Microsoft.
No site de desenvolvedores do MySQL, há detalhes de outras
mudanças na nova versão, que incluem melhor manuseio de metadados
durante transações, melhoria de performance e de escalonamento no
Windows, replicação semi-sincronizada, heartbeating e mais opções de
particionamento. Além disso, o esquema de performance do MySQL, uma tabela de
informações relacionadas à baixa performance do banco de dados, foi
lançado e já está preparado para incluir estatísticas do InnoDB.
O
beta do MySQL 5.5 já está disponível para download e está licenciado
sob o GPL2.
Oracle presented a beta of what it called a "much faster" MySQL at
the O'Reilly MySQL Conference
and insists it will be continuing to invest in the open source
database. Oracle's Chief Corporate Architect, Edward Screven, presented
the beta version of MySQL 5.5 which will now use InnoDB as its default
storage engine, saying that the switch offers a 200% performance
improvement and over ten times faster recovery times. He assured the
audience that despite the switch to Oracle's InnoDB, Oracle will be
maintaining the pluggable storage engine architecture and that the
company would continue to ship the same code base in the community and
enterprise editions.
Screven said Oracle's plan for MySQL was to keep it as a slim,
easy-to-administer database and that it would be investing to make MySQL
compete more effectively with Microsoft's SQL Server. He noted that
more customers deploy MySQL on Windows than on any other platform. In an
interview with eWeek
before the presentation, Screven also confirmed that MySQL's Falcon
storage engine was no longer being developed. "Falcon was Sun’s, or
actually really MySQL AB’s…response to Oracle buying InnoDB" he said,
"Now that we've brought the teams together, Falcon doesn't have a place
in the world". Oracle's future plans include making it easier to migrate
data between MySQL and Oracle databases and adding Oracle features such
as Secure Backup, Enterprise Manager and Audit Vault to MySQL.
On the MySQL developers site, a new
article details some of the other changes in MySQL 5.5. These
include better metadata handling during transactions, improved
performance and scaling on Windows, semi-synchronous replication and
heartbeating and more partitioning options. The MySQL performance
schema, a table of information on the low level performance of
MySQL, has been introduced and already enhanced to include low level
InnoDB statistics.
The beta of MySQL 5.5, currently development release version 5.5.4,
is available to download from the MySQL developer site
and is licensed under the GPL2. The current stable version of MySQL is
version 5.1.45.
O Google anunciou um projeto em fase inicial que visa a permitir que
usuários imprimam documentos em qualquer impressora, a partir de
qualquer dispositivo.
Chamada de Google Cloud Print, a tecnologia
dispensaria a necessidade de instalação de drivers de impressora
através do encaminhamento dos trabalhos de impressão para um servidor na
web, que ficaria responsável por processá-los e direcioná-los para a
impressora mais adequada.
De acordo com Mike Jazayeri, gerente de
produto do Google, no blog da empresa, "o Google Could Print seria responsável
por enviar o trabalho para a impressora correta de acordo com as opções
selecionadas pelo usuário e retornar o status do trabalho para o
aplicativo".
Segundo o executivo, mesmo com a tecnologia em fase
inicial, a empresa quer envolver desenvolvedores interessados no
processo de aperfeiçoamento da novidade.
O Google Cloud Print
fará parte do Google Chrome OS, sistema operacional apresentado pela
empresa em novembro de 2009. Os primeiros netbooks com esse sistema
devem ser lançados no final deste ano.
No ano passado, os responsáveis pelo Kernel do Linux, retiraram o código do Android. A razão
foi o fato de eles acharem que estavam recebendo pouco com a cooperação
com o Google, além de poucos patches de seus engenheiros.
Mas
durante o Linux Collaboration Summit, que aconteceu recentemente, o
Google tocou no assunto de voltar com a parceria.
De acordo com
Jim Zemlin, diretor executivo da Linux Foundation, e com Chris DiBona,
gerente de engenharia do setor público e open source do Google, a
parceria será concretizada. DiBona chegou a afirmar que o Google estava
contratando dois engenheiros para trabalhar exclusivamente no kernel.
Entretanto,
ele negou as preocupações em relação à divisão e à fragmentação,
"observando que o sistema operacional de código do smartphone não é
completamente apropriado para o sistema operacional kernel."
Um
dos objetivos da maioria, senão de todos os negócios, é proporcionar
a melhor experiência de compra aos nossos clientes. Mas como podemos
medir a experiência de compra que estamos proporcionando? Não
parece ser uma pergunta fácil de responder.
Primeiro, devemos
entender o que está relacionado à experiência de compra. Pode-se
elencar desde fatores concretos, como preço e prazo de pagamento, até
questões subjetivas, como qualidade do produto, do atendimento,
conhecimento do produto ou serviço, tratamento personalizado,
serviços adicionais, entre outros. De forma resumida a experiência
de compra pode ser traduzida na sensação de ter feito um ótimo ou
um péssimo negócio.
Uma
experiência de compra bem sucedida, na qual a qualidade percebida está
acima da qualidade prometida, é o que desejamos proporcionar. Mas
como implementar?
Um
dos maiores benefícios dos sistemas de computação, aliados ao fato
de estarem conectados em rede, é a possibilidade de obtenção de
dados, tratamento e disponibilização de conhecimento, extraídos a
partir da análise de informações contidas nos dados coletados. Nos
negócios on-line,
esse processo torna-se ainda mais claro e passível de ser utilizado.
Mas
como podemos "materializar" o conhecimento adquirido através da
análise de dados no sentido de melhorar a experiência de compra dos
nossos clientes? Uma das respostas está na utilização de sistemas
de recomendação. O papel dos sistemas de recomendação é, a
partir de um conjunto de dados, extraírem conhecimento e
disponibilizar algo que agregue valor a quem receba.
Entretanto,
para que todos os benefícios dos Sistemas de Recomendação sejam
percebidos pelos nossos clientes, transformando a experiência
de compra deles em algo inesquecível, é necessário um
alinhamento entre o negócio e a tecnologia, percebido através
dos oito princípios listados a seguir:
Demonstrar
conhecimento sobre os produtos;
Ser
um agente do cliente;
Manter
excelentes serviços nos pontos de contato com o cliente;
Embalar
produtos, não pessoas;
Olhar
o que fazemos;
Revolucionar
o gerenciamento do conhecimento;
Usar
comunidades para criar conteúdo;
Transformar
as próprias comunidades em conteúdo;
A
adoção dos oito princípios acima listados requer um entendimento
prévio de como um sistema de recomendação utiliza as informações.
Precisamos
entender questões como:
De onde podem vir as informações utilizadas
pelos Sistemas de Recomendação?
Qual a importância que cada informação deve
possuir?
Como informações de diferentes fontes podem
ser relacionadas?
As
respostas a essas questões serão fundamentais para que possamos
obter o melhor ajuste do nosso sistema de recomendação a fim de
alcançarmos as recomendações mais pertinentes a cada cliente.
De
posse das entradas, precisamos avaliar como usaremos as recomendações,
ou seja, como exibi-las aos nossos clientes. Para responder essa
questão, precisamos identificar quais os tipos de cada recomendação
e como elas podem ser sugeridas aos nossos clientes.
De
posse de tantas maneiras de encantar nossos clientes com
recomendações de qualidade precisamos definir o que realmente ele
julgará importante. A próxima etapa é adotar um sistema de
recomendação, encontrar o melhor ajuste, obter feedbacks dos
clientes e usá-los para melhorar o sistema.
Veja
que processo cíclico fantástico. Uma ferramenta em melhoria
contínua, sempre com mais "poder", incrementado de forma
gratuita por quem utiliza os seus benefícios e que será
recompensado com outros benefícios.
Termino
o artigo com a seguinte frase de Thomas
Carlyle, proferida em 1833:
"O
homem é um animal que usa ferramentas, sem ferramentas ele não é
nada, com elas ele é tudo."
A
cada dia torna-se mais perceptível que a ferramenta deixa de ser o
"machado" para ser tornar o conhecimento. Mas isso é assunto
para outro artigo. Até a próxima!
O estudante André Bueno fez um post muito legal falando sobre criatividade e inovação, o velho "pensar fora da caixa". Apesar de o foco dele ser em publicidade, a lição vale para qualquer área, com certeza!
Leia o post e pense: o que você tem feito para pensar em soluções diferenciadas para problemas que ninguém acha que podem ser solucionados?
Quem
nunca ouviu a frase "Boas idéias dão bons resultados"? Pois é, meu
caro, é a mais pura verdade. Quando pegamos um serviço (isso inclui
qualquer profissional) e o fazemos de maneira criativa e inovadora,
obtemos resultados também criativos e inovadores. É como dizem: "Existem
dois caminhos. Um é fácil e a maioria o pega. O outro é difícil e
poucos o pegam, mas pegam. O seu caminho deve ser o terceiro." Tá, eu
adaptei essa frase para fazer sentido na explicação, mas essa é a idéia.
Ao utilizar fórmulas já usadas antes, vamos continuar no "Arroz e
Feijão" que costumamos ver diariamente. Ainda mais no nosso caso,
publicitários. Usar idéia dos outros é plágio. Não usar
idéia nenhuma é falta de aptidão para o que está fazendo, então melhore.
Faça viagens, vá à museus, assista muitos filmes e arranje uma namorada
encrenqueira. Tudo isso o ajudará a pensar mais fundo. E é nesse
"pensar fundo" que aparece o Insight.
Boas idéias merecem reconhecimento. Todas, e não só as do ramo da
Comunicação. Ter uma boa idéia é saber pegar uma situação e adaptá-la. É
torná-la fácil e contornável. É pegar uma garrafa de Coca-Cola vazia e
usar para beber água quando não tiver. É mandar uma flor para a sua
namorada no meio de uma aula de Constitucional, caso ela faça faculdade
de Direito.
Boas
idéias dão resultado, independente de qual for.
Esse é um bom exemplo. Escolheram um cliente
que as pessoas nunca escolheriam, pensaram em uma estratégia nova,
executaram conforme o planejado, agregaram valor e saíram para o abraço.
E vai uma dica que é válida para todos: tudo o que fizerem, façam com
amor. Abraçar o propósito e "vestir a camisa" da causa sempre será a
porta para o surgimento de coisas boas. O mundo está ai (cheio de
possibilidades e novidades) em nossas mãos, nossa tarefa é melhorá-lo.
Fica a dica.
A Canonical liberou para download
a nova versão do Ubuntu. O Lucid Lynx chega com força total, depois de
um pequeno imprevisto que fez com que a empresa responsável pelo sistema
adiasse em algumas horas seu lançamento.
O que aconteceu foi um
erro no bootloader do Ubuntu. Quando instalado em um computador que já
tem outro sistema operacional rodando, o GRUB2 poderia impedir que o
segundo sistema fosse iniciado. Felizmente, a Canonical já corrigiu o
problema, pelo menos para a versão desktop do Ubuntu (tanto x86 quanto
x64).
Confira abaixo a listagem de novidades do novo Ubuntu.
Me Menu: integração com Twitter, Facebook e Identi.ca são
possíveis graças a esse recurso.
Novos temas: eles se chamam Ambiance e Radiance.
Ubuntu One Music Store: a loja de música do Ubuntu permite fazer
cópia das canções na nuvem graças ao serviço Ubuntu One.
Ubuntu One File Syncing: para compartilhar documentos com contatos.
GNOME: o ambiente de trabalho aparece renovado. Uma das alterações
mais controversas foi a mudança dos ícones de controle de janela do
canto superior direito (como no Windows) para o canto superior esquerdo
(como no Mac OS).
Busca do Yahoo!: a partir de agora, o Mozilla Firefox - navegador
oficial do Ubuntu - passa a usar a busca do Yahoo! como padrão.
Kernel do Linux: também foi atualizado para a versão mais recente.
Driver para Nvidia: o sistema operacional passa a usar Nouveau como
driver de vídeo para os processadores gráficos da Nvidia. Além de uma
melhor detecção de resolução, o driver ainda possibilita a aceleração 2D
por meio de hardware.
Netbook Edition: o Ubuntu 10.04 tem um filhote focado em
dispositivos móveis. O Ubuntu 10.04 Netbook Edition tem interface mais
amigável para as telas diminutas dos netbooks encontrados atualmente no
mercado.
O título já mostra o terreno pantanoso por onde este artigo trafega. Geralmente quando se fala em métodos ágeis, uma série de
críticas à gerência de projetos PMBOK style vem à tona. Mas será que
essa combinação é realmente (im)possível?
É o que também queremos saber.
Na nossa empresa, estamos iniciando a segunda fase de um grande
projeto e o cliente tem sido um ótimo parceiro, dando liberdade para
experimentarmos as técnicas que achássemos interessantes, desde que,
claro, isso não afete as entregas.
Utilizamos várias técnicas ágeis, nada puro sangue, somente o que
parecia bom e efetivo. Algumas agregaram muito ao nosso processo, outras
menos. Mas, em todas as experiências, nosso aprendizado foi grande e,
no fim das contas, o principal foi alcançado. O primeiro contrato foi
concluído com sucesso.
Agora, na segunda fase, nosso cliente solicitou alguns indicadores
para garantir maior visibilidade do projeto aos stakeholders. Software
funcionando é um excelente indicativo, mas como fica a percepção de
progresso para os stakeholders que não são
usuários finais? Como fornecer essa visibilidade a quem não está na
linha de frente de uso?
Daí tivemos a idéia de usar um ferramental com o qual os gestores
estão mais familiarizados, o PMBOK, que é um conjunto de melhores
práticas de gerenciamento de projeto que traz visibilidade e, por
conseqüência, mais (sensação) de controle.
Muitas vezes os agilistas mais puristas condenam as práticas PMBOK
por acreditarem que elas engessam o processo. Porém, como dito
anteriormente, o PMBOK é um conjunto de melhores práticas de
gerenciamento, das quais você seleciona e customiza as que melhor se
adequam ao seu processo.
Da mesma maneira
que do lado da agilidade as coisas se adaptam, do lado da gerência de
projeto também. Daí, para fazer essa combinação funcionar, utilizaremos
um termo muito valorizado por PMPs e Agilistas, um valor que é
unanimidade entre esses dois grupos. Esse valor é a comunicação.
Nesse projeto contaremos com um gerente de projetos que atuará não
como gestor, mas, sim, como um parceiro da equipe. O planejamento será
executado de forma conjunta entre todos. A implementação será efetuada
seguindo as técnicas ágeis que usamos até aqui e muitas outras.
Em
paralelo, o gerente irá buscar insumos com o time para garantir o
controle e visibilidade do processo. Teremos uma espécie de barramento
de onde as informações vão fluir, formatadas de maneira que possibilite
um melhor entendimento para os stakeholders, mas geradas sem criar
barreiras para o desenvolvimento.
Muitas vezes, uma gerência mal feita pode realmente engessar
totalmente um projeto. Isso geralmente ocorre quando a gerência é
feita de uma maneira "encaixotada" e que tenta seguir o PMBOK ao pé da
letra, ou seja, sem uma análise do que vale a pena ser utilizado ou não
do conjunto de melhores práticas.
Por outro lado, o uso de uma
metodologia ágil sem reflexão também causa danos, pois termina gerando
práticas vazias que não agregam valor. Cortando dos dois lados da
equação, vemos que o problema não está na metodologia A ou B, e sim na má
utilização da mesma.
Pretendemos continuar ágeis. Porém, nossos stakeholders solicitaram
algo que lhes agrega valor e nós pretendemos entregar. Se vai dar certo,
só saberemos tentando. Mas coragem também é um valor ágil, certo?
De acordo com uma previsão o Gartner, os usuários de e-mails mobile
atingirão a marca de 1 bilhão até o final de 2014. Só no mercado
corporativo, são esperadas, até o final de 2010, mais de 80 milhões de
contas ativas nas empresas de pequeno, médio e grande porte. O ganho de
produtividade é apontado como a mola propulsora para o aumento da
adoção do serviço entre os executivos.
O levantamento leva em
consideração contas de e-mails acessadas através de dispositivos móveis
dentro de aplicações nos próprios aparelhos, navegadores web ou por
meio de um software gateway conectado ao servidor de e-mails.
Cada
vez mais haverá uma maior integração entre os e-mails mobile e software
de redes sociais e de colaboração. A previsão é que, até 2014, os
serviços de redes sociais irão substituir os e-mails, sendo a forma
mais utilizada para comunicação interpessoal entre 20% dos usuários
corporativos.
Já a adoção de e-mail em nuvem (cloud e-mail)
crescerá significativamente entre os próximos três e cinco anos. Uma
das razões para isso é que os serviços de colaboração oferecidos por
Microsoft, IBM, Google, entre outros players, já incluem suporte para
mobilidade. Em 2009, somente 3% das contas de e-mails estavam em nuvem,
mas, até o final de 2012, esse índice deve chegar a 10%.
Um novo sistema de criptografia que visa a oferecer maior segurança às transações bancárias e ao comércio via internet foi desenvolvido por pesquisadores da USP de São Carlos e de Ribeirão Preto.
De acordo com Odemir Martinez Bruno, do Instituto de Física de São Carlos (IFSC) da USP, o sistema combina o método tradicional de criptografia com uma parametrização dinâmica obtida a partir de sistemas caóticos. Ele acredita que é a primeira vez que essa abordagem foi feita. Bruno acrescenta que o sistema é inovador por promover a integração entre os conceitos da física e matemática à computação.
O funcionamento da criptografia ocorre pelo embaralhamento de letras, números e símbolos com o objetivo de codificar textos, que só podem ser decodificados e recuperados por pessoas autorizadas. Tradicionalmente, a criptografia utiliza operações lógicas ou aritméticas simples para o embaralhamento.
Na prática, quando um usuário digita os dados de cartão de crédito em uma transação comercial via internet, as informações são "embaralhadas" de maneira que um invasor não consiga decifrar os códigos. "Somente o banco será capaz de decifrar as informações", explica o professor.
Apesar de pesquisas com criptografia e sistemas caóticos já terem sido feitos, com a criação de algoritmos de criptografia baseados na teoria do caos, os algoritmos apresentavam várias limitações, tornando-se inseguros e muito lentos para aplicações comerciais. Já o sistema desenvolvido pelos pesquisadores da USP permite maior agilidade nas operações com os algoritmos e o embaralhamento é maior.
O sistema caótico gera uma sequência de números pseudoaleatória. Se os parâmetros iniciais do sistema caótico forem exatamente os mesmos, a sequência será sempre a mesma. Na criptografia caótica, utilizada pelos pesquisadores brasileiros, essas sequências são usadas para embaralhar as mensagens.
A pesquisa está já em fase final, e a Agência USP de Inovação busca empresas interessadas em licenciar o produto.
A Microsoft começou a habilitar sua base de dados gratuita SQL CE para trabalhar com aplicativos web em ASP.Net. O objetivo é oferecer uma base de dados mais leve para o desenvolvimento com o framework ASP.Net.
O SQL CE - Microsoft SQL Server Compact - é um banco de dados relacional compacto produzido pela Microsoft para aplicações que rodam em dispositivos móveis e desktops.
De acordo com Scott Guthrie, vice-presidente na Microsoft Developer Division, a empresa vai liberar um beta público da versão 4 do SQL CE em breve, que foi feita para funcionar com aplicativos web em ASP .Net. Assim, as extensões poderão redistribuir SQL CE como parte delas, bastando copiá-las para qualquer servidor. Além disso, segundo Guthrie, os desenvolvedores poderão iniciar seus projetos rapidamente, sem a necessidade de instalar uma base de dados completa no local de desenvolvimento.
O SQL CE trabalha com APIs baseadas em .Net e suporta uma sintaxe de query semelhante à do SQL Server. Desenvolvedores podem usar APIs existentes, como ADO.Net, e tecnologias como Entity FrameWork com SQL CE, acrescentou o executivo.
A engine do SQL CE vai rodar junto com a memória do aplicativo. Assim, quando ele trava, a base de dados é automaticamente descarregada. A versão 4 vai rodar em cenários de hospedagem em ASP.Net 4 sem a necessidade de instalar qualquer coisa.
Em uma atualização futura, Visual Studio 2010 e Visual Web Developer 2010 Express irão adicionar suporte ao SQL CE 4.
Ainda de acordo com o executivo, o SQL CE não requer a instalação de um servidor de base de dados para ser usado. Basta copiar os binários do SQL CE para o diretório \bin do aplicativo em ASP.Net. Dessa forma, o aplicativo pode rodar e usá-lo como uma engine de base de dados.
Tecnologia da Informação ecologicamente correta não é uma onda passageira. A demanda por tecnologia verde, ou seja, tecnologia que reduza as emissões de carbono na atmosfera e permita o consumo de energia eficiente, já é uma realidade.
Em 2009 surgiram as primeiras certificações de Gestores de TI com especialização em projetos verdes como a GIM Green IT Managemen - ao passo que grandes players adotaram o SAAS (Software como Serviço) como uma estratégia verde. Baseada na tecnologia SOA (Arquitetura Orientada a Serviços), essa modalidade de venda de software reduz os custos fixos para os clientes, na medida em que elimina as licenças de uso e introduz o pagamento de uma taxa que varia conforme a utilização.
As companhias desenvolvedoras de software estão se adaptando às novas exigências do mercado, partindo de atitudes simples, como realização de vídeo conferências, a fim de reduzir o uso de meios de transportes poluentes (minimizando o deslocamento de pessoal); desenvolvimento de softwares que exijam menos capacidade do hardware, ou seja, gastem menos energia por demandarem menos tempo de operação e, ainda, sejam capazes de configurar impressoras que imprimam folhas em frente e verso, economizando papel.
Outra medida verde que vem tomando corpo e crescendo é o emprego da educação à distância (EAD) para treinamento de funcionários e clientes, permitindo a atualização constante de ambos e uma melhor gestão do tempo de cada um.
Para se ter ideia, as possibilidades da EAD nesse sentido vão muito além das usuais. Em uma consultoria de implantação de sistema de gestão, por exemplo, com o uso de EAD, essa atividade pode ser realizada sem a presença física do consultor, o que agiliza as implementações do software e permite a rápida intervenção da empresa desenvolvedora em qualquer eventualidade. Flexibilidade e redução de custos são palavras-chave na modalidade EAD.
Em termos de qualificação de colaboradores, a EAD é uma ferramenta extremamente útil. O segmento de TI sofre com a carência de profissionais e, para suprir a demanda por mão-de-obra qualificada, as desenvolvedoras estão criando pólos de tecnologia próximos aos centros de excelência em ensino, muitas vezes distantes de suas matrizes. Nesses casos, a EAD é fundamental para viabilizar o treinamento destes funcionários, sem comprometer as operações atuais.
A EAD também é uma excelente alternativa para estreitar o relacionamento com os clientes, principalmente porque existe uma tendência de migração de empresas da região Sudeste para o Norte, Nordeste ou interior por conta dos incentivos propostos pelo PAC (Programa de Aceleração do Crescimento). A pulverização de clientes atuais e potenciais para regiões mais distantes pode gerar custos de deslocamentos de pessoal e perda de agilidade no atendimento, o que afeta a logística de distribuição dos fornecedores de software e onera a prestação de serviços. Essa situação, entretanto, não representa ameaça para as empresas desenvolvedoras que já empregam a EAD como estratégia de atendimento.
Sendo assim, para pensarmos no desenvolvimento sustentável de uma companhia, é preciso que novas formas de fazer negócio, soluções, treinamentos e relacionamento com os clientes sejam colocados em pauta. Os benefícios que a TI verde e o uso de EAD oferecem às companhias são objetivos e precisos.
Por isso, é fato que, em breve, todas as empresas que não aderirem à redução de poluentes e de consumo energético terão que responder aos seus acionistas, parceiros e reguladores, assim como aos clientes e à opinião pública. Porém, com a adoção de algumas das medidas citadas, é possível a essas mesmas empresas reduzirem seus custos operacionais, e ainda valorizarem a sua própria imagem no mercado.
Aposto todas as minhas fichinhas que todos que quiseram estudar NoSQL ficaram na dúvida de qual dos dois usar, MongoDB ou CouchDB, mesmo que tenha ido para um Cassandra ou qualquer outro NoSQL.
A dúvida fica muito maior porque são dois bancos de dados muito semelhantes (orientados a documentos) e bastante usados. Vou colocar aqui o meu relato sobre o MongoDB e o CouchDB.
CouchDB
Quando vi as possibilidades do NoSQL, o primeiro banco de dados que vi foi o CouchDB e fiquei louco para começar a aprendê-lo, a fazer alguns projetos e tudo mais. Porém dei uma olhada muito rápida no site deles e não vi uma versão pra Windows. Falem o que quiserem, mas muita, muita gente - e todo mundo sabe disso - faz tudo no Windows e, se não tiver uma versão pra ele, não vão usar, vão continuar com o MySQL.
Demorei meses para voltar para o NoSQL, mas sempre com aquela vontade de realmente aprender um desses novos bancos de dados. Voltando àquele tesão inicial em aprender o NoSQL, vi muitos códigos usando o CouchDB, muita gente usando, muitas coisas pela internet sobre ele. Isso foi um ponto forte pra mim em relação a outros e, quando vi que o CouchDB era incubado pela Apache, a balança pesou mais um pouquinho.
Já que o NoSQL é uma tecnologia extremamente nova, eu queria pensar a longo prazo. Várias vezes fiquei me perguntando as vantagens entre esses BDs. Confesso que, quando vi uma pesquisa falando sobre os bancos de dados que as pessoas mais tinham vontade de aprender, apontando o CouchDB como segundo, ele ganhou mais um ponto. O primeiro da lista era o Cassandra, porém ele ainda não tinha instalação pra Windows. O PHP é muito forte, e um dos fatores principais é a grande comunidade e excelente documentação que eles possuem, levei isso em consideração na hora da escolha do NoSQL.
O CouchDB vinha cada vez mais ganhando pontos comigo. Mas, na mesma pesquisa, o terceiro colocado era o MongoDB, e então eu resolvi olhá-lo mais de perto, uma vez que queria dar o pontapé inicial.
MongoDB
Cheguei para olhar o MongoDB só por olhar mesmo, só para ir pro CouchDB com a consciência limpa. Lia alguma coisa sobre ele e pensava "mas o CouchDB faz isso também".
Mas uma coisa começou a me chamar a atenção: para instalar o MongoDB, era só baixar no site e extrair em algum diretório. Isso me chamou a atenção, porque o CouchDB precisava de algumas dependências para rodar. Então, eu baixei e instalei o MongoDB e naquele momento comecei a pensar mais sobre ele, um coraçãozinho cresceu.
Rodei uma linha de comando, e está lá, um NoSQL funcionando direitinho. Isso foi tão empolgante que não achava que pudesse melhorar, mas olhei no site do MongoDB e para rodar com o PHP bastava instalar uma DLL. Fui lá e instalei a dll.
A facilidade me encantou, porém ainda pesava a incubadora do CouchDB e todos os outros pontos. Analisando mais um pouco o CouchDB, vi que eram precisos vários includes para faze-lo funcionar com PHP: menos pontos pra ele, uma vez que o MongoDB se saiu muito bem nessa.
Próximo passo foi colocar lado a lado a documentação
Não precisei olhar muito para saber o escolhido: na imensa documentação do php.net está uma documentação para o MongoDB. Foi ali que parei de ler o CouchDB e comecei a ler sobre o MongoDB.
MongoDB funcionando na minha máquina, documentação no php.net, documentação no próprio site do MongoDB... era incrível! A partir daí, não tive mais tempo para o CouchDB.
Benchmark
Felix Geisendörfer fez uma referência em PHP, que foi super-fácil para portar para MongoDB. Seu benchmark diz respeito à inserção dos dados, e não sobre consultas e atualizações.
Comparando seus resultados para CouchDB com o meu para MongoDB (tempo em ms):
O uso de mobile commerce, ou m-commerce, vem aumentando a passos largos. Enquanto alguns ainda discutem se a tecnologia é sucessora legítima do e-commerce ou se ambos se complementam, mais e mais pessoas vêm experimentando as facilidades de incluir os aparelhos celulares em suas transações comerciais e criando novas oportunidades de negócios.
Pagamentos via telefonia móvel vêm sendo viabilizados com segurança. Tanto o sistema financeiro como as operadoras estão num estágio interessante de desenvolvimento em relação ao amplo uso da tecnologia. O dinheiro, que já foi de metal, papel e plástico, passará a ser virtual em curto espaço de tempo. Toda transação será realizada via dispositivo móvel. Não só isso, a partir do aparelho celular, será possível fazer todo tipo de transação: desde um financiamento bancário até a compra de tíquetes para o teatro. Nesse caso, bastaria aproximar o celular de uma célula de identificação instalada nas catracas.
Várias tecnologias disputam entre si para serem adotadas como padrão dos pagamentos físicos e virtuais. Afinal, o número de celulares em uso no Brasil é praticamente igual ao de sua população - quase 190 milhões. Com os dispositivos de segurança em fase de aperfeiçoamento, pagar uma conta fazendo uso do aparelho celular oferece um nível igual ou superior de segurança nas transações bancárias via internet.
Criptografados, os dados pessoais do usuário podem ser acessados somente se o cliente digitar sua senha - semelhante ao cartão de débito. Basta aproximar o celular a um leitor habilitado (POS), conectado a um terminal. As informações são transmitidas pelo telefone através de uma antena de curto alcance e a informação de pagamento é processada rápida e seguramente.
A popularização do mobile commerce dependerá das vantagens competitivas, principalmente em termos de custo e praticidade. Outro detalhe importante e que previne problemas é o estabelecimento de um teto para algumas transações comerciais em tempo real. Para compras acima do valor estipulado, a operação não seria mais semelhante ao débito automático, e sim ao cartão de crédito tradicional.
As redes 3G já são consideradas um divisor de águas. E as 4G devem chegar ao Brasil em 2012. Hoje, as 3G representam apenas 1% da base instalada. Trata-se de um grande passo da tecnologia móvel, com três modos opcionais: o W-CDMA (wireless code division multiple access), muito usado na Europa e em alguns países asiáticos; o CDMA (code division multiple access), adotado na América do Norte; e o TDD/CDMA (time division duplex/CDMA), utilizado na China.
No Brasil, ainda não há muitas definições sobre o modo a ser adotado como padrão. Muitos avanços vêm sendo realizados em termos de protocolos, padrões, infraestrutura e aceitação do conceito m-commerce. Mas são as limitações relacionadas a memória, bateria e segurança que ainda exigem mais atenção.
A Ars Technica realizou testes com o Android 2.2 e com o iOS 4 e, em relação ao desempenho do JavaScript, o sistema operacional do Google saiu-se bem melhor.
Uma JIT de alta performance foi introduzida no tempo de execução do Dalvik do Android, o que deu ao browser significativas otimizações.
Ao testar o Android 2.2, de codinome Froyo, no Nexus One, a Ars Technica concluiu que houve melhorias na performance de execução do JavaScript. As medidas foram feitas nos benchmarks SunSpider e V8 e, em ambos, o sistema operacional se mostrou três vezes mais rápido que a versão anterior.
Diante desses resultados, o site resolveu compará-los com o iOS 4 no novo iPhone. Os resultados mostraram que o dispositivo com Android (um Nexus One) executa JavaScript em uma velocidade significativamente maior que o iPhone 4. No benchmark V8, a velocidade do Android foi mais de três vezes maior que a do iOS 4; no SunSpider, ela foi quase duas vezes maior.
A Symbian lançou ontem o Product Development Kit (PDK) 3.0, voltado para desenvolvedores de dispositivos móveis. O kit inclui todo o código-fonte e binários necessários para gerar o novo sistema S^3 e rodá-lo no emulador da plataforma.
O PDK 3.0 é a primeira versão do Symbian distribuída inteiramente sob código aberto. Ele inclui um novo tema com ícones sutis e oferece múltiplas e personalizáveis páginas iniciais. Além disso, ela traz suporte a HDMI e a gráficos de hardware acelerado. A interface gráfica do usuário foi feita para ser utilizada com poucos cliques.
Assim como outros sistemas operacionais móveis, o S^3 seleciona uma conexão de internet automaticamente, dando preferência ao Wi-Fi.
O PDK está disponível em arquivos ZIP e uma ferramenta Python é oferecida para auxiliar no download. Não há informações sobre o Development Kit funcionar em outros sistemas operacionais além do Windows.
Hoje em dia torna-se difícil conseguir acompanhar todas as evoluções tecnológicas. Mesmo reduzindo o espaço de procura a apenas temas relacionados com a nossa área - suponhamos Java e ciência da computação - as novas frameworks, ferramentas, papers e notícias obrigam a atenção contínua. Eu pessoalmente tenho cada vez mais dificuldade em reservar tempo para ler as feeds RSS ou tentar ler o que as várias pessoas que sigo partilham no Twitter.
No entanto, também são necessários os conceitos base. Fora o ensino superior e certificações, livros são um recurso essencial que me parecem que, hoje em dia, muita gente despreza. E estou falando daqueles em papel, não dos pdfs que se baixam da net.
Foi com esta ideia que decidi juntar uma lista de 10 livros que considero essenciais para um programador Java - i.e. que contêm a matéria mínima que gostava de ver nos membros das minhas equipes de desenvolvimento. Alguns destes podem ser substituídos por outros, pois trata-se de escolhas pessoais, mas os temas e áreas abrangidos penso serem extensivos. Lembro que é uma lista de livros técnicos, não se focando no desenvolvimento das chamadas "soft skills". Fica a lista:
Escrito pelos criadores da linguagem, serve tanto como livro de introdução a Java como também de excelente referência para manter por perto. Cobre desde as áreas básicas da linguagem até I/O, threading e acima de tudo as collections, para as quais é muito útil como referência.
Escrito pelo Joshua Bloch, Effective Java é provavelmente o melhor livro sobre Java que já li. Está organizado em 78 itens e cada um é uma boa prática, por exemplo, "Preferir composição no lugar de herança", "Evitar Finalizers" ou "Preferir anotações a padrões de nomenclaturas". Em cada um destes pontos, o autor discute os diversos ângulos da questão aprofundadamente e com justificações que demonstram um conhecimento extremo da plataforma. Além disso, o estilo de escrita é facílimo de ler. Eu demorei duas noites a ler o livro todo.
"Concorrência é difícil", é uma das mensagens principais deste livro. O autor do livro, Brian Goetz, parte deste princípio para demonstrar como evitar as principais falhas quando se desenvolve software concorrente em Java. Os bons e maus exemplos são demonstrados facilmente com snipplets de código com smileys negativos e positivos, o que ajuda a memorizar os padrões. Além de explicar os principais problemas de concorrência - live locks, dead locks, race conditions etc. - são explicadas detalhadamente as novas estruturas de dados para suporte à concorrência introduzidas no Java 5 e 6. Depois de ler este livro estou usando estas estruturas mais e mais vezes, e também construindo em cima delas conforme vou compreendendo como funcionam internamente.
Sim, coloquei aqui um livro de matemática! Todos estudamos matemática, mas por vezes a dificuldade reside em encontrar aplicações para o que aprendemos. Este livro ensina conceitos matemáticos que são facilmente mapeados para problemas informáticos com os quais nos encontramos no dia-a-dia. Também são conceitos que nos ajudam a perceber melhor os diferentes algoritmos.
Este não foi o primeiro livro de algoritmos que comprei nem é considerado o "standard". O primeiro que comprei - e que, sinceramente, nunca consegui ler todo - foi o Introduction to Algorithms. Além de grosso, tem uma abordagem extremamente acadêmica e formal. Por outro lado, este, The Algorithm Design Manual, é bastante acessível e completo. Os exemplos não estão escritos em Java mas vale pela quantidade e pela forma como são explanados os algoritmos. Cobre a maioria das áreas esperadas num livro para iniciantes/intermediários: estruturas de dados, algoritmos de pesquisa, grafos, programação dinâmica, combinatória, geometria, conjuntos e outras áreas.
Decidi incluir um outro livro de algoritmos, desta vez em Java. Escrito pelo Robert Sedgewick, que já tinha escrito a mesma versão do livro para C++ no início dos anos 90, o livro serve de excelente fonte de referência para se ter no local de trabalho e consultar rapidamente quando necessário. Está dividido em cinco partes, separadas ao longo de dois volumes - Fundamentos, Estruturas de Dados, Ordenação e Pesquisa, no primeiro volume; e Grafos, no segundo volume.
Conhecimento sobre design patterns - especificamente GoF neste caso, mas também hoje em dia padrões de arquitetura ou mesmo os Core J2EE patterns da Sun - é essencial para o profissional que trabalhe em linguagens orientadas a objetos. Isto pode ser provado tipicamente na entrevista de emprego, já que no mínimo uma perguntinha de padrões é sempre feita (dica: se te perguntarem para dizerem um padrão de desenho que conheçam, NÃO respondam Singleton!).
Tal como o já citado Effective Java está para o Java, este livros está para a profissão de desenvolvimento de software. Os autores tentam cobrir as áreas que apenas se aprendem com a experiência profissional como um conjunto de boas práticas a seguir. Tanto para profissionais com pouca experiência - que vão aprender algumas boas dicas - como para profissionais com extensiva experiência - que vão rever no livro muita coisa pela qual passaram, mas agora organizada e esquematizada -, este livro prova-se uma leitura útil e bastante agradável.
Refactoring, refactoring, refactoring! Atualmente, a grande maioria dos profissionais sabe o que é refactoring, mesmo que não o pratiquem tanto assim. Mas é extremamente estranho como um conceito tão simples não tinha sido esquematizado corretamente antes deste livro. Pode-se pensar que não é necessário ler um livro sobre refactoring, pois na prática temos IDEs que nos ajudam a fazer grande parte do trabalho. Mas quando se olha para o projeto numa perspectiva macro, o refactoring não é assim tão simples. Este livro ajuda a reprogramar a nossa cabeça para estar constantemente em modo refactoring.
Embora o título o possa fazer entender, este livro não é exclusivamente sobre metodologias ágeis. A verdade é que conjuga a enumeração de múltiplas metodologias ágeis com princípios de desenvolvimento de software como orientação a objectos e UML. Ao contrário de outros livros sobre metodologias ágeis, o autor - que é um dos signatários iniciais do Agile Manifesto - não tenta puxar por nenhuma metodologia, embora fale mais de eXtreme Programming - TDD, refactoring, pair programming. É esta perspectiva integrada de agile + tecnologia que torna este livro num recurso essencial.
11 - Bônus - livro de Python/Ruby/Haskell/Scala/Groovy/Clojure ou outra linguagem
Esta lista é focada em Java e, exatamente por causa disso, aconselho a se aprender pelo menos uma outra linguagem, esteja esta disponível para a JVM ou não. Aprender linguagens novas faz que sejamos melhores programadores. Especialmente agora com o renascimento de linguagens funcionais, também pode vir a ser uma vantagem profissional.
Certamente esqueci-me de outros livros importantes, mas estes são aqueles que considero poderem contribuir muito para a qualidade que um profissional pode vir a atingir. Aceito recomendações para outros livros!
A gestão de uma empresa ou negócio é fundamental para seu sucesso e, para isso, uma boa ferramenta de automação ajuda muito. Manter atualizado o cadastro de clientes, o estoque, as contas a pagar e receber pode melhorar os resultados alcançados. Até aí nenhuma novidade. O problema é que nem todos os empresários têm condições financeiras de adquirir um aplicativo de automação comercial e muito menos pagar a licença de uso do Sistema Operacional a ser instalado em cada computador. Então o que fazer?
Uma saída é utilizar aplicativos livres. Neste artigo vamos conhecer uma opção para quem procura uma ferramenta pronta ou um conjunto de funções, distribuídas através da licença livre, para serem incluídas em sistemas de automação comercial.
O aplicativo Stoq - Gestão Comercial Open Source é formado por utilitários de controle de vendas, acompanhamento de clientes (CRM - Customer relationship management), gestão de compras e estoque, apuração de impostos, impressão fiscal via ECF e impressão de cheques.
Esse aplicativo apresenta uma navegação fácil e suas funções são divididas em módulos. O Stoq possui suporte para vale compras, faz o acompanhamento das comissões pagas as administradoras de cartão de crédito, controla os pagamentos feitos por empresas de crediário e é compatível com várias impressoras fiscais, balanças e leitoras de códigos de barra. Tudo isso pode ser utilizado em um ambiente com uma ou várias lojas.
Para quem está desenvolvendo seu próprio aplicativo de automação comercial já deve ter se deparado com a dificuldade de fazer o controle da grande variedade de equipamentos encontrados nos Pontos de Venda como Impressoras Fiscais, Gavetas de Dinheiro, Impressoras de Cheque, Bombas de Combustível, Display de Mensagens entre outros. Em geral, cada fabricante deixa disponível um conjunto de funções (DLLs) para controlar esses equipamentos mas a diversidade de modelos e marcas acaba por dificultar o desenvolvimento e a manutenção dos aplicativos.
Para resolver esse problema, um grupo de programadores desenvolveu o ACBR, um conjunto de componentes livres para a linguagem Delphi, que permite o acesso direto a esses equipamentos, sem DLL's, tanto em Windows como GNU/Linux.
Agora você já pode manter o controle da sua empresa sem precisar pagar licenças caras. Lembre-se de que a implantação de uma solução de automação comercial requer conhecimento na área. Assim, não se esqueça do acompanhamento de profissionais especializados.