domingo, 27 de dezembro de 2009

Dica de Leitura - A Lógica do Cisne Negro


Algumas coisas tem me feito pensar ultimamente em como agir em certas situações. O livro que acabei de ler (A lógica do cisne negro - Nassim Nicholas Taleb) tem um trecho muito interessante sobre esse tipo de condição que vivemos todos os dias. Transcrevi alguns deles para deleite pessoal de cada um.


============

Preocupo-me menos com o constrangimento do que com perder uma oportunidade.

...

Certa vez, recebi um conselho que mudou minha vida, e que considero aplicável, sábio e empiricamente válido. Meu colega de turma em Paris, pronunciou, enquanto me impedia de correr para pegar o metrô: "Não corro para pegar trens."

Esnobe seu destino. Ensinei-me a resistir à vontade de correr para chegar na hora. Isso pode parecer um conselho muito pequeno, mas ficou gravado. Ao recusar-me a correr para pegar trens senti o valor verdadeiro da elegância e da estética no comportamento, uma sensação de estar no controle do meu tempo, da minha agenda e de minha vida.

...

Portanto, deixe de se preocupar com coisas pequenas. Não seja como o ingrato que ganhou um castelo de presente e preocupou-se com o mofo no banheiro.

============


São palavras simples, mas que quando "olhadas de perto" revelam muita sabedoria.
Aproveito para recomendar a leitura.

[]'s

segunda-feira, 21 de dezembro de 2009

TAR - Rails - Capistrano - SCHILY.dev - Snow Leopard

Pra variar, mais uma atualização que o Snow Leopard faz, e que ficamos perdidos.

Como sempre, graças ao Santo Google encontrei a solução.

Percebi o problema abaixo quando fui utilizar o Capistrano após a atualização do Snow Leopard, o mesmo mostrava as seguintes linhas de erro após uplodear o arquivo e tentar descompactá-lo no servidor:

*** [err :: xxxxx.com.br] tar: Ignoring unknown extended header keyword `SCHILY.dev'
*** [err :: xxxxx.com.br] tar: Ignoring unknown extended header keyword `SCHILY.ino'

*** [err :: xxxxx.com.br] tar: Ignoring unknown extended header keyword `SCHILY.nlink'


Bem, o erro, conforme esse site, está que a Apple resolveu "trocar de lugar" o gnutar e o bsdtar. Segue abaixo, na íntegra, o que o camarada falou.


=================

The problem is that Apple used to include the GNU version of tar at /usr/bin/tar. With Snow Leopard Apple changed /usr/bin/tar to point to bsdtar, breaking any scripts or applications that depended on gnutar

To change it type the following in terminal:

cd /usr/bin; sudo ln -fs gnutar tar && /usr/bin/tar --version

To verify, it should say GNU somewhere in the output.
To change it back to default:

cd /usr/bin; sudo ln -fs bsdtar tar && /usr/bin/tar --version

=================

É só fazer a alteração e partir para o abraço! :D

[]'s

sexta-feira, 11 de dezembro de 2009

require 'mysql_api' error no Rails - Snow Leopard

Esse mês, após atualizar o Mac para o Snow Leopard 10.6, e também após seguir o tutorial para a atualização do Ruby/Rails para funcionar no mesmo tive a surpresa de não conseguir executar os comandos RAKE relativos ao BD MySQL.



Após algum tempo testando e pesquisando sobre o assunto vi que o mesmo se resumia ao não "carregamento" da biblioteca "mysql_api", em alguns locais também vi que o pessoal se referia a esse ao tópico "gem install mysql returns list of No definition for XYZ", e assim descobri que a causa real do problema vinha da atualização mal sucedida do Snow Leopard que por acaso deixa uma versao 32Bits do Ruby instalada.

Para ter certeza se esse é o seu caso basta testar o arquivo

>> file /usr/local/bin/ruby

Se o retorno mostrar que a versão é 32Bits, voilá, esse será o problema.

Para corrigir é só reinstalar o Ruby.

É isso! Um problema a menos! ;)

quinta-feira, 10 de dezembro de 2009

UUID / GUID no Delphi

Recentemente precisei portar um sistema feito em Delphi 7 para utilizar UUID ao invés do ID tradicional no banco de dados. Tudo isso por conta de precisar em um momento posterior fazer merge entre tabelas do banco.


Após analisar algumas formas de se trabalhar com UUID no Delphi, acabei encontrando uma biblioteca que ajuda bastante quando o assunto é GUID/UUID.

Nesse link você poderá encontrar a biblioteca e informações adicionais.

[]'s

quarta-feira, 9 de dezembro de 2009

Chrome/Chormium OS

Ontem pude testar o Chrome OS e ver como ele se comportava.

Como já existem muitos reviews sobre ele não adianta eu falar muita coisa, queria apenas comentar sobre dois detalhes que percebi.

1) Só testei o Chrome OS por conta da facilidade de gerar um "Pendrive Bootable", que pode ser encontrado/gerado/baixado facilmente aqui.

2) A única coisa que fiquei achando ruim ao usar o Chrome OS, foi sentir a lerdeza ao digitar, pois sempre que eu digitava havia um delay para que os caracteres aparecessem na tela, mas, acredito que isso seja por conta da compatibilidade com o hardware que eu utilizei, já que eu não testei em um Netbook e sim num desktop comum.

É isso, de resto compartilho umas fotos que tirei no momento do teste.






Vlw!

[]'s

terça-feira, 8 de dezembro de 2009

Sony W810i Presenter/Remote Control/Media Control com Macbook

Essa semana, tive uma boa surpresa ao descobrir que meu celular Sony W810i possuia a função de controle remoto através do Bluetooth.



Em outro momento eu já havia testado e sincronizado o mesmo com o macbook, mas na maioria das vezes dava uma engasgada e como eu passava mais tempo tentando configurar do que usando eu desisti.

Depois da atualização para o Snow Leopard, resolvi comprar um mouse Microsoft Bluetooth 5000 para me livrar dos cabos, e assim ao configurar o mesmo e não ter dificuldades, resolvi tentar mais uma vez sincronizar o celular, e para minha surpresa, tudo rodou de forma muito tranquila, e foi nesse momento que descobri a possibilidade de usar prórpio celular como controle remoto do macbook.


Achei que é uma ótima opção para quem não tem ou não quer comprar o Apple Remote.



Abaixo algumas telas da sequencia que usei para usar o controle remoto.






Também encontrei o vídeo abaixo no youtube mostrando o uso como Desktop Control.





É isso, agora é só usar! ;)


[]'s

segunda-feira, 7 de dezembro de 2009

Usando data com 4 dígitos (dd/MM/yyyy) no Wine

Recentemente precisei que o Wine entendesse o formato da data do sistema com 4 dígitos para o ano e 2 dígitos para o dia e o mês. Isso era necessário pois um programa que eu estava rodando através do Wine só funcionava corretamente com essa configuração de data.

Para tal feito, após algumas pesquisas no santo google, descobri que era possível editar a mesma via "regedit".

Pois bem, a solução foi bem simples, bastando seguir os passos abaixo:

1) No terminal do Ubuntu/Linux digite "regedit"
2) Clique em Editar > Localizar
3) Procure pela chave sShortDate
4) Edite a chave e coloque o formato desejado (dd/MM/yyyy)
5) Feche o regedit



Pronto! Agora é só usar!

[]'s

quinta-feira, 26 de novembro de 2009

Até os grandões erram, imagine eu!

Recebi hoje um email promocional da Americanas.com e estranhei o título.

Até onde eu conheça, 'Fuji' se escreve com J e não G como no anúncio.



Isso só prova que grande ou pequenos, todos erramos. :)

[]'s

sexta-feira, 20 de novembro de 2009

Virtual Box - Acesso lento à rede do Windows - Como acelerar?

Essa é mais uma dica de um colega aqui do trabalho. Nas pesquisas dele pela net, ele encontrou uma dica para acelerar a velocidade de acesso do Virtual Box a rede no Windows.

Eu particularmente vinha sofrendo com esse problema na minha máquina virtual instalada no Mac OS, pois, todo o acesso que eu fazia para acessar um compartilhamento de rede demorava bastante para ser acessado. A solução para acelerar foi bem simples, basta seguir os seguintes passos:

1) Editar o arquivo C:\Windows\System32\Drivers\etc\Hosts
2) Adicionar a entrada "vboxsvr"


3) Salvar o aquivo.

Pronto! Com isso é só reiniciar a sua máquina virtual e voilá!

[]'s

segunda-feira, 16 de novembro de 2009

CONINFA 2009!

Quero aproveitar e deixar meus "5 cents" em relação ao CONINFA neste ano de 2009.

Eu que participei de todos os dias do evento sou suspeito em falar, mas o evento merece meus parabéns pela organização e participação de todos.


Tanto palestrantes como o corpo docente e discente marcaram suas presenças e contribuíram para que o evento fosse um sucesso.

Eu particularmente tive o privilégio de ministrar um mini-curso de Ruby on Rails e acredito ter conseguido passar uma visão bem geral so framework. Espero também que os que ficaram interessados no assunto possam entrar em contato para tirar suas dúvidas.

Aproveitem também e conheçam o grupo Ruby.PA, que é o grupo onde aproveitamos para falar de ruby e rails aqui na cidade de Paulo Afonso.




Vou torcer para que nos próximos anos o CONINFA possa arrebatar a região e trazer todos para prestigiar o que há de melhor nas áreas dos seus cursos.


Até ano que vem, se Deus quiser!

[]'s

terça-feira, 27 de outubro de 2009

Contribuindo com um projeto Open Source! - Projeto DDTSS


Você sempre teve vontade de participar de um projeto Open Source? Pois bem, acho que sua hora chegou! :)

Recentemente fui apresentado ao projeto DDTSS - Debian Distributed Translation Server Satellite. O mesmo consiste em um sistema baseado na web que permite pessoas colaborarem com a tradução da descrição dos pacotes Debian.

Apesar de parecer um projeto bem simples, ele é de grande valia para que tenhamos cada vez mais pacotes com descrições em nossa língua nativa.

Para acessar e participar siga o link.

Se você deseja participar e não entendeu bem a dinâmica do sistema, entre em contato comigo que tentarei explicar em detalhes.

é isso, vamos contribuir!

[]'s

quinta-feira, 22 de outubro de 2009

Criando um hotspot wifi usando o Mac Os X

Essa é uma tradução/adaptação do original (http://maketecheasier.com/create-wifi-hotspot-using-mac-os-x/2009/10/20)

----------------------------------------

WiFi é muito comum atualmente, tanto dispositivos que suportam WiFi e locais que oferecem internet através de WiFi como serviço multiplicam-se por toda parte.

Pelo menos é o que eu costumava pensar até o mês passado, quando eu estive em um hotel com WiFi e apenas uma porta Ethernet que eu deveria compartilhar com dois amigos meus. Nós poderíamos fazer o que todos os outros estão fazendo, compartilhando a porta Ethernet, terminando nosso trabalho em um determinando tempo e passando a porta para o próximo da fila.

Ou nós podemos apenas fazer um dos computadores agir como um hotspot WiFi e deixar outros PCs acessarem a Internet através do primeiro.

Isso não é difícil para imaginar essa opção como escolha, e para nossa pequena configuração nós decidimos usar meu Mac como o roteador, uma vez que a configuração foi mais fácil nele.

Nesse post de hoje, eu vou detalhar os passos necessários para compartilhar a conexão de Internet no Mac, tornando-o efetivamente um roteador WiFi.


Configurando uma rede personalizada

Primeiro de tudo, você precisa criar uma rede onde todos os computadores irão compartilhar a conexão. Em termos de rede, isso é chamado de Rede AdHoc.

A coisa boa é que você não precisa fazer nada de especial para criar uma rede adhoc no OS X. O OS X irá induzir você quando você precisar criar uma, se você estiver usando uma interface Airpot Card (WiFi) para o compartilhamento.

Para ativar o compartilhamento de Internet, abra as Preferências de Sistema (Apple -> System Preferences) e clique em compartilhamento (Sharing).



Selecione Compatilhamento de Internet (Internet Sharing) da lista de Serviços.

No menu drop down, selecione a interface na qual está conectada a sua fonte de Internet e na lista abaixo selecione a interface na qual você deseja compartilhar a conexão com outros computadores. No meu caso, foi a Ethernet e a Airport (WiFi) , respectivamente.

O teceiro e último passo é criar a rede adhoc na qual outros computadores possam se conectar.

Clique nas Opções do Airport (Airport Options).



O OS X irá mostrar uma tela onde você poderá entrar com o nome da sua nova rede.

A menos que você queira todos os vizinhos e intrusos na sua rede, eu dou a sugestão de que você selecione a opção ativar a encriptação (Enable Encryption) e adicione uma senha (password) para a rede.

Isso é tudo que se tem que fazer. Clique OK e o OS X irá ativar o compartilhamento no seu Mac, a partir da Ethernet e da interface Airport.

A única coisa que se deve fazer agora é procurar as novas redes em todos os outros computadores que precisam conectar, e nossa rede adhoc deve ser mostrada na lista. Selecione e entre na rede.

Todas as máquinas cliente devem agora estar aptas a iniciar o navegados e elas devem estar diretamente conectadas através da WiFi.


[]'s

quarta-feira, 30 de setembro de 2009

Driver de Audio VT1708/A no UBUNTU 9.04

Depois de "descobrir" que os problemas com o audio do meu desktop eram por conta do driver do Alsa, achei a solução e gostaria de compartilhar com vocês! ;)

O problema que vinha acontecendo é que o audio funcionava quando queria, hora sim, hora não, então como o problema persistia dei uma sondada na net e econtrei alguns posts falando sobre o assunto, sendo assim, após alguns testes, achei a solução.

Esse foi o link salvador:

>> http://www.vivaolinux.com.br/dica/Som-notebooks-Positivo/


Como eu estou usando o Ubuntu, apenas baixei o driver, descompactei, rodei o "./configure", o "make" e o "sudo make install" e voilá! Tudo parece estar funcionando normal agora! :D

É isso!

[]'s

sexta-feira, 25 de setembro de 2009

Brincando com RubyGems / RDoc

Com muitos sabem, o gerenciador de pacotes do Ruby é o RubyGems. Por padrão, quando o Ruby é instalado no Windows (geralmente com o pacote One Click Installer) o rubygems já está disponível. Para ter certeza disso, basta ir ao prompt e digitar "gem -v". Esse comando deve devolver a versão atual do rubygems instalado.

De posse do rubygems é possível instalar diversas gems, que de forma geral podemos chamar de plugins. Tais gems dão possibilidade de incrementar o seu ruby com novas bibliotecas que ajudarão em determinadas circunstâncias.

Imagine que você precisa criar uma rotina em ruby que manipule páginas HTML, pegando trechos dessas páginas para montar um relatório por exemplo. Para fazer isso existem diversas formas, uma delas seria você criar do zero várias rotinas de acesso e manipulação das páginas HTML, ou se preferir instalar a gem Hpricot, que adiciona ao ruby ótimas funcionalidades de manipulação de páginas HTML.

Muito bem, resolvi escrever esse pequeno tutorial para mostrar como é possível acessar a documentação das gems instalas de uma forma off-line, já que na maioria das vezes verificamos como utilizá-la procurando na internet.

O sistema de gerenciamento de pacotes ruby dá a possibilidade de acessar de forma off-line toda e qualquer documentação que a gem possui quando instalada.

O procedimento é bem simples. Vamos seguir mostrando que um pouco de curiosidade possibilita descobrir muitas coisas.

Digitando "gem --help" no prompt temos a seguinte saída:




RubyGems is a sophisticated package manager for Ruby. This is a
basic help message containing pointers to more information.

Usage:
gem -h/--help
gem -v/--version
gem command [arguments...] [options...]

Examples:
gem install rake
gem list --local
gem build package.gemspec
gem help install

Further help:
gem help commands list all 'gem' commands
gem help examples show some examples of usage
gem help platforms show information about platforms
gem help show help on COMMAND
(e.g. 'gem help install')
gem server present a web page at
http://localhost:8808/
with info about installed gems
Further information:
http://rubygems.rubyforge.org



Basta ler a saída e verificar que dentre as opções apresentadas existe uma "gem server" que por sua descrição "apresentará uma página web em http://localhost:8808 com informações sobre as gems instaladas". Pois bem, vamos fazer isso, digite "gem server" no prompt e verifique no browser, acessando http://localhost:8808 que é possível ter informações sobre todas as gems instaladas.


Após analisar as informações das gems, é possível acessar seus respectivos RDocs, mas, também é possível notar que algumas delas não possuem o RDoc disponível, então, voltando ao prompt verificamos que uma das opções disponíveis quando digitado "gem --help" é o comando "gem help commands" que mostrará a seguinte saída:




C:\>gem help commands
GEM commands are:

build Build a gem from a gemspec
cert Manage RubyGems certificates and signing settings
check Check installed gems
cleanup Clean up old versions of installed gems in the local
repository
contents Display the contents of the installed gems
dependency Show the dependencies of an installed gem
environment Display information about the RubyGems environment
fetch Download a gem and place it in the current directory
generate_index Generates the index files for a gem server directory
help Provide help on the 'gem' command
install Install a gem into the local repository
list Display gems whose name starts with STRING
lock Generate a lockdown list of gems
mirror Mirror a gem repository
outdated Display all gems that need updates
pristine Restores installed gems to pristine condition from files
located in the gem cache
query Query gem information in local or remote repositories
rdoc Generates RDoc for pre-installed gems
search Display all gems whose name contains STRING
server Documentation and gem repository HTTP server
sources Manage the sources and cache file RubyGems uses to search
for gems
specification Display gem specification (in yaml)
stale List gems along with access times
uninstall Uninstall gems from the local repository
unpack Unpack an installed gem to the current directory
update Update the named gems (or all installed gems) in the local
repository
which Find the location of a library file you can require

For help on a particular command, use 'gem help COMMAND'.

Commands may be abbreviated, so long as they are unambiguous.
e.g. 'gem i rake' is short for 'gem install rake'.



Verifique que existe um comando chamado "rdoc" e que sua descrição indica que ele serve para gerar o RDoc de gems previamente instaladas, e é isso que vamos fazer. Aqui no meu caso eu tinha a gem Hpricot instalada, mas não tinha o RDoc disponível para consulta, então rodei o comando "gem rdoc hpricot" e visualizei no prompt o seguinte:




C:\>gem rdoc hpricot
Installing ri documentation for hpricot-0.4-x86-mswin32...
Installing RDoc documentation for hpricot-0.4-x86-mswin32...



Voilá! Acessando novamente o "gem server" pude acessar sem problemas a documentação RDoc da gem.

É isso, acredito que conhecendo bem o RubyGems podemos tirar muito proveito da ferramenta.

[]'s

segunda-feira, 14 de setembro de 2009

Parabéns FASETE!

Após a ótima notícia recebida semana passada, eu e alguns professores comemoramos o grande desempenho do Curso de Sistemas de Informação da FASETE.



Deixo aqui o meus parabéns por mais essa grande conquista!

[]'s

Rails For Kids 2009!

Esse último sábado (12/09/2009) aconteceu o Rails For Kids, que para quem não conhece é um evento 100% online que visa juntar a galera que gosta de Rails e de quebra ajudar a Cotolengo, uma instituição que acolhe portadores de necessidades especiais. Podemos dizer que é o criança espererança da comunidade railer! ;)


Brincadeiras a parte, o evento foi ótimo, e para eu que também participei da primeira edição em 2007, pude notar a grande evolução do software treinatom e consequentemente da e-Genial (idealizadora do evento), sempre com seus produtos e eventos de muita qualidade.

Não consegui assistir todas as palestras, mas boa parte delas, as que acompanhei, foram de muito proveito.

Esse post tem um breve resumo de como foi o evento.

Resta agora esperar o próximo Rails For Kids!

Parabéns a toda equipe e-Genial!

[]'s

terça-feira, 8 de setembro de 2009

Rails nas Prefeituras!

Recentemente tive a oportunidade de acompanhar o uso do RoR na prefeitura aqui da região. Agora que o projeto já está a pleno vapor pude conversar com o responsável pela façanha para que ele me contasse sobre o que achou da experiência.


Confiram no trecho abaixo:

===============================

Você já conhecia o rails antes de fazer essa aplicação?

Sim, tive algum contato com a ferramenta, porém muito superficial.

O que chamou mais atenção quando você começou a desenvolver com o rails?

A questão da configuração e conveção é muito interessante, principalmente a convenção onde o código fica mais elegante e legível para outras pessoas, não existe tipo no asp ou no php, onde a estrutura de diretorios é definida de acordo com a vontade do desenvolvedor. No rails existe uma convenção onde os javascript, stylesheets, images, e seus códigos estarão onde realmente precisam estar, desta forma existe uma padronização do código, sem falar na facilidade de desenvolver, uma linguagem simples e enxuta, um framework que realmente utiliza o padrão arquitetural MVC.



Quanto tempo você levou para fazer a aplicação básica do seu projeto (sem o layout ou partes gráficas)?

Bom, para fazer a aplicação básica sem perfumarias, só o cru mesmo, levei acho que uma semana, porque os outros recursos que utilizei foram extras, ou seja, irrelevantes porém importantes para o funcionamento da aplicação.

Após fazer esse teste inicial com o rails em uma aplicação real, você recomendaria o rails como plataforma de desenvolvimento para outras empresas ou mesmo outras prefeituras?

Sim, com certeza. No meu caso o principal motivo de ter feito essa aplicação em Rails, foi justamente o tempo curto que tinha para desenvolvê-la, acreditei que com o Rails ganharia este tempo e mesmo ainda em fase de aprendizado estava certo.

Que comentários você deixa pra quem ainda não conhece o rails?

O que posso falar é que aprendam, o negócio funciona e funciona muito bem, agora o que eu costumo dizer o Rails não vai ser a salvação da sua vida, mas concerteza vai te dar uma ajuda muito grande, o resto depende de você. Ah, e outra, esqueçam essa história de comparar o Rails com outras linguagens, aprendam e ai vocês verão a diferença.

===============================

Então é isso, tá aí o primeiro case utilizando rails nos órgão públicos da nossa região!

Ahhh, o endereço do site é esse: http://e-gov.pauloafonso.ba.gov.br:8887/

Qualquer dúvida ou esclarecimento é só falar.

[]'s

quinta-feira, 3 de setembro de 2009

Como instalar o Snow Leopard sem o DVD / através de um drive USB

Essa é uma tradução/adaptação do original "Install Snow Leopard from External Firewire or USB Hard Drive, or How to Upgrade to 10.6 Without a DVD Drive"


Se você tem um Mac sem o drive de DVD funcionando (ou um MacBook Air), você precisa encontrar uma outra forma de atualizar seu sistema para o Snow Leopard, felizmente isso é muito fácil, tudo que você precisará é um drive firewire ou USB externo.


Ok, o título pode parecer enganador pois você precisará acessar um drive de DVD em algum lugar para criar a imagem do disco de instalação do Snow Leopard com o Utilitário de Disco, mas, uma vez que você tenha a imagem do disco, você não precisará mais do drive de DVD novamente.

O que você precisará o tempo todo é de um drive firewire ou USB externo que você não se importe em formatar, então você poderá inicializá-lo e atualizar para o Snow Leopard a partir dele.

Primeiro você precisará cria um arquivo DMG do disco do Snow Leopard, isso é muito fácil.

* Inicie o Disk Utility (Utilitário de Disco).
* Selecione o DVD do Snow Leopard no Disk Utility.
* Clique no botão "Nova Imagem/New Image" no topo.
* Nomeie a imagem e coloque-a em algum lugar fácil de encontrar (Desktop por exemplo).
* Clique OK e espere a imagem ser criada.


Bastante simples certo? OK, então aqui está como você cria um disco de instalação do Snow Leopard fora do seu disco firewire ou USB externo.

Instale o Snow Leopard a partir de um drive firewire ou USB externo

* Depois de fazer a imagem do Snow Leopard, rode novamente o Disk Utility.
* Selecione o drive firewire ou USB externo que você quer utilizar como drive de inicialização para o upgrade.
* Clique em "Partition/Partição" no menu opções.
* Selecione 1 partição, então clique "Options/Opções" abaixo do schema de partições.
* Selecione a opção do topo "GUID Partition Table" - ele DEVE ser GUID para ser inicializável!
* Clique em OK para criar a partição (isso irá reformatar o drive, ou seja, todos os dados serão perdidos).
* Depois, clique na aba "Restore/Restauração" no Disk Utility.
* Selecione sua imagem criada a partir do DVD do Snow Leopard e restaure para a partição GUID que você criou.
* Após a restauração completar, sua partição GUID agora será inicializável pelo Mac OS X!
* Reinicie o seu MAC segurando a tecla "Option" para carregar o carregador de boot, selecione o drive que contém o Snow Leopard ao invés do drive padrão do MAC.
* Instale o Snow Leopard normalmente!



[]'s

Dica de Leitura - A Cauda Longa

A tempos que vinha tentando ler o livro A Cauda Longa, do original The Long Tail.

Essa semana consegui terminar, e, de modo geral, o livro dá uma boa idéia de como podemos observar o mercado digital de nicho e como se comportar para tirar proveito do mesmo.



Acredito que é uma leitura interessante para qualquer pessoa de qualquer área. Vale a pena conferir.

[]'s

quarta-feira, 12 de agosto de 2009

Oxente Rails!

Depois de um bom tempo sem postar, estou eu aqui outra vez. :)

Desde o último dia 30/07 que estou em um corre-corre imenso, mas resolvi dar uma paradinha para comentar sobre o evento Oxente Rails que aconteceu esse final de semana.

Apesar de já terem muitos posts sobre o assunto, acredito que vale a pena comentar mais um pouco sobre o mesmo, e dar crédito ao evento como um todo.

Bem, para ir ao evento, eu e meu colega Marcus fizemos um trajeto um tanto diferente dos demais participantes, pois, além de sermos de outro estado decidimos ir de moto.

O trajeto escolhido rendeu 730Km conforme pode-se observar abaixo.



Exibir mapa ampliado

A viagem, apesar de tranquila, foi regrada a muita chuva, o que acabou atrasando um pouco a viagem, mas, nada que atrapalhasse a empolgação.


O Evento em si foi ótimo. Todos estavam muito receptivos, e isso facilitou bastante fazer novas amizades e é claro conhecer todos aqueles que conversamos pela net.


Em resumo, recomendo a todos que se puderem ir aos eventos de Rails que o façam. É impossível descrever, só quem esteve lá vai saber o que realmente é participar de eventos assim.

Agora é se preparar para ir ano que vem, inclusive quem sabe a Summit não entra na lista dos Railers do Asfalto. :)

[]'s

terça-feira, 28 de julho de 2009

quarta-feira, 15 de julho de 2009

Instalando Gems através do Git

Esse post é uma tradução/adaptação do original "Installing Gems from Git" disponível no Ruby.About.com.

Muitas gems são hospedadas em repositórios git, tais como o repositório público Github. Entretanto, para pegar a última versão, frequentemente não há gems construídas para você instalar com facilidade. Embora, instalar através do git seja fácil.

Primeiro você deve entender o que o git é. Git é o quê os desenvolvedores de código usam para acompanhar o código-fonte e colaborar ao mesmo tempo. Git não é um mecanismo de lançamento de versões. Por isso é importante notar que a versão do software que você pega do git, pode ou não ser estável. Essa não é uma versão lançada, e pode conter bugs que podem ser corrigidos antes da próxima versão oficial.

A primeira coisa que você deve fazer a fim de instalar gems através do git é instalar o git. Essa página do livro do Git explica como fazer isso. É bastante simples em todas as plataformas, e uma vez que é instalado, você têm tudo que você precisa.

Instalar uma gem através de um repositório Git pode ser feito em 4 passos.

  1. Clone o repositório Git.
  2. Mude para o novo diretório.
  3. Construa/Compile a gem.
  4. Instale a gem.


Clone o repositório Git

Na linguagem Git, "clonar" um repositório git é fazer uma cópia dele. Nós faremos uma cópia de um repositório do RSpec no github. Esta cópia será uma cópia completa, o mesmo que os desenvolvedores terão em seus computadores. Você pode até mesmo fazer alterações (embora você não será capaz de "commitar", enviar essas alterações de volta para o repositório).

A única coisa que você precisa para clonar um repositório git é a URL git. Isso está disponível na página do RSpec no github. A URL para clonar o RSpec é: git://github.com/dchelimsky/rspec.git. Agora simplesmente use o comando "git clone" com o URL fornecida.


$ git clone git://github.com/dchelimsky/rspec.git



Isso irá clonar o repositório do RSpec dentro de um repositório chamado rspec. Esse diretório deve sempre ser o mesmo que a parte final da URL clone (menos a parte .git).

Mudando para um novo diretório

Esse passo, também, é muito simples. Simplesmente mude mude para o novo diretório criado pelo Git.


$ cd rspec


Compilando/Construindo a Gem

Esse passo é um pouquinho mais complicado. Gems são compiladas/construídas usando o Rake, usando uma tarefa chamada "gem".


$ rake gem


Embora possa não parecer simples. Quando você instala uma gem usando o comando gem, silenciosamente, "por trás das cenas", alguma coisa está sendo feita de importante: Checagem de dependências. Quando você rodaro comando, ele pode retornar uma mensagem de erro dizendo que precisa instalar outras gems, ou que você precisa atualizar uma gem já instalada. Instale ou atualize essa gem usando o mesmo comando gem, ou instalando-a pelo git. Você pode ter de fazer isto várias vezes dependendo de quantas dependências a gem tenha.

Instale a Gem


Quando o processo de construção/compilação é completada, você terá uma nova gem no diretório pkg. Simplesmente dê o path relativo para esse arquivo .gem com o comando gem install. Você precisará de privilégios de ardministrador para fazer isso no Linux ou OSX.


$ gem install pkg/gemname-1.23.gem


A gem agora está instalada e pode ser usada como qualquer outra gem.


[]'s

sexta-feira, 10 de julho de 2009

Trabalhando com Gems no Ruby/Rails

Esse post é uma tradução/adaptação do original "Adding and Installing Gems from the Ruby Gems Repository" disponível no Ruby.About.com

Você pode adicionar e instalar Ruby Gems através de procura no repositório do Ruby Gems. Simplesmente rode o comando "gem search". Por padrão, Ruby Gems faz a procura apenas no seu repositório local -- as gems que você tem instalada. Enquanto isso pode ser muito útil para procurar gems já instaladas, isso geralmente não é a intenção de quando se roda o comando search. Para procurar em repositórios remotos, adicione --remote ou -r ao comando.

O forma básica de uma procura com o Ruby Gems é uma simples pesquisa de um termo sem outro argumento que não seja o --remote. O termo pesquisado será comparado com todas as Gems no repositório e seus resultados incluirão respostas aproximadas. Por exemplo, procurando por cloth isso inclui as gems "RedCloth" e "BlueCloth".

Abaixo temos um exemplo de procura por cloth. Uma quantidade de gems são listadas, bem como as sua versão atual. Essa saída pode ser alterada conforme as indicações abaixo.



$ gem search --remote cloth

*** REMOTE GEMS ***

BlueCloth (1.0.0)
ClothRed (0.4.1)
mediacloth (0.0.3)
RedCloth (3.0.4)


O número de argumentos pode ser fornecido para definir qual os resultados devem ser impressos no terminal. A lista completa desses argumentos podem ser acessada rodando o comando "gem help search". Outros tópicos de ajuda podem ser visualizados quando é rodado o comando "gem help".

  • -d, --details - Mostra as descrições das RubyGem bem como os nomes das gems e suas versões. Isso particularmente é útil quando você está procurando por gems relacionadas a um dado tópico. Por exemplo, quando estamos procurando por gems que trabalham com arquivos PDF, se você não tem uma gem específica em mente, procure por gems com PDF em seu nome e lendo as descrições você pode ter uma ideia do que está disponível.

  • --local, --remote, --both - Define onde o RubyGems deverá procurar as gems.

  • -a, --all - Mostra todas as versões da gem no repositório. Quando um desenvolvedor atualiza a versão de uma gem, a gem antiga não é deletada, desde que isso possa ser necessário (às vezes) para instalar uma versão anterior da gem. Usando esse parâmetro o RubyGems mostrará todas as versões da gem que estão no repositório.


Instalando Gems

Para instalar gems, você deve ter acesso de escrita. No Linux ou OS X, isso significa torna-se root/administrador no terminal ou usar o comando "sudo" para ordar a RubyGems como root/administrador. Os exemplos abaixo mostrarão como fazer isso com o "sudo", você precisará se reportar à documentação do seu sistema operacional para instruções de como rodar coisas como root/administrador. No Windows, você não precisará rodar o comando gem como um usuário administrador se, no seu HD, você tiver acesso de escrita na pasta da gem.

Instale gems com o comando "gem install". Com o comando "search", adicionar o parâmetro"--remote" é necessário. Você pode também fornecer o nome completo, não apenas o termo pesquisado como você fez com o comando de busca. Lembre-se que os nomes são também "case sensitive": "redcloth" não é o mesmo que "RedCloth".




$ sudo gem install RedCloth
[sudo] password for username:
Updating metadata for 52 gems from http://gems.rubyforge.org/
....................................................
complete
Successfully installed RedCloth-3.0.4
1 gem installed


Você pode também instalar uma versão específica de uma gem. Por exemplo, pode ser que você queira instalar uma versão anterior do RedCloth porque uma nova versão tem um bug ou quebra um recurso que você precisa usar. Nesse caso, você pode usar o parâmetro "--version", primeiro use o comando com o parâmetro "--all" para verificar quais versões estão disponíveis.





$ gem search --remote --all redcloth

*** REMOTE GEMS ***

Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
RedCloth (3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.0.11, 2.0.10,
2.0.9, 2.0.8, 2.0.7, 2.0.6, 2.0.5, 2.0.4, 2.0.3, 2.0.2)



Neste exemplo, uma das últimas versões instaladas da série 2.x, 2.0.11. O parâmetro "--version" pega a "string versão" como um argumento. Uma string de versão tem um operador seguido por um número de versão. O operador pode ser apenas = (o sinal de igual) que significa que você deseja instalar a versão exata gema, mas também pode ser algo do tipo >= (maior ou igual a) para significar que você deseja instalar essa versão ou de qualquer versão mais recente.



$ sudo gem install --version '= 2.0.11' RedCloth
Bulk updating Gem source index for: http://gems.rubyforge.org/
Successfully installed RedCloth-2.0.11
1 gem installed

Compartilhando a tela/desktop do MacOs X com o Windows

Essa dica rápida é pra quem, como eu, precisa acessar seu Mac através do Windows. No meu caso por conta do trabalho uso um terminal Windows, mas fico sempre querendo fazer alguma coisa no macbook que sempre está ao lado, e por isso, pra não ficar indo de um computador para o outro resolvi acessar o Mac através do Windows, que aqui por sinal tem um generoso monitor de 24'', então espaço no desktop é o que não vai faltar.

Pra quem quer fazer o inverso, Mac -> Windows é só suar o prórpio RDesktop que a microsoft disponibiliza.

A pergunta então é como acessar na sequência Windows -> Mac. O procedimento também é bem simples. Siga os passos:

1) Acesse o "System Preferences" do seu Mac.


2) Acesse a opção "Sharing".
3) Nesse momento marque a opção "Screen Sharing" e clique em "Computer Settings". Verifique que existe a opção "VNC Viewers may control screen with password", então marque essa opção e digite uma senha de acesso.


4) Agora, já no Windows, instale qualquer visualizador VNC, nesse caso estou utilizando o RealVNC.

5) Após intalado abra o RealVNC e nesse momento apenas uma única dica. Clique em "Options", e selecione na guia "Colour & Encoding", na área "Colour level" a opção "Full(all avaliable colours)".





6) Pronto, agora é só digitar o IP do seu Mac e em seguida é solicitada a senha, aquela que você definiu no passo 3.


7) Agora é só partir pro abraço!


[]'s

segunda-feira, 6 de julho de 2009

Por que usar MacOs X?

O título acima pode parecer propaganda grátis do Mac/Apple, mas acredite, estou escrevendo porque tenho respondido muito essa pergunta ultimamente.

Isso mesmo, desde que comprei meu mac muitas pessoas já torceram o nariz, e muitas outras me perguntam porque resolvi encarar essa.


A resposta, para ser entendida, merece uma boa explicação, então, de tanto explicar a mesma coisa, resolvi escrever aqui.

Bom, eu costumo dizer que a ascenção natural de um "ser informático normal" é Windows, Linux (Ubuntu geralmente), Linux com Windows emulado e por fim MacOs X. Só em dizer isso muitos já arregalam os olhos ou torcem o nariz, mas a explicação é mais que lógica e normal.


Imagine que praticamente todos os seres que hoje usam computador iniciaram sua vida digital em cima do Windows, salvo claro exceções de pessoas que já tinham uma outra forma de contato direto com outras plataformas, mas geralmente se começa nele. Após o uso exaustivo, e depois de conhecer todos os caminhos e manhas desse SO, eis que o usuário começa a notar que o Windows é bom, isso mesmo, ele é bom até o momento em percebemos que não existe Windows sem Spyware, Vírus, Malwares, ou qualquer outra praga digital, é comum hard users do Windows tirarem um tempinho pra desfragmentar o disco, fazer limpeza do registro, passar um anti-spyware, anti-vírus e por aí vai, não tem como, eu que fui usuário durante um bom tempo sou a prova viva disso.


Depois dessa fase o usuário quer se libertar, e procurando soluções descobre o Linux e tenta recomeçar a vida digital pois é um novo mundo, tudo é diferente, muitos conceitos novos, muitas dúvidas surgem, e nessa hora posso dizer que o Ubuntu tornou muito viável a curva de aprendizado do Linux, obviamente o basicão de que se precisa para usá-lo dia-a-dia.


A fase Linux é muito legal, você descobre que pode viver sem pragas digitais e que os recursos dos seu computador são realmente grandes, 2GB de RAM apenas pra o Ubuntu é um mar quase infindável de espaço disponível, mas nem tudo é um mar de rosas, após descobrir esse novo mundo e de certa forma dominá-lo, o usuário começa a sentir falta de alguns softwares que ele já tinha se acostumado e que até usava profissionalmente, Adobe PhotoShop, Dreamweaver, Flash, Word, Excel, etc, etc... É claro que alguns vão dizer, "ahh, mas existem similares no Linux", e é verdade, pra tudo que temos em outras plataformas o Linux tem um similar, e isso não é ruim, é ótimo, até porque na maioria das vezes é free. O grande detalhe é que apesar das similaridades, você precisa aprender tudo novamente e na maioria das vezes ficar "fora do fluxo", isso mesmo, pois quem trabalha com imagens profissionalmente, quase que não pode sonhar em enviar uma arte feita no GIMP para a gráfica, tem que ser em PhotoShop senão a gráfica não aceita, e assim você começa a perder as esperanças, acha que vai ter q voltar para o martírio do Windows, mas no fim do túnel surge uma luz.


Exatamente! Agora podemos virtualizar computadores dentro de outros computadores. Com tantos recursos de memória RAM e disco disponíveis, a coisa mais simples é virtualizar uma máquina rodando o Windows dentro do Linux usando por exemplo o VirtualBox (um ótimo virtualizador, grátis por sinal), e isso mais uma vez abre um novo mundo, você volta a usar os programas que precisa e fica livre de pragas digitais, pois todo acesso a rede pode ser feito pelo Linux, deixando o Windows apenas para o trabalho real.


Muitas pessoas convivem com isso anos e mais anos, e porque não dizer por toda vida, eu mesmo passei um tempo assim e RECOMENDO SIM para todos que precisam se livrar das pragas, mas precisam ou são obrigados a usar o Windows.

Por fim, chega o MacOS X, e muitos perguntam, "Mas você já tem tudo que precisa no modo anterior Linux + Windows Virtualizado", e a resposta é SIM, COM CERTEZA, mas falta algo, como unir o melhor dos dois mundo de forma real e natural, isso mesmo! Como usar o ambiente "higienizado" mas que rode tudo nativo, sem precisar de firulas ou arrodeios? Simples, use um Mac!


Minha visão do MacOS X é essa, o melhor dos dois mundos, e por quê não dizer dos 3 mundos! :)

Com um Mac você vai poder ter um ambiente .NIX. Isso quer dizer que vai poder usar todo prompt/shell do linux, usar programas compilados com o MAKE e por aí vai. Nele você vai poder também utilizar toda a família Adobe (PhotoShop, Flash, Dreamweaver) e também o famoso pacote Office de forma nativa.



É claro que não existem todos os programas nativos para ele, mas, existem bem mais que no Linux e isso ajuda bastante. E, se por acaso você precisar do Windows ou Linux, basta virtualizar no VirtualBox mais uma vez.


É claro, que ao entrar nessa mais um novo mundo se abre, e posso dizer, você se surpreende muito com o que já existe em um mac, e muitas vezes fica a pensar o porquê de os outros SO não implementarem tais facilidades.

Bom, é óbvio que essa é minha opinião, e cada um tem suas necessidades, tentei apenas mostrar minha visão e como tudo aconteceu no meu caso.

É isso!

[]'s