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.

8 de abr. de 2010

Atalhos para os comandos básicos do Rails

Encontrei uma ótima dica no "http://simplesideias.com.br/criando-atalhos-para-os-comandos-mais-usados-do-rails/">blog do Nando Vieira sobre como facilitar a vida de quem desenvolve ou
está estudando Rails e usa linux.

A dica é para criar atalhos para os comandos básicos do Ruby on Rails e evitar ter que toda hora ficar digitando

script/[comando]

A solução é criar ou editar o arquivo:

/home/usuario/.bash_aliases

E adicionar o seguinte conteúdo:

#rails

alias server="script/server"
alias rconsole="script/console"
alias rlog="tail -f ./log/development.log"
alias controller="script/generate controller"
alias model="script/generate model"
alias scaffold="script/generate scaffold"
alias migrate="rake migrate"
alias migration="script/generate migration"

Depois conforme o Rafa Martins comentou na página do Nando, talvez seja preciso editar o arquivo:

/home/usuario/.bashrc

E, descomentar as linhas:

if [ -f ~/.bash_aliases ]; then.
~/.bash_aliases
fi

No meu Ubuntu foi necessário fechar o terminal e entrar novamente para que então os atalhos estivessem disponíveis para uso.

Mas valeu a pena, agora ficou bem mais prático.

Depois que criar a estrutura básica da aplicação com o comando "rails nomedoprojeto" é só entrar dentro da pasta e digitar:

#create controller
controller say

#create model
model User

#start server
server

etc... :) Legal, né?

A Vivo é a pior operadora de telefonia do Brasil

Porque é a Vivo é a PIOR operadora de celulares no Brasil?

Entendam porque afirmo que a Vivo é a pior operadora do Brasil além de incoerente e injusta.

Fico imaginando quantas vezes a pior operadora do Brasil já fez isso!?

Não usem essa operadora! Porque um dia ela poderá fazer o mesmo com você.

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

Contratei um plano pós-pago no dia 19/08/2000 junto a Vivo , pior operadora de telefonia móvel do Brasil, e acreditava que o cancelamento havia acontecido em 2001.

Mas no dia 10/11/2009, depois de 01h36 minutos de espera para contratar um plano pós-pago com a mesma operadora fui informado que o procedimento não seria possível por eu ser devedor da Vivo com contas em atraso desde 2001 até 2005 que totalizam R$701,70.

Então escrevi uma carta de próprio punho contestando a divida em meu nome já que não recebi cobranças da mesma durante esse período.

A Vivo, pior operadora de telefonia móvel do Brasil, ignorou a contestação realizada e enviou no dia 15/01/2010 um primeiro aviso de um débito de R$701,70 com um descritivo de R$79,66 ameaçando enviar o valor do débito total para as agências de cobrança.

Tornei a contestar essa dívida perguntando porque nunca me enviaram comunicação anterior informando sobre essa dívida no dia 21/01/2010 (que foi o dia que recebi essa notificação do dia 15) pela Internet, o atendimento da Vivo, a pior operadora do Brasil, respondeu no dia 28/01/2010 afirmando que não existe equivocos por parte deles e em outras palavras reafirmam que sou inadimplente e que sou obrigado a pagar essa dívida que eu acredito que paguei mas que não tenho como provar.

Contestei novamente no dia 28 solicitando uma fatura detalhada sobre esse débito e não tive resposta. Recebi então outra notificação como ultimato para quitação dessa dívida, entrei em contato com o atendimento via voz e solicitei um detalhamento dessa dívida e passado alguns dias simplesmente recebi três boletos sem detalhamento:

10/05/2001 - R$113,57
10/06/2001 - R$259,09
10/07/2001 - R$405,97

Totalizando R$778,63. Fora os débitos em aberto de 2001, 2002, 2003, 2004 e até abril de 2005.

Ou seja a Vivo, pior operadora de telefonia móvel do Brasil, declara que eu devo R$701,70 e justificam esse valor com três faturas que superam esse valor.

E para certificar a fragilidade do controle da Vivo pior operadora de celulares do Brasil, fui informado ontem que a dita operadora negociou comigo o parcelamento dessa dívida em abril de 2005, época que eu estava morando em Montevideo (Uruguay), ou seja essa negociação não existiu. E passado quase 10 anos, realmente não tenho comprovar a quitação dessas contas.

Quando eu peço o histórico das chamadas para ver se essas contas são minha mesmo, vocês falam que por lei eu teria 120 dias para fazer essa solicitação. Mas querem que eu tenha comprovantes desses pagamentos quase 10 anos depois do ocorrido (se é que fui eu quem fiz essas chamadas), se a Vivo, pior operadora de celulares do Brasil, que me acusa não tem comprovantes, porque eu que nem sabia do acontecido deveria ter? Eu fiquei sabendo dessa dívida no final do ano passado, ao contrário da Vivo pior operadora de celulares do Brasil, que pelo que consta sempre soube e ainda assim escolheu não guardar esses históricos. E ainda estão inventando que negociaram comigo esse tal parcelamento da dívida, ainda que na época informada eu nem no Brasil estava!!! Mais! A pior operadora do Brasil não me enviou cobranças nessa época. Mais ainda!

A Vivo, pior operadora de celulares no Brasil, segue ignorando tudo isso!

7 de abr. de 2010

Instalando o aMSN 0.98.3

Foi bem mais trabalhoso do que eu imaginava e resolvi criar esse post na esperança de tentar ajudar outras pessoas que não tenha a mesma paciência ou habilidade com o linux, não que eu seja expert nesse sistema operacional, mas a cada dia vou me familiarizando mais e mais com o meu Ubuntu :)

O primeiro passo foi baixar a versão Tarball Source do aMSN 0.98.3

Fiz a descompactação do arquivo comprimido e executei o tradicional "./configure" dentro do diretório e ai começaram os problemas.

Então foi necessário instalar algumas bibliotecas:

sudo apt-get install tcl-dev
sudo apt-get install tk-dev
sudo apt-get install libpng-dev
sudo apt-get install libjpeg-dev
sudo apt-get install build-essential libgstreamer0.10-0 gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-farsight gstreamer0.10-tools gstreamer0.10-alsa

Feito isso tentei novamente o tradicional "./configure" e foi necessário instalar o Farsight

Então baixei o Farsight2 que é um framework para lidar com os protocolos de áudio / vídeo conferência utilizados pelo aMSN e seguindo as orientações da página do desenvolvedor executei o comando abaixo para fazer a instalação do mesmo:

./configure --prefix=/usr --disable-gtk-doc

E como vocês podem imaginar é claro, não funcionou de primeira!

Já que para executar-lo foi necessário instalar um pacote de dependência

sudo apt-get install libnice-dev

E tentando preparar o instalador do Farsight2 com o ./configure recebia a mensagem

No package 'gstreamer-0.10' found

E descobri nessa página como resolver essa dependência executando o comando
sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
Pensei comigo, agora vai!

E então recebi uma nova mensagem
could not find Python headers
E nessa outra página peguei a dica de que tinha que instalar mais bibliotecas
sudo apt-get install python-dev python-gtk2-dev

Mas foi necessário baixar e instalar a biblioteca GST Python.

Como ainda assim não funcionava encontrei no Google uma wiki de usuários do aMSN onde recomendava baixar as últimas versões do libnice and farsight2

E assim segui a recomendação baixando, descompactando e instalando primeiro o libnice com a sequência de comandos abaixo:

./configure --prefix=/usr --disable-gtk-doc
make
sudo make install

Para depois finalmente consegui instalar o farsight2, saindo do diretório do libnice e entrando no diretório correspondente ao farsight2 e executando os comandos abaixo:

./configure --prefix=/usr --disable-python --disable-gtk-doc
make
sudo make install

Seguido do comando para compartilhar as novas bibliotecas.

sudo ldconfig

E então voltei ao diretório do aMSN 0.98.3 e finalmente consegui instalar com a sequência

./configure
make clean
make
sudo make install

Meio confuso mas foi assim que consegui atualizar o meu aMSN :)