Posts de March, 2009

[Rafael Biriba] Portable Apps: Aplicativos portáteis para Windows

Tuesday, March 31st, 2009
Portable Apps: http://portableapps.com/

Portable Apps: http://portableapps.com/

O Portable Apps é um programa que pode ser carregado com você em dispositivos portáteis. Os dados dos aplicativos são armazenados 100% em seu dispositivo portátil, sendo assim, totamente seguro e inclusive recomendado de se fazer em computadores públicos. Quando o dispositovo é removido, nada é deixado para trás.

A variedade de aplicativos no site, é incrível, desde navegadores, leitores de emails, a jogos e aplicativos como player de áudio e vídeo.

Abaixo segue uma lista bem resumida dos aplicativos que podem ser encontrados, e que eu considero mais importante ou útil:
( Lista completa em: http://portableapps.com/apps )

Notepad++ Portable - Ótimo editor de texto, com opções bem mais completas do que o notepad do windows.

aMSN Portable - Aplicativo similar ao MSN, muito bom e muito conhecido para os usuários linux.

Pidgin Portable - Um outro tradicional aplicativo de conversa instantânea, MSN, Yahoo dentre outros.

OpenOffice.org Portable - Pacote de aplicativos de escritório similar ao OFFICE ( editor de texto, planilhas e apresentações )  no seu pendrive. Precisa dizer mais alguma coisa ?

ClamWin Portable - Antivirus portátil para todas as ocasiões

Mozilla Firefox, Portable Edition - Um dos mais utilizados navegadores disponível em versão portátil. Em particular eu acho este aplicativo o melhor de todos. Por ser portátil você pode adicionar qualquer complemento disponível no site ao navegador, pode inclusive salvar suas senhas e páginas favoritas, instalar plugins como flash, enfim customizar completamente o navegador, e quando terminar de usar, basta apenas remover seu dispositivo.

On-Screen Keyboard Portable - Para os que não se sentem seguro para utilizar teclados de computadores públicos, por causa de keyllogers e etc.., este teclado virtual pode lhe fornecer alguma segurança.

Existem muitos outros aplicativos disponíveis no site: http://portableapps.com/

Entre e confira ! =)

[Rafael Biriba] Portable Apps: Aplicativos portáteis para Windows

Tuesday, March 31st, 2009
Portable Apps: http://portableapps.com/

Portable Apps: http://portableapps.com/

O Portable Apps é um programa que pode ser carregado com você em dispositivos portáteis. Os dados dos aplicativos são armazenados 100% em seu dispositivo portátil, sendo assim, totamente seguro e inclusive recomendado de se fazer em computadores públicos. Quando o dispositovo é removido, nada é deixado para trás.

A variedade de aplicativos no site, é incrível, desde navegadores, leitores de emails, a jogos e aplicativos como player de áudio e vídeo.

Abaixo segue uma lista bem resumida dos aplicativos que podem ser encontrados, e que eu considero mais importante ou útil:
( Lista completa em: http://portableapps.com/apps )

Notepad++ Portable - Ótimo editor de texto, com opções bem mais completas do que o notepad do windows.

aMSN Portable - Aplicativo similar ao MSN, muito bom e muito conhecido para os usuários linux.

Pidgin Portable - Um outro tradicional aplicativo de conversa instantânea, MSN, Yahoo dentre outros.

OpenOffice.org Portable - Pacote de aplicativos de escritório similar ao OFFICE ( editor de texto, planilhas e apresentações )  no seu pendrive. Precisa dizer mais alguma coisa ?

ClamWin Portable - Antivirus portátil para todas as ocasiões

Mozilla Firefox, Portable Edition - Um dos mais utilizados navegadores disponível em versão portátil. Em particular eu acho este aplicativo o melhor de todos. Por ser portátil você pode adicionar qualquer complemento disponível no site ao navegador, pode inclusive salvar suas senhas e páginas favoritas, instalar plugins como flash, enfim customizar completamente o navegador, e quando terminar de usar, basta apenas remover seu dispositivo.

On-Screen Keyboard Portable - Para os que não se sentem seguro para utilizar teclados de computadores públicos, por causa de keyllogers e etc.., este teclado virtual pode lhe fornecer alguma segurança.

Existem muitos outros aplicativos disponíveis no site: http://portableapps.com/

Entre e confira ! =)

[Cainã Nunes] Todo Mundo, Alguém, Qualquer Um e Ninguém.

Monday, March 30th, 2009

Esta é uma história sobre quatro pessoas: Todo Mundo, Alguém, Qualquer Um e Ninguém.

Havia um grande trabalho a ser feito e Todo mundo tinha certeza de que Alguém o faria.

Qualquer Um poderia tê-lo feito, mas Ninguém o fez.

Alguém se zangou porque era um trabalho de Todo Mundo.

Todo Mundo pensou que Qualquer Um poderia fazê-lo, mas Ninguém imaginou que Todo Mundo deixasse de fazê-lo.

Ao final, Todo Mundo culpou Alguém quando Ninguém fez o que Qualquer Um poderia ter feito.

Autor: desconhecido

[Rodolfo Carvalho] Como falar muito sem dizer nada

Sunday, March 29th, 2009

Essa semana um professor nos enviou um documento bem humorado dizendo como se comportar em reuniões / apresentações.
Trata-se de uma tabela em que você pode formar frases sintaticamente corretas, porém sem nenhum conteúdo, bastando pegar um trecho de cada coluna.

Coluna 1 Coluna 2 Coluna 3 Coluna 4
Caros colegas, a execução deste projeto nos obriga à análise das nossas opções de desenvolvimento futuro.
Por outro lado, a complexidade dos estudos efetuados cumpre um papel essencial na formulação das nossas metas financeiras e administrativas.
Não podemos esquecer que a atual estrutura de organização auxilia a preparação e a estruturação das atitudes e das atribuições da diretoria.
Do mesmo modo, o novo modelo estrutural aqui preconizado contribui para a correta determinação das novas proposições.
A prática mostra que o desenvolvimento de formas distintas de atuação assume importantes posições na definição das opções básicas para o sucesso do programa.
Nunca é demais insistir que a constante divulgação das informações facilita a definição do nosso sistema de formação de quadros.
A experiência mostra que a consolidação das estruturas prejudica a percepção da importância das condições apropriadas para os negócios.
É fundamental ressaltar que a análise dos diversos resultados oferece uma boa oportunidade de verificação dos índices pretendidos.
O incentivo ao avanço tecnológico, assim como o início do programa de formação de atitudes acarreta um processo de reformulação das formas de ação.
Assim mesmo, a expansão de nossa atividade exige precisão e definição dos conceitos de participação geral.

Então resolvi fazer um rápido script Python para formar frases pra mim, algo como “Quote-of-the-day”.

# -*- coding: utf-8 -*-
# phrases.py
from random import choice
from textwrap import dedent

try:
    from itertools import product
except ImportError:
    # http://docs.python.org/library/itertools.html#itertools.product
    def product(*args, **kwds):
        # product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy
        # product(range(2), repeat=3) --> 000 001 010 011 100 101 110 111
        pools = map(tuple, args) * kwds.get('repeat', 1)
        result = [[]]
        for pool in pools:
            result = [x+[y] for x in result for y in pool]
        for prod in result:
            yield tuple(prod)

_COLUNAS_ = [[u"Caros colegas,",
              u"Por outro lado,",
              u"Não podemos esquecer que",
              u"Do mesmo modo,",
              u"A prática mostra que",
              u"Nunca é demais insistir que",
              u"A experiência mostra que",
              u"É fundamental ressaltar que",
              u"O incentivo ao avanço tecnológico, assim como",
              u"Assim mesmo,"],
             [u"a execução deste projeto",
              u"a complexidade dos estudos efetuados",
              u"a atual estrutura de organização",
              u"o novo modelo estrutural aqui preconizado",
              u"o desenvolvimento de formas distintas de atuação",
              u"a constante divulgação das informações",
              u"a consolidação das estruturas",
              u"a análise dos diversos resultados",
              u"o início do programa de formação de atitudes",
              u"a expansão de nossa atividade"],
             [u"nos obriga à análise",
              u"cumpre um papel essencial na formulação",
              u"auxilia a preparação e a estruturação",
              u"contribui para a correta determinação",
              u"assume importantes posições na definição",
              u"facilita a definição",
              u"prejudica a percepção da importância",
              u"oferece uma boa oportunidade de verificação",
              u"acarreta um processo de reformulação",
              u"exige precisão e definição"],
             [u"das nossas opções de desenvolvimento futuro.",
              u"das nossas metas financeiras e administrativas.",
              u"das atitudes e das atribuições da diretoria.",
              u"das novas proposições.",
              u"das opções básicas para o sucesso do programa.",
              u"do nosso sistema de formação de quadros.",
              u"das condições apropriadas para os negócios.",
              u"dos índices pretendidos.",
              u"das formas de ação.",
              u"dos conceitos de participação geral."]]

frases_vazias = list(product(*_COLUNAS_))
print dedent('''\
                De %d frases vazias, escolhi:
                "%s"''') % (len(frases_vazias), ' '.join(choice(frases_vazias)))

##for frase in product(*_COLUNAS_):
##    print ' '.join(frase)

[Felipe Santiago] Paperclip Rails

Sunday, March 29th, 2009

Mais um post sobre Rails e dessa vez darei uma dica para usuários de MAC que estão apanhando para rodar o Paperclip e perceberam que o redimensionamento de imagem não funcionava. Entretanto, antes de começar, você pode ler um pouco mais sobre esta gem no blog Nome do Jogo, que fez um pequeno tutorial sobre  como usar o Paperclip. Se preferir em inglês, você poderá acompanhar o post do Jim Neath.

Continuando, é importante saber que o Paperclip utiliza a biblioteca de tratamento de imagens ImageMagick. Você poderá instalar utilizando o DarwinPorts.

Então vamos a dica. No MAC OS X, o Paperclip não encontra automaticamente o path do executável do ImageMagick que realiza os redimensionamentos. Para isso, realize as configurações que são descritas no post do Ricardo Shiota. Já para UBUNTU, é um pouco mais fácil a instalação. Apenas instale o ImageMagick utilizando apt e aproveite.

[Felipe Santiago] Paperclip Rails

Sunday, March 29th, 2009

Mais um post sobre Rails e dessa vez darei uma dica para usuários de MAC que estão apanhando para rodar o Paperclip e perceberam que o redimensionamento de imagem não funcionava. Entretanto, antes de começar, você pode ler um pouco mais sobre esta gem no blog Nome do Jogo, que fez um pequeno tutorial sobre  como usar o Paperclip. Se preferir em inglês, você poderá acompanhar o post do Jim Neath.

Continuando, é importante saber que o Paperclip utiliza a biblioteca de tratamento de imagens ImageMagick. Você poderá instalar utilizando o DarwinPorts.

Então vamos a dica. No MAC OS X, o Paperclip não encontra automaticamente o path do executável do ImageMagick que realiza os redimensionamentos. Para isso, realize as configurações que são descritas no post do Ricardo Shiota. Já para UBUNTU, é um pouco mais fácil a instalação. Apenas instale o ImageMagick utilizando apt e aproveite.

[Igor Macaubas] 4o Encontro – Scrum UG Recife

Tuesday, March 24th, 2009

Na próxima quarta-feira, dia 25/03/2009, iremos realizar o quarto encontro do Scrum user-group de Recife.

Fundada em outubro/2008, a comunidade completa 5 meses de vida com o acontecimento do seu 4o encontro, onde serão discutidos os rumos de um evento importantíssimo que acontecerá aqui em Recife no mês de Abril: o Recife Scrum Day.

Além disso, também teremos um workshop com a apresentação de um caso de sucesso de Scrum, e também conversaremos sobre o Scrum Gathering Brasil, que acontecerá em Maio em São Paulo.

Contamos com a presença em peso da comunidade!

Para mais detalhes, clique aqui e veja o post sobre o evento no site oficial da comunidade.

[Rafael Biriba] Google Docs: Eficiência garantida

Tuesday, March 24th, 2009
Google Docs: http://docs.google.com/

Google Docs: http://docs.google.com/

Para os que ainda não conhecem a ferramenta, Google Docs é um pacote de aplicativos de escritório ( processador de texto, editor de planilhas, apresentações, etc…) que rodam diretamente do navegador.

Apesar de conhecer a ferramenta, dificilmente eu a utilizava. Pelo menos o até mês passado. Quando meu amigo Nilton Gonçalves Jr. sugeriu uma idéia bastante funcional.

Atualmente utilizamos a ferramente diariamente na faculdade ( Adeus a cadernos e fichários ). Chega de ficar pedindo folhas de matéria emprestada, quando você perde algum conteúdo. Mas especificamente o que nós fazemos é: Criar um documento novo, e copiar qualquer conteúdo da aula, dentro do documento do Google Docs. A parte legal disso, é que este documento por ser compartilhado com quantas pessoas quiserem, basta possuir uma conta google.

Um recursos que está frequentemente sendo utilizado é a edição simultânea de documentos. Quando compartilho o documento com o Nilton, cada um pode copiar um pedaço da aula. Sendo assim, enquanto um presta atenção o outro está copiando, e assim por diante. O recurso é bastante prático, sem nenhuma margem de erro na hora de sincronizar os documentos que estão abertos em paralelo. É bem frequente um ajeitar o erro do outro nos parágrafos acima. Ou seja, enquanto um está digitando um paragrafo, o outro está também verificando o conteúdo digitado nos paragrafos acima.

A ideia não para por ai não, também é possível adicionar não só colaboradores, mas também leitores dos arquivos. Isso significa que podemos liberar acesso de leitura dos documentos para os outros colegas da sala, ou então enviar o documento anexado num email de forma rápida.

Com Google Gear, é possível você editar seus documento offline, sendo assim, não precisa estar na internet para poder estudar e editar os documento. E ao entrar efetuar o login no Google Docs, os documentos são automaticamente sincronizados.

Existem pequenas dificuldades que são encontradas pelo caminho, primeiro, nas aulas em que tenha que fazer algum pequeno diagrama. Evidentemente que nenhum editor de texto possui um editor de imagens integrado, mas bem que seria uma solução ideal. Para isso usamos o editor de imagem da máquina local. Como na faculdade é Windows, fazemos os pequenos diagramas no  PAINT ( não é muito profissional, mas quebra um galho ), e depois efetuamos o upload para o documento em edição, e o Google Docs anexa ao documento.

Uma solução WEB recém encontrada para o problemas das imagens está em: http://canvaspaint.org/, um editor de imagens online, muito similar ao PAINT que ao final é possível fazer o download da imagem, e depois fazer o upload para o documento no DOCs.

Um outro problema identificado no aplicativo, foi a falta de controle no compartilhamento de arquivos, pois qualquer pessoa com uma conta google pode criar e compartilhar um documento com qualquer outro usuário google. Isso significa que você pode ser marcado como contribuinte ou leitor de um documento desconhecido. Poderia pelo menos ser implementado um sistema para pode filtrar os arquivos compatilhados. Uma forma de selecionar ou melhor dizendo, de aceitar o compartilhamento ou não. Mesmo deletando os arquivos indesejáveis, nada impede que ele seja compartilhado novamente.

Através de tudo que eu disse aqui, muitos levantaram a seguinte pergunta: Qual o limite de armazenamento do Google Docs ?

Com algumas pesquisas, descobri que não está ligado com o espaço do Gmail. E sim com a quantidade de arquivos.

De acordo com o link: http://docs.google.com/support/bin/answer.py?answer=37603&topic=15119

Documentos

  • Cada documento pode ter até 500KB, aumentoado de 2MB para cada imagem no documento.
  • Os seguintes formatos são suportados:
    • HTML
    • Texto Simples (.txt)
    • Microsoft Word
    • .rtf
    • Open Office (.odt)
  • Você pode ter uma combinação de 5000 documentos e apresentações e 5000 imagens

Planilhas

  • Cada planilha pode ter até 256 colunas ou até 200.000 celulas ou até 100 tabelas– Vale o limite que for alcançado primeiro. Não há limites para numero de linhas.
  • Cada planilha pode ter até 20,000 celulas com fórmulas. Com esse total, os limites são aplicados à:
    • Até 1,000 GoogleFinance formulas
    • Até 1,000 GoogleLookup formulas
    • Até 50 formulas importadas
  • Você tem o limite de 1000 planilhas. A Planilha que está compartilhada com você não conta neste limite.
  • O limite de planilhas abertas ao mesmo tempo é 11.
  • Você pode importar planilhas de até 1 Mb nos formatos xls, xlsx, csv, or ods, txt, tsv, tsb.

Apresentações

  • Apresentações nos formatos .ppt e .pps podem ser enviados com até 10MB.
  • Via URL, você pode fazer o upload de apresentações da WEB de até 2MB.
  • Por email, a apresentação enviada por ter até 500KB.
  • Você pode ter uma combinação de 5000 documentos e apresentações e 5000 imagens

PDF:

  • Você pode armazenar até 10MB por PDF enviado e 2MB para PDFs que já estão na WEB, com o limite de até 100 PDFs.

Bom, espero que a idéia tenha sido útil para alguém… Se você já faz, ou vai passar a fazer o mesmo que nós, deixe um comentário… =)

[Rafael Biriba] Google Docs: Eficiência garantida

Tuesday, March 24th, 2009
Google Docs: http://docs.google.com/

Google Docs: http://docs.google.com/

Para os que ainda não conhecem a ferramenta, Google Docs é um pacote de aplicativos de escritório ( processador de texto, editor de planilhas, apresentações, etc…) que rodam diretamente do navegador.

Apesar de conhecer a ferramenta, dificilmente eu a utilizava. Pelo menos o até mês passado. Quando meu amigo Nilton Gonçalves Jr. sugeriu uma idéia bastante funcional.

Atualmente utilizamos a ferramente diariamente na faculdade ( Adeus a cadernos e fichários ). Chega de ficar pedindo folhas de matéria emprestada, quando você perde algum conteúdo. Mas especificamente o que nós fazemos é: Criar um documento novo, e copiar qualquer conteúdo da aula, dentro do documento do Google Docs. A parte legal disso, é que este documento por ser compartilhado com quantas pessoas quiserem, basta possuir uma conta google.

Um recursos que está frequentemente sendo utilizado é a edição simultânea de documentos. Quando compartilho o documento com o Nilton, cada um pode copiar um pedaço da aula. Sendo assim, enquanto um presta atenção o outro está copiando, e assim por diante. O recurso é bastante prático, sem nenhuma margem de erro na hora de sincronizar os documentos que estão abertos em paralelo. É bem frequente um ajeitar o erro do outro nos parágrafos acima. Ou seja, enquanto um está digitando um paragrafo, o outro está também verificando o conteúdo digitado nos paragrafos acima.

A ideia não para por ai não, também é possível adicionar não só colaboradores, mas também leitores dos arquivos. Isso significa que podemos liberar acesso de leitura dos documentos para os outros colegas da sala, ou então enviar o documento anexado num email de forma rápida.

Com Google Gear, é possível você editar seus documento offline, sendo assim, não precisa estar na internet para poder estudar e editar os documento. E ao entrar efetuar o login no Google Docs, os documentos são automaticamente sincronizados.

Existem pequenas dificuldades que são encontradas pelo caminho, primeiro, nas aulas em que tenha que fazer algum pequeno diagrama. Evidentemente que nenhum editor de texto possui um editor de imagens integrado, mas bem que seria uma solução ideal. Para isso usamos o editor de imagem da máquina local. Como na faculdade é Windows, fazemos os pequenos diagramas no  PAINT ( não é muito profissional, mas quebra um galho ), e depois efetuamos o upload para o documento em edição, e o Google Docs anexa ao documento.

Uma solução WEB recém encontrada para o problemas das imagens está em: http://canvaspaint.org/, um editor de imagens online, muito similar ao PAINT que ao final é possível fazer o download da imagem, e depois fazer o upload para o documento no DOCs.

Um outro problema identificado no aplicativo, foi a falta de controle no compartilhamento de arquivos, pois qualquer pessoa com uma conta google pode criar e compartilhar um documento com qualquer outro usuário google. Isso significa que você pode ser marcado como contribuinte ou leitor de um documento desconhecido. Poderia pelo menos ser implementado um sistema para pode filtrar os arquivos compatilhados. Uma forma de selecionar ou melhor dizendo, de aceitar o compartilhamento ou não. Mesmo deletando os arquivos indesejáveis, nada impede que ele seja compartilhado novamente.

Através de tudo que eu disse aqui, muitos levantaram a seguinte pergunta: Qual o limite de armazenamento do Google Docs ?

Com algumas pesquisas, descobri que não está ligado com o espaço do Gmail. E sim com a quantidade de arquivos.

De acordo com o link: http://docs.google.com/support/bin/answer.py?answer=37603&topic=15119

Documentos

  • Cada documento pode ter até 500KB, aumentoado de 2MB para cada imagem no documento.
  • Os seguintes formatos são suportados:
    • HTML
    • Texto Simples (.txt)
    • Microsoft Word
    • .rtf
    • Open Office (.odt)
  • Você pode ter uma combinação de 5000 documentos e apresentações e 5000 imagens

Planilhas

  • Cada planilha pode ter até 256 colunas ou até 200.000 celulas ou até 100 tabelas– Vale o limite que for alcançado primeiro. Não há limites para numero de linhas.
  • Cada planilha pode ter até 20,000 celulas com fórmulas. Com esse total, os limites são aplicados à:
    • Até 1,000 GoogleFinance formulas
    • Até 1,000 GoogleLookup formulas
    • Até 50 formulas importadas
  • Você tem o limite de 1000 planilhas. A Planilha que está compartilhada com você não conta neste limite.
  • O limite de planilhas abertas ao mesmo tempo é 11.
  • Você pode importar planilhas de até 1 Mb nos formatos xls, xlsx, csv, or ods, txt, tsv, tsb.

Apresentações

  • Apresentações nos formatos .ppt e .pps podem ser enviados com até 10MB.
  • Via URL, você pode fazer o upload de apresentações da WEB de até 2MB.
  • Por email, a apresentação enviada por ter até 500KB.
  • Você pode ter uma combinação de 5000 documentos e apresentações e 5000 imagens

PDF:

  • Você pode armazenar até 10MB por PDF enviado e 2MB para PDFs que já estão na WEB, com o limite de até 100 PDFs.

Bom, espero que a idéia tenha sido útil para alguém… Se você já faz, ou vai passar a fazer o mesmo que nós, deixe um comentário… =)

[Guilherme Cirne] InfoFundos

Monday, March 23rd, 2009

Está no ar o InfoFundos, um site onde é possível acompanhar as rentabilidades de todos os fundos de investimento do mercado financeiro brasileiro. Mas este post não é sobre o site em si, e sim sobre o seu desenvolvimento.

O site é um projeto pessoal desenvolvido por mim com ruby e rails. O legal deste tipo de trabalho solo é a possibilidade de experimentar ideias, práticas, técnicas, etc.

Como não poderia deixar de ser, o desenvolvimento seguiu - e continua seguindo - os princípios e valores dos métodos ágeis. Ou seja, o site está sendo desenvolvido de forma incremental e evolutiva. A ideia é ir colhendo feedback para evoluir continuamente. Cada funcionalidade é desenvolvida da forma mais simples que poderia funcionar (simplest thing that could possibly work), com refactoring constante para deixar o código o mais limpo possível.

Uma técnica que pude usar desde o início e que ajuda a garantir a aplicação dos princípios e valores acima é o desenvolvimento outside-in sugerido pelo BDD. Cada funcionalidade é descrita por uma feature do cucumber guiada por selenium. Um passo dessa feature é escrito e, obviamente, ele falha. Então é preciso escrever apenas código suficiente para fazer este passo passar. Para isso, escrevo um spec com rspec e depois apenas o código necessário para este spec passar. Continuo assim sucessivamente, escrevendo specs e código, de fora para dentro, ou seja, das camadas mais externas até as mais internas, até que o passo esteja passando. Então, repito o ciclo continuando com o próximo passo até que toda a feature esteja passando. O ciclo completo seria algo mais ou menos assim:

feature > step > spec > implementação para spec passar > repete spec e implementação até step passar > repete step até feature passar

No final, tenho uma funcionalidade totalmente coberta por testes de aceitação com cucumber/selenium e com 100% de cobertura com rspec. Isso ajuda a garantir um código limpo, podendo ser refatorado e evoluído com bastante segurança.

Tenho diversas ideias de funcionalidades futuras para o InfoFundos e, certamente, qualquer assunto relacionado ao seu desenvolvimento será postado aqui.