Instalando gems do GitHub manualmente
Æ!!
Esse vai ser um post rápido para relatar um problema que eu tive ( e ainda estou tendo ) para instalar gems do GitHub.
Por algum motivo bizarro ( nem tanto assim, parece ser dns, mas já tentei opendns e nada ) a página http://gems.github.com não abre de maneira nenhuma, enquanto a navegação continua normal sem nenhum problema…A consequência disso é que eu não consigo colocar o source do github nas minhas configurações do Rubygems.
Tendo em vista que eu não conseguiria utilizar gem install para nenhuma gem que vinha do GitHub tive que dar um jeito de instalar manualmente.
O que fiz foi acessar a página do GitHub referente a gem que eu queria instalar, que no caso é a kitabu do fnando, pegar o link de clone e clonar:
$ git clone git://github.com/fnando/kitabu.git
Mas ae que está o lance que eu demorei para encontrar ( noob ), para uma gem ser instalada localmente ela precisa estar empacotada, e no GitHub você baixa direto o código fonte. Para empacotar:
$ gem build kitabu.gemspec
Agora sim eu tenho o arquivo kitabu-0.3.3.gem que eu posso utilizar para instalar localmente! Para instalar é só utilizar o gem install padrão informando o arquivo a ser instalado:
# gem install kitabu-0.3.3.gem
E pronto! Lá está a minha gem instalada!
Espero que isso seja útil para mais alguem que precise empacotar as suas gems.
Há braços
Opera Unite
Æ!!
Hoje é o dia em que o pessoal da Opera falou que iria reinventar a web, e o que eles fizeram foi lancar o Opera Unite!
A idéia do Opera Unite é tornar a internet mais interligada, fazendo com que você consiga compartilhar arquivos, conversar com amigos e outras coisas apenas usando o browser.
Eu nunca utilizei Opera ( não por que eu sou contra, e sim por que eu nunca precisei e sempre estive confortável com o Firefox, principalmente para desenvolver ), mas achei interessante a campanha de marketing e a idéia deles com esse novo produto. Muitos disseram que isso não era reinventar a web ( realmente fo um pouco de exagero de marketing…hehe ), mas eu acho que isso pode revolucionar muita coisa, só pela nova idéia mesmo! Quem sabe daqui a pouco tempo tenhamos nossos browsers participando bem mais da web.
O que o Opera Unite traz
- Fridge Adicionar notas no estilo Post Its
- Media player Para compartilhar suas musicas, você apenas ativa ele no Opera e ele abre uma página compartilhada onde você pode apenas clicar e ouvir! =)
- Web Server Para compartilhar páginas HTML! É possível criar um index.html e compartilhar ele, assim você terá uma página sendo que seu computador será a hospedagem.
- Photo Sharing Para compartilhar os seus albuns de foto.
- The Lounge Ferramenta para hosting de um chat, bem interessante por sinal.
- File Sharing Para compartilhamento de arquivos ( obviamente )
Todos os serviços são protegidos por senha assim que são disponibilizados para manter a sua privacidade, mas você pode deixar publico se quiser. Os serviços tambem vem desabilitados por default quando você instala o Opera, mas é facil habilitar:
Após instalar o Opera você verá no canto inferior esquerdo um ícone parecido com um ventilador, após clicar nele você verá um assistente para criar uma conta no Opera.com e habilitar os serviços no Unite ( é simples ).
Considerações finais
Eu gostei bastante da ideia do pessoal do Opera, e acho que traz bastante interatividade para a internet. Talvez aqui no Brasil ainda não seja uma realidade um compartilhamento entre computadores bom usando a internet devido as nossas conexões, que na maioria das vezes não é rápida o suficiente para dar uma boa impressão para o serviço.
Parabens a equipe do Opera pela inovação!
Há braços
Usando Git em projetos do Google Code
Æ!!
Resolvi escrever esse post depois de começar a contribuir para o projeto do vimbook, que está no Google Code.
Como o Google Code só usa Subversion ( infelizmente ) e eu sou do mundo Git, resolvi usar a ferramenta Git para lidar com SVN, o git-svn! Com ele você pode clonar um repositório SVN e utilizar como Git, e na hora de “commitar” ele retransforma em SVN.
Já havia tentado usar Git-svn no meu projeto de plugin para wordpress, mas nesse caso eu já tinha um repositório Git e fui tentar mandar para um repositório SVN vazio, o que só me deu dor de cabeça, e no fim das contas acabei jogando para um repositório SVN qualquer só para mandar para o WordPress. No fim das contas, depois desse problema com o WordPress eu só tinha abominado o git-svn, mas agora eu estou começando a descobrir o seu valor.
Meus agradecimentos ao Carlan Calazans que me deu umas dicas de Git-svn quando eu comecei a tentar usar no projeto do plugin, que naquele momento não me fora de grande serventia, mas depois ajudaram bastante!
Bem, agora chega de papo-furado e vamos a parte que interessa…Códigos e How To!
Primeiramente vamos baixar o código ( estou usando como exemplo o vimbook ):
git-svn clone https://vimbook.googlecode.com/svn/trunk/ vimbook --username seu.usuario.do.google
Ao digitar isso ele vai pedir uma senha que ele gera para a sua conta, e seus commits ficarão ligados a sua conta do Google. Para obter a sua senha é só acessar a página de settings do google code com a sua conta.
Após digitar a sua senha ele vai começar a receber todos os commits do SVN e converter para Git! O processo pode ser um pouco demorado, dependendo do tamanho do repositório SVN que você está importando.
Quando terminar você terá um repositório Git normal funcionando, e você pode trabalhar normalmente com ele, fazendo seus branchs e tudo mais!
Vamos ver como seria um fluxo simples para você fazer uma alteração usando branch e mandar de volta para o repositório:
git checkout -b new_changes
Branch criado! Faça as suas alterações… Após as alteraçoes feitas faça os commits normalmente como se faz no Git e volte ao master para ver o que há de novo no repositório central:
git checkout master git-svn rebase
Com isso ele vai receber as novas alterações do repositório! Agora é a hora de fazer um merge do seu branch com a ultima versão do master:
git merge new_changes
Se tiver algum conflito resolva-os normalmente e agora é hora de enviar as suas alterações novamente ao Google Code:
git-svn dcommit
Pronto! Você está contribuindo para um projeto do Google Code utilizando Git.
Há braços
Começando a falar de Ruby
Æ!!
Se você já conhece Ruby, ignore esse post! A idéia do post é mostrar um pouco da linauagem Ruby para pessoas que não conhecem nada sobre ela.
Eu, claro, acho muito bizarro interessante que muita gente por aí ainda não conhece Ruby, mesmo com a grande popularização do Rails, e eu chego a ouvir coisas assim:
“Não é você que programa naquela linguagem esquisita?”
Cheguei a ouvir do meu “professor de algoritmo” ( perdeu meu respeito ):
“Gostei desse algoritmo que você fez nessa linguagem esquisita aqui”
Há muitas pessoas que já ouviram falar em algo relacionado a Ruby apenas quando leram alguma coisa na Info falando de RubyOnRails. Portanto, resolvi escrever alguns posts sobre a linguagem para passar para esse pessoal que ainda não conhece nada. Pretendo que esse seja o post introdutório de vários capítulos passando por partes interessantes da linguagem.
Então…Vamos falar de Ruby!
Ruby é uma linguagem interpretada, criada pelo japonês Yukihiro “matz” Matsumoto e liberada publicamente em 1995. Desde lá o Ruby vem aparecendo bastante no mundo de tecnologia, sendo que a partir de 2006 teve um grande boom de comentários, ainda mais com o maior aparecimento do Rails.
Uma coisa que me irrita bastante é as pessoas associarem diretamente Ruby com Rails, portanto preciso deixar isso claro…Rails não é Ruby!
Rails é um framework para desenvolvimento web que utiliza a linguagem Ruby para o tal. O Ruby tem bem mais coisas legais do que só o Rails.
Como o Ruby é uma linguagem interpretada, podemos facilmente fazer um Hello World em Ruby:
puts 'Hello World'
Isso aí! Apenas uma linha! Uma linguagem totalmente orientada a objeto e você não precisa necessáriamente criar uma classe, um método ( public static void main… ) e escrever mil comandos Hierarquicamente para escrever algo!
O interessante do Ruby é que tudo é um objeto, ou seja, se você escreve o numero 10 ele já é um objeto, tendo seus próprios métodos, como por exemplo:
10.times { puts 'Vou estudar Ruby' }
No caso acima usamos um dos métodos do 10 ( que é da Classe Fixnum ) que é o método times, que faz um loop 10 ( ou qualquer outro numero Fixnum que estivesse aqui ) vezes fazendo o que está dentro do bloco, no caso, imprimir “vou estudar Ruby”.
No Ruby você consegue modificar métodos em tempo de execução! Uma classe que não possuía nenhum método pode possuir 10 em tempo de execução bastando que seu código os inclua lá, e isso é uma coisa muito legal!
A sintaxe da linguagem foi feita para ser simples, você tem vários métodos facilitadores, inclusive com uso de “?” ( interrogação ) para alguns métodos, como por exemplo para descobrir se a variável está não retorna nada:
variavel.nil?Aqui temos uma pergunta explícita, que você olhando isso intuitivamente lhe vem duas respostas: Sim ou não ( nem me venha com talvez
),o que mostra que você olha um código Ruby e facilmente distingue muita coisa.
E tem bem mais coisas interessantes!
Tá…E por que diabos eu deveria usar Ruby
Aí que está! É aí que entram as coisas legais, como:
Rails
Agora sim você pode usar esse cara aí em cima para desenvolver aplicações bem legais usando todas as facilidades que o Ruby pode te oferecer
Shoes
Uma biblioteca bem interessante para desenvolvimento desktop multiplataforma, onde você consegue fazer muita coisa legal.
JRuby
Olha que legal, se você gosta bastante do Java, você pode rodar programas Ruby em cima da maquina virtual Java, o que é bem legal, até por que, a velocidade do JRuby, já passou a do MRI ( Matz Ruby Interpreter, ou a versão core oficial do Ruby, feita pelo Matz ).
Inclusive você pode importar várias bibliotecas do Java e tudo mais.
Iron Ruby
Você usa a plataforma .NET da Microsoft? Então procure por esse cara! Eu não tenho muito a comentar por que não uso .NET.
É claro que não existem só esses aí em cima, apenas estou citando algumas coisas legais, mas se você procura por desenvolvimento web você pode escolher Sinatra, Merb ( ainda não se fundiu com o Rails, mas isso vai acontecer na versão 3 do Rails ), ou outros.
E se você apenas pensa em desenvolver para Desktop, alem do Shoes, você pode escolher, o RubyGTK, o MacRuby ( para usuários MAC ) ou até o FXRuby!
Se você não é programador, e trabalha com administração de sistemas, por que não utilizar Ruby para automatizar as tarefas? É fácil, tem manutenção simples, vem padrão em várias distribuições Linux…Não tem desculpa!
Meu foco nesse post não é abordar a fundo nenhuma das ferramentas que eu citei acima, e sim apenas dar um overview de tudo que você pode fazer usando essa linguagem.
Puxa, gostei! Como usar?
Moleza! Está no Linux né? Se estiver usando Ubuntu só dê os comandos mágicos:
sudo apt-get install ruby irb rdocNão está no Linux? Humm…No Windows é fácil tambem, baixe o executável e instale. Não tive muito contato com um mac ainda para instalar coisas e tudo mais, mas me parece fácil.
Basta clicar aqui e pegar os arquivos necessários para a instalação!
Vixe…Instalei, e agora?
Agora é hora de brincar um pouco com a linguagem para saber como ela funciona! Eu recomendo você a entrar no IRB ( Interactive Ruby Shell ) e começar a brincar!
Para acessar o irb é aquela moleza de sempre, apenas entre no terminal e chame por irb ( acho que funciona assim no Windows tambem )!
Lá você pode tentar executar uns códigos, inclusive os poucos exemplos que eu postei aqui, é muito legal para você conhecer a linguagem, descobrir uns métodos e tudo mais.
Já estou no IRB, mas eu não sei fazer nada…
Bem, agora é partir para as cabeças!
- Eu recomendo você a começar lendo o tutorial de Ruby do TaQ que é um material bem legal para começar.
- Se seu ingles é bom ( não precisa ser fluente, mas você precisa saber ler e enteder ) eu aconselho firmemente você a participar de algum curso Core do Rubylearning.org, e lá você vai aprender bastante coisa, alem de se divertir bastante.
- Leia alguns dos livros gratuitos que estão disponíveis na web gratuitamente e em português! Eu recomendo o Aprenda a Programar e o (comovente) guia de Ruby do Why. ( obrigado pela dica Abraão )
- Participe de Grupos de usuários para aumentar seus conhecimentos e conhecer pessoas que tambem estão interessadas na linguagem e sempre estudando! Se você está em São Paulo eu recomento fortemente você a participar do GURU-SP!
- Fique de olho aqui no blog que eu pretendo começar a postar umas coisas básicas, mas não espere somente por mim e já inicie seus estudos!
Bem, com isso você já tem uma pequena base do que é o Ruby ( e sabe que o Rails é apenas um framework feito em Ruby ) e já pode começar a se divertir com ele!
Há braços
Plugin para WordPress: Anti IE6 Army
Æ!!
Estou postando para anunciar que foi lançada a versão 1.0 do meu plugin para WordPress chamado anti-IE6-army!
A idéia do plugin é juntar um exército de campanhas contra o Internet Explorer 6 que estão perdidas pela internet em um único plugin, para que todos que possuem blogs com WordPress possam usar facilmente, sem precisal alterar HTML, ou abrir qualquer arquivo de código!
Aqui no blog tem uma página só para falar do Plugin, e lá você pode obter mais informações.
Espero o comentário de vocês sobre o Plugin, e se quiserem contribuir com código, o projeto está no GitHub!
Esse foi o meu Call to Arms, agora espero que vocês realmente usem!
English Version
I’m posting here to announce my anti-IE6-army WordPress Plugin!
The idea behind this project is unite a lot of campaigns against Internet Explorer 6 that are splitted on the internet on one single wordpress plugin, so everybody with a WordPress blog will can use it easily, without change any HTML, or open a single code file!
You can read more about this plugin on the plugin page at this blog.
I’m waiting your comments about the plugin, and if you want to contribut with code, the project is on GitHub!
This post is my Call to Arms! Now i hope you really use this plugin.
Há braços
Rails X Django
Æ!!
Como todos sabem eu sou do mundo Ruby/Rails ( Não sou xiita mas é o que mais gosto ) e de vez em quando começo a brincar com coisas diferentes para poder formar a minha própria opinião sobre o assunto. No mes de fevereiro me surgiu um projeto bem interessante para trabalhar, pessoas legais, oportunidade legal, bem interessante! O projeto seria feito em Python/Django, e achei bem interessante a idéia de poder comparar várias coisas do Rails com o Django.
Bem…Vamos as minhas comparações:
Pontos fortes
- Como primeiro argumento, e incontestável para mim, tenho que dizer que o admin do Django é muito legal! Você consegue fazer coisas bonitinhas e funcionais com uma facilidade espantosa! Sei que no Rails podemos fazer um scaffold ( ou até usar o ActiveScaffold, mas não é tão bom ) e criar facilmente um CRUD para mexer nos dados, mas isso não é um admin pronto, é apenas uma forma fácil de se manipular os dados. Penso eu que com o Rails seja mais facil de se criar um admin personalizado, com Design próprio, mas gostei bastante da solução a curto prazo do Django.
- Achei bem interessante como podemos fazer a divisão de trabalhos com o nosso HTML(er) / JavaScript(er), por que o Django dá pouquíssima liberdade para o template com relação a código, ou seja, você define na sua view as query’s que vão ser mandadas para o template e no template ele vai usar apenas o que você pode mandar, e não vai poder consultar ou fazer maiores alterações no conteúdo, portanto, quem deve cuidar de como o conteúdo vai chegar ao template são os programadores que vão enviar os dados para quem vai fazer a integração com o layout.
Pontos fracos
- Não encontrei uma padronização / centralização para os plugins do Django…Você encontra vários modos de instalação para determinados plugins, alguns vem com setup.py, outros falam para você jogar na pasta do Python. Não tem algo centralizado como as gems do Rails ou os próprios plugins para jogar na pasta vendor/plugins, ou usar um script/plugin install …
- Não cria uma estrutura de pastas, deixando que você faça o que bem entender com a estrutura, ao invés de usar uma convenção sobre configuração.
- Talvez seja a inexperiencia, mas eu não achei legal o que tivemos que fazer com o settings, pois cada um precisava colocar uma configuração diferente de diretórios de imagens, ou algumas configurações referentes aos plugins ( filebrowser no caso ), portanto cada um tinha que ter um settings.py diferente, informando o settings.py quando vamos executar alguma coisa.
- Não me acostumei muito bem com o esquema de indentação do Python…Não que seja ruim, mas como estavamos trabalhando em sistemas operacionais diferentes de vez em quando aparecia um indentation error por causa de conversões de tabs em espaços e tal. Sei que esse argumento vai ser facilmente contestado com um: “É só configurar o seu editor de texto” ou “usa um editor de texto multiplataforma”, mas mesmo assim…A idéia da indentação é legal, mas ainda me atrapalha um pouco.
Bem, é isso! Essas foram as minhas primeiras impressões do Django, como disse, não tinha experiência com o framework e muitas coisas poderiam ser evitadas mais facilmente, ou feitas de um modo bem melhor.
Continuo gostando bastante do Rails, mas achei muito legal várias idéias do Django, e acho que tem aplicações legais dependendo do projeto que você for usar.
Há braços
Search
Recent Posts
WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.
