9 de jun. de 2010

Templates para seu Blogspot

Estar na Internet é cultivar a tua presença online tentando descobrir qual tipo de layout se adapta melhor ao conteúdo que você publica.

E para essa tarefa sites como o:



Blogger Templates - http://btemplates.com/

Adsense Blog Templates - http://adsense-day.blogspot.com/

Beautiful Templates - http://www.beautifultemplates.info/





mas nunca se esqueça que na Internet o conteúdo é rei.

7 de mai. de 2010

Como aprender a aprender?

O título deste post poderia ser:

Como aprender a programar?
Como aprender a fazer design?
Como aprender a fazer site?

mas acabei optando por "Como aprender a aprender?".

É uma dúvida comum entre muitas pessoas, me incluo nessas muitas, sobre como ser um melhor profissional.

E buscando informações na Internet sobre como eu poderia aprender a programar melhor, conheci uma história no blog de um cara chamado Fabio Akita baseando-se na apresentação de uma palestra de um outro cara chamado Ryan Davis com o título "Machucando Código por Diversão e Lucro".

Machucando Código por Diversão e Lucro - Ryan Davis from Fabio Akita on Vimeo.



A versão original pode ser vista aqui => http://goruco2008.confreaks.com/04_davis.html

Não tem muito haver com código, são vários temas muito bacanas sobre como melhor a si próprio para ser um melhor profissional, no caso um melhor programador. E um desses temas interessantes é o "Auto-melhoria" e nessa parte sugere que um programador para melhorar tem que escrever muito código, muito código e menciona uma história que o Ryan Davis comenta na sua palestra sobre o "Desafio dos Potes".

=================
Desafio dos Potes
=================


Um professor de potes disse a metade de sua sala que suas notas dependeriam da qualidade de um único vazo ao final do ano.
A outra metade que suas notas dependeriam da quantidade de vasos produzidos ao longo do ano.

Então ele pergunta: Qual metade você acha que produziu melhores potes?

E antes da resposta ele menciona uma frase:

"A função da grande maioria dos trabalhos artísticos é simplesmente lhe ensinar como fazer a pequena fração de sua arte que levanta vôo. Uma das lições básicas e difícies que todo artista precisa aprender é que mesmo as peças fracassadas são essenciais." Art & Fear - Bayles & Orland

E na história dos potes a turma que ficou com a história de que o último pote é que importava passou grande parte do tempo teorizando, fazendo um monte de desenhos para poder chegar no final e fazer o melhor pote. Já a outra metade acabou aprendendo fazendo e errando, fazendo e errando e no final com certeza desenvolveram os melhores potes.

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

E o que Davis chama de auto-melhoria tem haver com isso: acelerar o desenvolvimento pessoal errando mais.

Ou seja temos que estudar mas principalmente temos que produzir mais, produzir mais, produzir mais.... mais, mais e mais.

5 de mai. de 2010

Problemas com CSS, até quando?

Recebi um e-mail através de uma lista de discussão perguntando como que faz para resolver um problema com o CSS tal.

Muitas vezes esquecemos que é raro os casos que precisamos criar algo do zero.

Existem muitos CSS frameworks que facilitam esse trabalho de maquetação web.

Seus problemas com CSS acabaram! :)

Experimentem alguns frameworks para ver com qual você se adapta melhor e nunca mais tenha problemas com CSS :)

960 Grid System => http://960.gs/
Simple Grid => http://www.webnicer.com/simple-grid-system.html
The Golden Grid => http://code.google.com/p/the-golden-grid/
1Kb Grid => http://www.1kbgrid.com/
Blueprint => http://www.blueprintcss.org/

15 de abr. de 2010

Template Pronto versus Template Customizado

Template Pronto ou Template Customizado?

Acredito que uma questão chave para ajudar na escolha, é entender a relação entre resultado esperado e investimento a ser realizado.

Fazendo o prognóstico dos três cenários abaixo:

A) Template Monters Padrão
B) Template Monster Customizado
C) Template Exclusivo

Me deparo com as perguntas:

Que resultado o cliente espera do projeto?
Como realmente essa decisão da interface vai colaborar para aproximar a empresa do resultado esperado?

Então depois de refletir um pouco cheguei a conclusão:

Caso uma empresa precise somente de um site para adaptar-se ao mundo online, somente para modernizar um pouco sua presença onlime, os Templates Prontos como o Template Monster Padrão torna-se uma alternativa válida, ainda que existam competidores e outros sites com um design idêntico. Seguindo o conceito "release early release often". O custo seria baixo e tempo de entrega seria praticamente imediato.

Se uma empresa não sabe direito o resultado que deseja atingir mas tem alguma característica que o Template Pronto não contempla, a customização do Template padrão pode ser uma alternativa válida, acarretando em um custo um pouco maior por conta da customização e um tempo de entrega quase imediato.

Agora uma empresa quer resultados concretos e features que diferem das soluções em design disponíveis no Template Padrão ou que daria muito mais trabalho ficar adaptando que fazer do Zero, então não tem como fugir da terceira opção resultando em um maior tempo de desenvolvimento e logo mais investimento de grana no projeto.

Só que considerando que uma empresa consultou sobre a possibilidade de utilizar um Template Padrão como o Template Monster, em lugar do TM, eu recomendaria como possibilidade alternativa a utilização do Wordpress com um template customizado. Encaminharia algum site como o próprio repositório de temas do wordpress diversos templates prontos que poderiam ter o cabeçalho (header) e o rodapé (footer) personalizado e pronto.

Já que o TM é só template e existe ainda o custo de desenvolvimento do gerenciador de Conteúdo (CMS).

Com o Wordpress + customização de algum template disponível resolveria os dois problemas e garantiria a entrega do projeto mais rápido e com um menor custo acessível para qualquer empresa.

14 de abr. de 2010

Configurando domínios no Ubuntu com o Bind

Como eu nunca tinha tido a necessidade de configurar um servidor de DNS, não tinha a menor idéia, e procurando pelo Google, encontrei o Pinguim's Place do Alexandro Silva com um post show de bola que ensina como configurar o Bind9 no Ubuntu para rodar configurar domínios no servidor local.

Segui o tutorial completo eu tive o mesmo problema quando tentei reiniciar o bind com o comando

sudo /etc/init.d/bind9 restart


e ganhava como resposta:

* Stopping domain name service... bind9 [ OK ]
* Starting domain name service... bind9 [fail]


Depois de olhar o log do meu Ubuntu:

grep named /var/log/syslog | less


Percebi que tinha um problema com as aspas utilizada pelo tutorial e as aspas que são aceitas pelo meu Ubuntu 9.10 - o Karmic Koala.

Apr 14 19:08:58 kelow named[9747]: loading configuration from '/etc/bind/named.conf'
Apr 14 19:08:58 kelow named[9747]: /etc/bind/named.conf.local:13: expected quoted string near '“'

Dai foi fácil, editei o named.conf.local alterando as aspas e consegui corrigir esse problema.

O próximo passo foi configurar o dominio para criar um ambiente de teste para o meu projeto do www.guiatiete.com.br para funcionar localmente como http://guiatiete/ já que tenho várias aplicações e enche o saco ficar configurando uma coisa e outra por conta da diferença da estrutura real com o ambiente de teste...

Então descobri que tinha que configurar o virtualhost no apache2 do meu Ubuntu e segui a dica do Isaque Alves na comunidade Viva o Linux.

1. Primeiro copiando a configuração padrão para um novo arquivo:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/guiatiete.local


2. Fiz todas as alterações necessárias na VirtualHost tag, ServerName, DocumentRoot, Directory tag, etc... super simples...

3. Depois editei o arquivo /etc/hosts adicionando a linha

127.0.0.1 guiatiete.local guiatiete


4. Habilitei o novo dominio com o comando:

sudo a2ensite


5. Por último foi só reiniciar o apache com o comando:

sudo /etc/init.d/apache2 restart

11 de abr. de 2010

Rails com o mysql como padrão

Cansei de utilizar a o comando

rails NomeDaAplicacao --database=mysql


para que o rails cria-se o esqueleto da aplicação utilizando o mysql como base dados já que por padrão o arquivo database.yml criado está configurado para o sqlite3.

A solução foi encontrar o arquivo:

app_generator.rb


com o comando:

locate app_generator.rb


Então abri o arquivo:
sudo gedit /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails_generator/generators/applications/app/app_generator.rb


E editei a linha 10 do arquivo encontrado no meu caso de:

DEFAULT_DATABASE = 'sqlite3'


para:
DEFAULT_DATABASE = 'mysql'


Prontinho!

Rails configurado para utilizar o mysql como padrão sempre que eu criar uma nova aplicação.

10 de abr. de 2010

Problemas com a instalação do Rails

Formatei o meu super Kelow e logo de atualizar o sistema fui instalar o Rails.

Como já tive problema com a instalação do Rails utilizando o apt-get install rails, baixei o source do ruby-1.8.7, compilei e instalei na mão, depois fiz o mesmo com o Rubygems-1.3.6 e então com o Rubygems carregado tentei instalar o Rails com o comando:

gem install rails


Mas o meu sistema respondeu com um erro "no such file to load -- zlib (LoadError)"

A solução encontrada foi começar novamente do zero como sugere a wiki rails

1. Começar com instalando os pacotes de pre-requisito com o comando abaixo:

sudo apt-get install build-essential libssl-dev libreadline5-dev zlib1g-dev checkinstall


2. Entrei no diretório do source do ruby que eu tinha criado, executei um "make clean"

3. Compilei e instalei conforme recomenda a Wiki Rails

$ ./configure
$ make
$ sudo checkinstall


4. Logo de dar enter para todas as perguntas, a instalação foi concluída e fiz o teste executando o comando:

$ ruby -v


e o sistema retornou

ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]


5. E então fiz o teste das bibliotecas com o comando:

ruby -ropenssl -rzlib -rreadline -e "puts :Hello"


que respondeu "Hello" para a minha felicidade :) já que antes não tinha funcionado gerando o erro "no such file to load -- openssl (LoadError)"

Então com tudo funcionando eu rodei o comando:

sudo gem install rails


E beleza, Ruby on Rails e todas suas dependências instaladas e funcionando novamente.