Este blog tem andado meio parado. O tempo anda muito curto e não tenho tido tempo de ficar atualizando o blog. O interessante é que existem alguns outros programadores que também querem escrever artigos para ajudar a comunidade, mas não tem tempo de manter um blog sozinhos. Então agora resolvemos nos reunir para manter um novo blog grupal sobre programação.

Estamos agora estreando o blog Not For Dummies, blog sobre desenvolvimento mantido por diversos autores. Vamos falar de XHTML, CSS, PHP, Ruby On Rails, Usabilidade, e muito mais. Com vários autores, o blog vai ficar menos tempo parado.

Então a partir de hoje vou passar a escrever sempre por lá. Ainda não sei o que vou fazer com este blog, mas com certeza vai ficar parado por um tempo até eu me decidir.

Então se você assina o feed deste blog ou visita com frequência, passe a visitar o Not For Dummies. Você vai gostar.

Se você é um dos usuários do meu site emprestei.com, provavelmente já percebeu o que está acontecendo: o site está fora do ar. E provavelmente ficará fora do ar por mais alguns dias. Em parte a culpa é minha, e em parte é do servidor.

Tudo começou quando o meu maravilhoso host me deu a possibilidade de ser um dos primeiros transferidos para um novo servidor, diferente dos anteriores, que me permitiria ter espaço ilimitado, e transferência mensal ilimitada. Havia um aviso de que aplicativos poderiam deixar de funcionar na transferência, mas pra ter hospedagem ilimitada vale tudo, não? Aceitei na hora, e fiquei torcendo para tudo dar certo.

Depois disso, esqueci do assunto. Um ou dois dias depois a transferência de todos os meus sites para o novo servidor começou e, no mesmo dia, tive uma entrevista de emprego. Fui mostrar o emprestei.com para o entrevistador e, para minha surpresa, o site estava fora do ar. Uau, o que teria acontecido? Foi só quando voltava pra casa que me lembrei: a transferência pro novo servidor! Que droga. O Emprestei acabou saindo do ar, e meu repositório subversion também. No dia seguinte o repositório voltou, mas o Emprestei não.

Ainda não tive tempo de ver exatamente porque o Emprestei parou de funcionar depois que foi movido para o novo servidor, mas o que importa é que está dando algum problema com o Rails e ele não inicia mais. Eu poderia buscar o erro e colocar o site de volta no ar ainda hoje, mas resolvi fazer outra coisa.Já tem um tempo que eu estou querendo melhorar o Emprestei. Originalmente ele havia sido feito para participar do desafio Rails Rumble, onde você deve construir um site em no máximo 48 horas.

Pois é, o site inteiro foi feito em dois dias, e até que ficou bem feito. Mas ele foi feito bem antes de sair o Rails 2.0, que trouxe vários novos recursos, então eu já precisava melhorá-lo há tempos. Esse erro que o deixou fora do ar é a desculpa perfeita pra eu finalmente parar de enrolar e criar uma versão maior, melhor, e mais verde.

Acredito que a nova versão estará online ainda essa semana, e terá tudo que uma boa aplicação rails deve ter. Será todo RESTful, e ainda permitirá exportar em XML as coisas que você emprestou, para que outras aplicações possam ler sua lista de empréstimos e integrá-la a outros serviços.

Como diria o senhor Didi Mocó Sonrisal Colesterol Novalgino Mufumbo, aguarde e confie.

Eu já havia postado aqui antes sobre a Dreamhost, um dos melhores servidores de hospedagem de sites que eu já encontrei. No meu post anterior eu falava sobre como eles davam muito espaço em disco, e direito a uma transferência enorme, mas agora eles estão loucos! LOUCOS! A Dreamhost agora está oferecendo hospedagem com espaço ilimitado, e transferência mensal ilimitada para os próximos 30 que assinarem. E o melhor é que eu e o pessoal do meu outro blog (Tomate Cru) ainda estamos oferecendo um desconto pra quem assinar!

Veja abaixo o cupom de desconto, e um guia de como assinar.

Hospedagem com tudo ilimitado!!

O serviço de hospedagem da Dreamhost suporta PHP e Ruby, com banco de dados MySQL. Eles possuem um ótimo painel de controle, e possuem várias aplicações web prontas para instalar com um simples clique, incluindo o próprio sistema Wordpress que uso neste blog. Mas o melhor de tudo é que eles não são daqueles hosts chatos que proibem um monte de coisa. Na Dreamhost, você é bem livre, e ainda pode se conectar por SSH para realizar algumas operações mais rapidamente.

Código de desconto: TOMATECRU.

Se você está pensando em assinar, aqui vem o melhor de tudo: Nós do Tomate Cru estamos oferecendo um cupom de desconto! Ou seja, estamos anunciando uma hospedagem sem limites, e ainda vamos dar desconto! Basta assinar a dreamhost e usar o cupom TOMATECRU, e já ganhará desconto. Se você assinar o plano mensal, vai ganhar $50 dólares de desconto (mais de R$100 de desconto!!). E se assinar o plano anual, você ganha $67 dólares de desconto. Independente do plano que assinar, você ganha direito a um domínio internacional de graça!

Deixa eu explicar direito aqui… o plano anual custa $120 dólares. Nosso cupom dá um desconto de mais de 50%! O preço cai abaixo da metade! Assine agora! Eu quero saber o que você está esperando! Eles só tem mais 30 vagas pra hospedagem ilimitada, corra para assinar!

(Clique abaixo para ler o restante do texto e ver um guia passo a passo de como assinar uma hospedagem ilimitada na Dreamhost. Se não quiser ler o guia, a parte de inserir o cupom de Desconto está na etapa 7 do registro).


Leia todo o texto »

June 18th, 2008Uma treeview funcionando

Vou agora demonstrar uma treeview do Yahoo User Library em funcionamento. Fiz uma página de teste, que contém uma estrutura simples em árvore.

Todo o código necessário pra fazer o treeview funcionar pode ser visto abrindo o código fonte da página no seu navegador, mas o trecho importante é este:

<script type=”text/javascript”>
//<![CDATA[
function mytree_Init() {
var tree = new YAHOO.widget.TreeView("mytree");
var parent_top = new YAHOO.widget.TextNode({ label: "Grupo Empresarial XYZ", href:"#" }, tree.getRoot(), false);
var empresa1 = new YAHOO.widget.TextNode({ label: "Empresa 1", href:"#" }, parent_top, false);

var filialA = new YAHOO.widget.TextNode({ label: "Filial A", href:"#" }, empresa1, false);
new YAHOO.widget.TextNode({ label: "Gerente Geral", href:"#" }, filialA, false);
new YAHOO.widget.TextNode({ label: "Gerente de Operações", href:"#" }, filialA, false);

var filialB = new YAHOO.widget.TextNode({ label: "Filial B", href:"#" }, empresa1, false);
new YAHOO.widget.TextNode({ label: "Gerente Geral", href:"#" }, filialB, false);

var empresa2 = new YAHOO.widget.TextNode({ label: "Empresa 2", href:"#" }, parent_top, false);

tree.draw();
}
YAHOO.util.Event.addListener(window, "load", mytree_Init);
//]]>
</script>

Apesar de um pouco feio, é um código simples que monta a estrutura da lista em árvore. Podemos tornar este código mais bonito? Sim! Usando as facilidades permitidas pelo Ruby on Rails, a mesma lista pode ser montada desta forma:

var test_data =
[0, { label: "Grupo Empresarial XYZ"},
1, { label: "Empresa 1"},
2, { label: "Filial A"},
3, { label: "Gerente Geral"},
3, { label: "Gerente de Operações"},
2, { label: "Filial B"},
3, { label: "Gerente Geral"},
1, { label: "Empresa 2"}];

Muito melhor, não é mesmo? Esta formação é possível quando criamos um método que vai pegar a estrutura acima e escrever o código javascript correspondente. Estas intruções de como criar este método no rails podem ser lidas neste blog.

Recentemente me incumbiram da tarefa de pesquisar sobre CMS em Rails, e algum método eficiente de apresentar conteúdo em formato de árvore (”treeview”) também em Rails. Após um tempo de pesquisa, encontrei boas soluções para ambos os casos.

No caso da exibição em Treeview, a melhor solução é utilizar a biblioteca Yahoo User Interface, ou YUI para os íntimos. Ela fornece todo o mecanismo necessário para a criação deste tipo de lista, e o Rails nos fornece os meios práticos e rápidos de gerar dinamicamente estas listas. Todo o procedimento para usar o treeview da YUI em conjunto com o Rails pode ser visto neste endereço. Os Helpers do Rails nos dão o meio necessário de tornar este processo o mais indolor possível. O resultado visual é como na imagem abaixo abaixo:

YUI Tree view

Quanto aos CMS, o mais usado parece ser o Radiant, usado em sites como na da SurgeWorks, empresa voltada ao desenvolvimento web com Ruby On Rails. Entre suas qualidades, o Radiant apresenta uma interface elegante, possibilidade de organizar páginas hierarquicamente, sistema de caching, gerenciamento de permissões de usuários, e um sistema de plugins de comportamento. Este CMS possui suporte a um sistema de tags especial, chamado Radius, e também suporta Textile, Markdown, e nosso antigo conhecido HTML na hora de desenvolver o conteúdo das páginas. Radiant CMS é distribuído sob a MIT License.

Outros sistemas de CMS podem ser encontrados na Web, mas nenhum deles parece maduro o suficiente pra ser usado em um site de producão de uma empresa. Mas caso haja curiosidade, vale a pena citar o Typo e Mephisto pra quem quer ter um blog, e Streamlined e Rubricks para quem está atrás de um site mais tradicional.

Uma pausa na série de artigos sobre o desenvolvimento web pra dizer uma coisa: eu odeio o Windows Vista. Não, sério… ódio mortal…

Nesta última sexta-feira minha placa de rede morreu-se. Acabou-se do nada, foi para o céu dos hardwares junto dos meus trinta e oito drives de CD e DVD*. Como estava sem internet, e um computador sem internet é como um carro sem pneus, resolvi instalar o Windows no meu PC.

Bad VistaNunca gostei do Windows Vista, mas como possuo duas cópias originais dele e nenhuma cópia original do Windows XP, resolvi instalar o Vista. Eu tinha deixado uma partição de 60GB no meu HD pra instalar o windows algum dia, e essa era a hora. Inseri o DVD do Vista, iniciei a instalação, preenchi o serial e já vi logo a frase dizendo “copiando arquivos”.

Fiquei encucado, porque ele não tinha nem perguntado em que partição eu queria instalar, mas deixei. Estava pensando “ahh, ele não apagaria minhas partições atuais assim do nada, sem nem perguntar ou dar algum aviso”.

Ah, como sou ingênuo.

Leia todo o texto »

A maioria das pessoas que tem um blog usa o FeedBurner pra dar uma incrementada nos seus feeds. A grande maioria também usa o Google Adsense pra obter retorno financeiro com um blog. Agora, ambas as ferramentas se aliaram.

Quem tem conta no feedburner e no google adsense pode agora entrar na opção Monetize do feedburner, e ativar a exibição de anúncios da sua conta do adsense nos feeds. Esta é uma ótima forma de se ganhar dinheiro online através dos feeds do seu blog.

October 13th, 2007Vamos a la playa

Estou saindo de viagem pra aproveitar o feriadão. Como não tive tempo pra deixar nenhum post preparado, o blog vai ficar parado até segunda de noite.

Mas aí prometo que faço algum post legal quando voltar. Enquanto isso, se quiserem, podem deixar aí nos comentários sugestões de assuntos pra eu falar na segunda-feira.


© 2007 Leonardo Bighi | iKon Wordpress Theme by TextNData | Powered by Wordpress | rakCha web directory