sexta-feira, 28 de novembro de 2008

Santa Catarina precisa de você

Olá pessoal..

Não é hora de postar sobre Software Livre ou Tecnologia como um todo. Gostaria de dedicar este post ao cenário que estamos presenciando em Santa Catarina, ou melhor, NO BRASIL.

Em momentos como este pode parecer fácil dar às costas por não estar acontecendo em seu Estado, porém é em seu PAÍS. O seu país pede sua ajuda e você pode colaborar.

Segue um trexo de um post que achei de uma catarinese, sobre a visão dela em relação ao que anda acontecendo e sobre como a mídia está abordando o assunto.

Para quem não sabe, eu sou catarinense, mais precisamente de Blumenau. Para quem andou em Marte nos últimos dias e não viu a tragédia que se abalou sobre o nosso estado, não se preocupe, a mídia não está repassando todas as informações então você não está tão alienado quanto pensa.

O fato é seguinte: a situação não é apenas calamitosa, é desesperadora.

Eu vejo na televisão eles falarem “enchente”, “enchente”, “enchente”, o que aconteceu aqui não foi apenas uma enchente. As enchentes do Vale do Itajaí acontecem quando as chuvas enchem o Vale à partir dos munícipios de Taió e Rio do Sul. Então o sistema de contenção de cheias é ativado e as barragens localizadas nesses municipíos são fechadas, impedindo que a água venha toda de uma vez e inunde as cidades abaixo.

Desta vez não houve chuva em Taió e Rio do Sul. Foi apenas uma enorme chuva na região de Blumenau, Gaspar, Luis Alves e Rodeio. Tanta chuva (900 milímetros) que o rio não conseguiu dar vazão para as águas que desciam dos morros e encheu 11,9 metros.

Teria sido apenas uma enxurrada com enchente que afetaria algumas pessoas se não fosse um detalhe: chovia em SC desde agosto praticamente todos os dias. Quem me conhece sabe como eu reclamava disso e inclusive colocava nos posts aqui do LJ “Chuvamenau”.

Tanta chuva já tinha deixado o solo enxarcado. Aqui entra a questão geográfica que as televisões e grandes sites da internet não são capazes de compreender. Como o nome diz: Vale do Itajaí é um vale (ohhhh), ou seja, como um vale é cercado de morros por todos os lados (ohhhh) vide uma vista de Blumenau AQUI. Como se pode ver pela foto: há morros. Muitos morros. A cidade inteira é repleta de morros. Você necessariamente tem que passar de um morro a outro, e a outro, e a outro para chegar em algum lugar.

Acontece que com tanta chuva (desde agosto) estes morros estão caindo. Todos eles estão desabando, derretendo feito sorvete em dia de verão de 40ºC. Não há um morro sequer sem deslizamento de terras. A maioria destes morros NÃO sofreram ocupação irregular como a mídia diz. Claro que um e outro sofria desse mal, mas na maioria deles as casas estavam legalizadas, eram terrenos seguros.

Tenho conhecidos que perderam tudo. Simplesmente tudo. A casa virou gravetos no chão junto com toda a mobília e o terreno. Nem o terreno ficou.

Tem morros sendo completamente interditados porque possuem rachaduras do topo até a base, estão cortados ao meio. A cidade está de fato desabando sobre nossas cabeças. Tem pessoas isoladas devido as quedas de barreiras. Uma das quatro estações de tratamento de água da cidade está sobterrada e o número de mortos divulgados não é o verdadeiro, eles estão omitindo mortes para não aumentar o pânico que se instaurou na cidade.

A situação de fato é de pânico.

Principalmente porque não há previsão de que pare de chover.

Santa Catarina pede ajuda, mas nem sabe por onde começar, o que fazer se tudo começa a desabar ao seu redor? O que fazer quando você sai da sua rua e vê dezenas de famílias descendo um dos morros, carregando tudo o que podem para um abrigo porque a Defesa Civil simplesmente diz que “O local está totalmente condenado”. O que fazer quando as pessoas neste abrigo tem que sair de lá porque até o abrigo passou a estar condenado?

As lágrimas caem de pesar pela dor das pessoas que perderam tudo, pela dor das pessoas que perderam entes queridos e principalmente, pela dor das pessoas que não conseguem encontrar seus famíliares. Vinte mortos? Saber que uma mulher necessita enterrar seu próprio marido pois está isolada e o corpo apodrecendo ao seu lado.E eles dizem vinte mortos.

Dezenove desaparecidos? É o que dizem os números oficiais, mas uma hora ouvindo a rádio local com pessoas pedindo pelo amor de Deus por notícias de seus famíliares para você entender que não há apenas dezenove desaparecidos.

Os geólogos que chegaram do Rio de Janeiro dizem que simplesmente o solo do estado está se desmanchando e que nunca viram nada igual.

Por favor, alguém diga-nos onde encontrar esperança numa situação como esta.

O que fazer quando você vê que tudo está, de fato, caindo. As casas ao redor caindo, as casas de amigos caindo, a bela Beira-rio caindo, o shopping caindo.

Se alguém souber de onde tirar forças para reconstruir uma cidade neste estado, por favor, Santa Catarina agradece porque ninguém sabe o que fazer.

Você pode sim colaborar!
A Defesa Civil de Santa Catarina está recebendo doações em dinheiro para ajudar as pessoas atingidas pelas chuvas dos últimos dias no Estado. Nesta segunda-feira, foram abertas duas contas bancárias. Os interessados em contribuir com qualquer quantia podem depositar o valor no Banco do Brasil (BB), agência 3582-3, conta corrente 80.000-7; ou na conta corrente 80.000-0, agência 068-0, do Banco do Estado de Santa Catarina (Besc). O depósito deve ser creditado ao Fundo Estadual de Defesa Civil-Doações. O CNPJ da Defesa Civil é 04.426.883/0001-57. De acordo com a Defesa Civil, todo o dinheiro arrecadado será utilizado na compra de mantimentos para os atingidos pela enchente.

Segue link: http://www.clicrbs.com.br/diariocatarinense/jsp/default.jsp?uf=2&local=18&section=Geral&newsID=a2306293.xml

segunda-feira, 24 de novembro de 2008

The Zen of Python


É
isso mesmo...

Além de excelente linguagem de programação o Python ainda é Zen. Não acredita? Que tal conferir por si só as diretrizes Zen do Python?

Aproximadamente todas as distribuições Linux trazem um interpretador python instalado, portanto basta executá-lo com o seguinte comando:

$ python
Você receberá como resposta algo como o exemplo a seguir:
[kalib@tuxcaverna ~]$ python Python 2.6 (r26:66714, Oct 27 2008, 10:50:31) [GCC 4.3.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Agora execute o seguinte:
>>> import this
Como resultado você terá o Zen do Python, como pode ser visto abaixo:
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
Para sair do interpretador Python, pressionde as teclas Ctrl + D.

Abraços

quinta-feira, 20 de novembro de 2008

Porque Python?

Muitos me perguntam sobre as vantagens do Python e o porque de, dentre tantas linguagens de programação, eu optei por ter o python como minha paixão oficial. Para evitar dar várias respostas à diferentes pessoas, resolvi compilar aqui alguns dos motivos que encontrei e que em minhas pesquisas iniciais me motivaram a escolher o Python como minha linguagem favorita.

Comecemos então pelas origens do Python. A linguagem foi criada em 1989 pelo holandês Guido van Rossum em Amsterdã. Influenciada pela linguagem ABC, desenvolvida no CWI por Guido e outros nas décadas de 70 e 80. ABC tinha um foco bem definido: ser uma linguagem de programação para usuários inteligentes de computadores que não eram programadores: Físicos, Cientistas Sociais, dentre outros. O projeto de sistema operacional distribuído da época, o Amoeba, precisava de uma linguagem de script. Eis que surge então o Python, trazendo como sua base os seguintes aspectos:

  • Elementos que eram bem sucedidos no ABC.
  • Estruturas de dados poderosas inclusas: Listas, Dicionários, Strings, etc..
  • Usar indentação para delimitar blocos, eliminando chaves. (Eu adoro isso! :p)
  • Fácil extensão (lição aprendida com os erros do ABC)
  • Fácil de portar: além do Amoeba, também era desejado que ele rodasse em Unix, Macintosh e Windows.
  • Influências de Modula-2 e Modula-3: módulos e namespaces

Além destes aspectos o python teve alguns "favorecimentos" durante sua criação. Alguns detalhes que contribuíram para sua concepção de sucesso foram:

  • Universidade: pessoas altamente especializadas para desenvolver e opinar os elementos do projeto
  • Descontraído: o nome Python vem da séria de humor Monty Python's Flying Circus
  • Sem prazos, Sem pressão: o desenvolvimento não foi pressionado por estratégias de marketing, prazos, clientes ou qualquer outro fator que pudesse influenciar nas decisões de projeto, resultando em maior qualidade.
  • Software Livre: garante a vida da tecnologia

Dentre as características do Python que mais me chamaram à atenção, estão as seguintes:

  • Simplicidade: Python é uma linguagem muito simples.
  • Interpretada: usa máquina virtual, facilita portabilidade.
  • Interativa: pode-se programar interativamente, os comandos são executados enquanto digitados. Facilita testes, desenvolvimento ágil e outros.
  • Orientada a Objetos: Tudo é objeto. Incluindo herança múltipla, conceito apenas parcialmente presente em Java até então.
  • Exceções: Um moderno mecanismo para o tratamento de erros.
  • Coleta de lixo automática: Sistema que elimina os erros causados pelo acúmulo de dados inúteis na memória do computador.
  • Fortemente Tipada: Não existe casts e nem conversão automática. Não se mistura tipos "automagicamente". :p
  • Tipagem Dinâmica: A tipagem de um objeto é feita em tempo de execução. Um objeto tem tipo, uma variável não.
  • Portabilidade: Portável para diversas arquiteturas como: Unix, Linux, BSD, Macintosh, Solaris, Windows, OS/2, Amiga, AROS, AS/400, BeOS, QNX, Palm OS, VMS, Psion, Acom Risc OS, PlayStation, Sharp Zaurus, Windows CE, PocketPC, etc. Quer mais o que???
  • Extensível: Facilmente extensível caso deseje parte do seu código em C++ por exemplo por algum motivo.
  • Quer mais? o.O

E para os que se perguntam: Python é realmente utilizado por aí? Quem usa?

Vejamos....

No Brasil:

  • Embratel: monitoramento das interfaces de backbone e clientes de internet, também existem scripts de uso interno.
  • CPqD: monitoramento de centrais telefônicas.
  • Conectiva (Mandriva): Gerenciamento de pacotes da distribuição Linux e ferramentas de uso interno.
  • Async: desenvolvimento de software de automação comercial.
  • GPr Sistemas: Desenvolvimento de aplicações sob encomenda, sistemas como monitoramento de transporte terrestre via satélite são as soluções já feitas.
  • Outras que também utilizam Python para sistemas web, como: Varig, Serpro, Câmara, Interligis, etc.

E no mundo a fora:

  • Industrial Light & Magic: automação interna: "Sem o Python um projeto do tamanho do Star Wars: Epsódio II, seria muito difícil de sair pronto."
  • NASA: Repositório de CAD/CAE/PDM, gerência de modelos, integração e sistema colaborativo. "Nós escolhemos python porque nos proporciona uma máxima produtividade com código que é limpo e fácil de manter, sendo forte e extensível em bibliotecas, bem como excelente capacidades de integração com outras aplicações de qualquer plataforma."
  • Apple: Ferramenta padrão desde o MacOS X.
  • Microsoft: Investimento no Iron Python para a plataforma .NET.
  • Disney: Jogos e Sistemas internos de automação e criação do patrocínio PyQT.
  • Bank Boston: Sistema web usando Python e Zope.
  • Nokia: Sistema de programação para celulares da série 60, permite mais recursos que o Java.
  • Atari: Jogos, como "Temple of Elemental Evil".
  • Yahoo: Yahoo! Groups foi escrito inicialmente em puro python: 180.000 linhas de código cuidavam de tudo, tratando mais de 200 mensagens/segundo em um simples Pentium 400Mhz.
  • Nortel: Sistemas web "ChartWare", "WebBook" e "WebTrack" são exemplos.
  • Philips: Automação da linha de semicondutores na fábrica de Fishkill.
  • Lawrence Livermore Natinal Laboratories: Ambiente de engenharia numérica.
  • Red Hat: diversas ferramentas para linux, o instalador das distribuições Red Hat e Fedora (Anaconda).
  • Gentoo Linux: Sistema de gerência de pacotes "Portage".
  • Blender 3D: software pode ser estendido usando plugins python.
  • ArchLinux: O famoso Pacupdate que checa as atualizações de pacotes disponíveis.
  • GOOGLE: Este é o maior case quando o assunto é Python. O Google é grande adepto do Python e utiliza em várias de suas ferramentas como: Sistema de Ajuda do GMail, Google Groups, Sistema de Compilação de aplicativos, Sistema de empacotamento e entrega de dados, Sistema de monitoramento e manutenção do cluster, Sistema de testes, Análise de registros, Prototipação, etc. "Requisito para contratar profissionais Java: Saber Python! :-)" (É mole?!)


Em resumo, Python é uma linguagem para quem quer produzir com código limpo e de forma bem feita com boa produtividade.

Menos porcaria, maior produtividade, sem marketing envolvido nas decisões, digitando menos! Bem vindo ao Python!

Fontes: Wikipedia, Google e Gustavo Sverzut Barbieri (www.gustavobarbieri.com.br)

Abraços

quarta-feira, 12 de novembro de 2008

Ceará On Rails, aí vou eu...

O que é CearáOnRails?

O CearáOnRails é um evento solidário que tem como tema o desenvolvimento de sistemas web e pretende divulgar e popularizar a linguagem de desenvolvimento Ruby e o Framework Rails no estado do Ceará. Esta iniciativa contribuirá de modo relevante para promover o uso e a difusão das tecnologias entre pessoas, especialmente profissionais na área e afins, servindo como um veículo de integração, interação e colaboração. Tanto o ruby como o Rails vem mudando a forma de desenvolvimento padrão adotada pelas demais tecnologias.

A linguagem Ruby foi criada em 1993 no Japão pelo Yukihiro Matsumoto. Esta só se tornou popular após a primeira apresentação do Framework Rails em 2003 criado por David Heinemeir Hansson, a sua apresentação foi bastante polêmica e mudou a visão sobre a metodologia de desenvolvimento de software.

O nosso intuito é apresentar esta nova forma de desenvolver software e quanto ela é poderosa, rápida e produtiva. Com isso tentar mudar a visão atual de desenvolvimento de software na região, ou a implantação dessa nova tecnologia.

O ingresso será de 2kgs de alimentos não perecíveis por pessoa (exceto sal) em troca do acesso às palestras. Iremos doar os alimentos arrecadados para a ONG 2A(Acreditando e Aprendendo). O evento além de sua função social e integradora, também permite uma grande difusão da tecnologia e ainda oportuniza o network entre profissionais, estudantes, professores entre outros, que irão comparecer ao evento.

Realização do CearaOnRails

O evento será realizado no dia 14 de Novembro de 2008 das 19:00 às 22:30 horas. Na Faculdade Christus, Avenida Dom Luís, 911, Fortaleza-Ce, no 15º Andar, em Fortaleza-Ceará. A programação prévia estabelecida pela organização será a seguinte:

19:00-19:10 Abertura

19:10-19:40 Palestra 1

Palestrante: Tiago Bastos

Tema: Onde está o método?

Descrição: Uma introdução a recursos avançados da linguagem. Explicando como interceptar chamadas à métodos, monkey patching e avaliação de código. Mercado de trabalho.

19:40-20:40 Palestra 2

Palestrante: Nabucodonosor Coutinho

Tema: ORM On Rails

Descrição: A camada de persistência do ROR está realmente nos trilhos? A visão de um DBA sobre a camada de persistência do Rails. Analise dos padrões DAO e ActiveRecord. Análise das implementações ActiveRecord e iBatis para Ruby. Análise das implementações Rails ActiveRecord e Hibernate (java).

20:40-21:00 Coffee Break

21:00-22:00 Palestra 3

Palestrante: Fábio Akita

Tema: Desenvolvimento fora da Média com Ruby e Rails

Descrição: Porque é importante entender as novas tecnologias como Ruby e Rails e como elas agilizam seus projetos web.

segunda-feira, 10 de novembro de 2008

Arch Linux Schwag - Uma loja para o Arch Linux

Saudações galera..

Neste post eu deixo a dica de uma loja online na qual você pode encontrar diversos produtos bacanas do Arch Linux. Produtos estes que vão desde camisetas até mesmo shapes de skates ou aventais (é mole?).

O comércio eletrônico vem crescendo a cada dia e ganhando cada vez mais adeptos por sua confiabilidade, agilidade e eficiência, isto tudo sem mencionar o conforto de navegar em shoppings e lojas sem sair de sua cadeira ou poltrona favorita. A comodidade em não perder horas de caminhada ou esperando em filas para atendimento tem atraído cada vez mais clientes para este tipo de comércio.

Eu sou um grande adepto de comércio eletrônico e pelo menos uma vez por mês faço algum tipo de compra online sendo os livros os responsáveis pela minha maior parcela destas compras via web.

Aproveito para deixar aqui o link para esta incrível loja com produtos do Arch Linux e de outras várias coisas que desejar. Apesar de ser uma loja gringa, vale a pena conferir.

Segue Link: http://www.zazzle.com/archlinux

Abraços

terça-feira, 4 de novembro de 2008

Java no Arch começa a ser mais LIVRE


S
audações pessoal,

Os usuários de Arch Linux, pelo menos alguns deles, talvez já saibam que o Sun Java Runtime Environment (JRE) e o Java Development Kit (JDK) tem passado muito tempo no repositório Extra esperando por algum amor extra. Entretanto, nenhum desenvolvedor se sentiu motivado à manter este pacote.

Por outro lado, não é novidade que já existe o pacote OPENJDK6, uma implementação open source da JRE e da JDK que funciona perfeitamente bem.

Foi decidido mover os pacotes JRE e JDK para o repositório Community, onde Geoffroy Carrier estará tomando conta deles. Ele já até atualizou os pacotes e corrigiu alguns bugs pendentes. Obrigado Geoffroy por sua boa ação.

Nenhum pacote dos repositórios oficiais do Arch Linux depende destes pacotes no momento, já que os mesmos já foram recompilados para o OPENJDK6. Entretanto, é bom agradecer à comunidade por entender, e os desenvolvedores que se desculpam por qualquer inconveniente que possa vir a surgir.

O mais interessante em meu ver, é o fato de o Arch estar baixando o nível de prioridade destes pacotes, elevando assim a prioridade dos pacotes livres do java em seu lugar. Isto sim é show de bola. Parabéns Arch Linux! ;]

"Porque movê-los, além da razão já abordada aqui?
Bem, nós pretendemos favorecer implementações de código aberto ao invés de implementações de código fechado.

Não, sériom porque vocês mudaram eles?
Porque o Aaron Griffin disse que o fizesse. :-D (apenas brincando)"

Abraços