JavaFree.org | RubyOnBr.org

Acompanhar Blogosfera Err... Blogosfera!

Última atualização: 6 minutos atrás

leonardofaria.net

Links for 2010-03-09 [del.icio.us]2010-03-10 05:00

Comente esse post


AkitaOnRails.com

[Off-Topic] Penn & Teller e Larry Flynt, sobre Liberdade2010-03-07 23:21

Estava assistindo o canal FX ontem e por acaso esbarrei numa reprise do excelente show Penn & Teller, Bullshit!. Eles são mágicos famosos que se apresentam em Las Vegas, já apareceram em diversos programas de TV e tem se próprio programa, o Bullshit!, que discute política, disputa o status quo, quebra falácias e folclores populares. Nesse episódio eles terminaram com um truque de mágica, queimando a bandeira americana e falando sobre Liberdade de Expressão. Assistam este trecho antes de continuar:

Não é novidade que eu sou um grande fã dos Pais Fundadores da América. Eu não sou particularmente de discutir sobre política, mas a filosofia me interessa. Nesse show, Penn queima a bandeira americana. Não sei se vocês sabem, mas esse ato que costuma ser executado em protestos públicos, em inúmeros países, é considerado um crime. Mas não nos Estados Unidos. Por causa da Primeira Emenda, que garante a Liberdade de Expressão, é inconstitucional ao governo censurar esse ato por ser considerado uma Expressão simbólica.

Ao final do truque, para quem não sabe, ele cita a segunda estrofe do Hino Americano, o Star-Spangled Banner:

On the shore, dimly seen through the mists of the deep,
Where the foe’s haughty host in dread silence reposes,
What is that which the breeze, o’er the towering steep,
As it fitfully blows, half conceals, half discloses?
Now it catches the gleam of the morning’s first beam,
In full glory reflected now shines in the stream:
‘Tis the star-spangled banner! Oh long may it wave
O’er the land of the free and the home of the brave.

Na costa, vista com dificuldade pelas névoas do oceano profundo,
Onde as orgulhosas hostes do inimigo em silêncio temoroso repousam,
O que é que a brisa, sobre o altíssimo precipício,
Enquanto sopra irregularmente, ora esconde, ora expõe?
Eis que ela reflete o brilho do primeiro raio de luz da manhã,
Em toda a sua glória refletida brilha sobre o rio:
É a bandeira estrelada! Ó, que por muito tempo ela tremule
Sobre a terra dos livres e o lar dos valentes.

A idéia é que a Liberdade de Expressão, a livre circulação de idéias, é muito mais importante do que a própria Bandeira que a simboliza, incluindo suas instituições. Esse valor é muito forte e extremamente importante para a fundação de uma grande sociedade.

Pensando sobre isso, me lembrei de outro caso famoso a esse respeito, O Hustler contra Jerry Falwell. Falwell é um desses líderes religiosos famosos na TV. Hustler é uma das maiores revistas pornográficas dos EUA. O ponto de discórdia foi uma sátira de um anúncio da Campari, publicada na Hustler, onde ela mostra uma entrevista satírica de Falwell falando sobre incesto com sua mãe, regado à Campari.

Falwell processou a Hustler. No final, o caso foi até a Suprema Corte e a decisão foi unânime 8 a 0:

“No coração da Primeira Emenda está o reconhecimento da importância fundamental do livre fluxo de idéias e opiniões em assuntos de interesse e preocupação pública. A liberdade de dizer o que se pensa não é apenas um aspecto da liberdade individual – e portanto um bem em si mesmo – mas também é essencial para a busca comum pela verdade e da vitalidade da sociedade como um todo. Portanto nós temos estado particularmente vigilantes para garantir que a expressão individual de idéias permaneçam livres de sanções impostas pelo governo.”

Se você ainda não assistiu, recomendo o filme The People vs Larry Flynt que mostra esse episódio. Veja a argumentação do caso no vídeo abaixo:

Para que uma sociedade floresça e se sustente, ela precisa de fundações sólidas. Por isso mesmo sou um grande fã dos Pais Fundadores, que nos anos 1700 tiveram a visão de escrever peças-mestre como a Declaração de Independência e a Declaração de Direitos dos Cidadãos.

No caso, todo esse pensamento para mim se mistura com o pensamento de Organizações, no sentido amplo da palavra, e Empresas, no sentido mais restrito. Em uma escala miniaturizada, uma empresa é uma comunidade, com sua própria cultura, regras, leis e governos. E nesse sentido me espanta como a fundação ideológica dessas comunidades ainda é muito primitiva. A maioria ainda se assemelha a Governos Totalitários, segundo a definição:

Totalitarismo é um sistema político onde o estado, normalmente sob o controle de uma única organização política, facção ou classe, não reconhece limites à sua autoridade e se esforça para regular cada aspecto da vida pública e privada onde quiser. Totalitarismo é geralmente caracterizado pela coincidência do autoritarismo (onde cidadãos ordinários não tem parte significativa nas tomadas de decisão do estado) e ideologia (um esquema perverso de valores promulgados por meios de instituições para dirigir a maioria dos aspectos da vida pública e privada).

Regimes ou Movimentos Totalitários se mantém no poder político por meio de uma ideologia oficial e propaganda disseminada por mídia controlada pelo estado, um único partido que controla o estado, cultos de personalidade, controle sobre a economia, regulação e restrições de discussões livres e críticas, o uso de vigilância em massa e uso de terrorismo do estado.

Soa familar? Garanto que você consegue descrever muitas empresas com a definição acima. Você tem direito à “liberdade de expressão”? Ou algumas opiniões são passíveis de punição, especialmente se forem semelhantes ao caso Falwell?

Na minha opinião, um documento de Missão e Valores de uma empresa, para não ser totalmente imprestável, deveria ser semelhante ao Bill of Rights e começar pelo menos com a mesma coisa que a Primeira Emenda.


Comente esse post


Nome do Jogo

Como estimar prazos precisos e imprecisos2010-03-04 15:47

Ilustração de hartboy

Definir quanto tempo será necessário para finalizar uma tarefa ou o desenvolvimento de um software não é (ou pelo menos não deveria ser) algo trivial. Estimar prazos faz parte do nosso dia-a-dia como programadores.

O que muita gente não se dá conta é que a precisão com que um programador prevê a entrega de tarefas e projetos é um poderoso indicador do quão bom ele é.

Para informar de forma precisa o tempo necessário para a realização de algo em desenvolvimento de software é necessário que o programador possua uma certa experiência no assunto, tenha um bom domínio do negócio, seja rápido e produtivo.

Embora muitos de nós não apreciem essa difícil tarefa, estimar prazos é parte do nosso trabalho. Fazer isso bem pode ser a diferença entre um programador profissional e um amador.

Em um dia normal, estamos estimando prazos o tempo todo. Ao colocar a comida no micro-ondas você deve informar quantos minutos serão necessários para esquenta-la. Se você tem um horário fixo para acordar, deve analisar quantas horas de sono serão suficientes e então decidir quando deve ir para a cama.

O segredo não está no tempo, mas em quão precisa deve ser a sua estimativa. Se seu chefe pergunta que horas você entregará o relatório amanhã, ele quer ter uma ideia se será antes ou depois do almoço. Se ele lhe pergunta quanto tempo será necessário para resolver um bug critico e colocar o sistema de volta em produção ele precisa de uma precisão maior.

A escala de tempo é muito importante ao se estimar prazos. Por exemplo, você pode dizer “O projeto será entregue em 25 dias” ou pode dizer “O projeto será entregue em cerca de 5 semanas”. Embora ambas as frases indiquem o mesmo tempo, o efeito sob cada uma delas pode ser diferente. Ao dar a primeira resposta, seu cliente provavelmente anotará na agenda dele o dia exato em que você entregará o projeto. Por outro lado, a segunda resposta fará com que ele lhe procure a qualquer momento daqui a 4 ou 6 semanas.

O livro The Pragmatic Programmer dá uma importante dica que nos ajuda a escolher a escala de tempo apropriada ao estimar prazos. Veja a tabela:

1-15 dias -> dias
3-8 semanas -> semanas
8-30 semanas -> meses
30 semanas -> pense bem antes de dar uma estimativa

Qual a vantagem disso? O fato é que quanto maior o tempo, mais difícil é a previsão, exigindo que você seja cada vez mais impreciso. Por exemplo, se sua estimativa é que serão necessários 125 dias para terminar um trabalho, é muito mais seguro dizer que precisará de “cerca de 6 meses” para finaliza-lo.

Todas as estimativas que fazemos são baseadas em nossas experiências passadas. Mas, o que fazer quando é necessário estimar algo que você nunca fez ou que não conhece? A resposta é simples: “não estime”. É melhor pedir para que alguém que já tenha feito algo semelhante lhe dê uma ideia do tempo necessário.

Além de considerar o grau de precisão, também é importante entender qual é o problema antes de começar a chutar um tempo. Quase sempre nossas estimativas dependem de outros fatores para darem certo: “Supondo que não haja trânsito dá para chegar aí em 20 minutos”.

Se possível é muito útil testar alguns aspectos do projeto antes de dizer quanto tempo será necessário para cumpri-lo. Se o sistema precisa ser carregado dentro do Facebook, seria muito bom poder gastar um tempo criando alguma coisa bem simples para esta plataforma afim de analisar o grau de complexidade, isto sem dúvida aumentará a precisão da estimativa.

É muito importante levar em consideração que a equipe, sua produtividade e o ambiente afetam diretamente sua estimativa.

Analisando todos estes fatores, a conclusão é que há apenas uma única resposta correta a se dar quando lhe é pedido para estimar um prazo: “Me dê algum tempo para pensar”. Você sempre terá resultados melhores se retardar a resposta e pensar um pouco mais.

Comente esse post


Area Criações - Web e Design - Home

Ganhador da promoção2010-03-02 14:51

Ontem fiz o sorteio da promoção da bolsa para o curso de Rails. Veja o vídeo do sorteio e quem foi o premiado.

Ontem fiz o sorteio da promoção da bolsa para o curso de Rails. Para a realização do sorteio foi utilizado o Twicket, veja abaixo o vídeo com o resultado:

<object height="378" width="504"><param /><param /><param /><embed src="http://vimeo.com/moogaloop.swf?clip_id=9855322&server=vimeo.com&show_title=1&show_byline=1&show_portrait=1&color=8a7ebb&fullscreen=1" height="378" width="504"></embed></object>

O vencedor foi o Rosano Cangussu com o tweet: http://bit.ly/dDePXO

A aplicação usada para o sorteio foi um pequeno projeto realizado em algumas horas utilizando o Sinatra. A app faz a comunicação com o Twitter e retorna o ganhador através dos tweets únicos do usuário com a hashtag escolhida.

Quem quiser conhecer a aplicação o link é: http://twicket.heroku.com/

Comente esse post


AkitaOnRails.com

Limpando meu Ambiente de Desenvolvimento - Parte 2 - Homebrew2010-02-28 05:08

Recentemente escrevi um artigo sobre como arrumei meu ambiente Ruby usando RVM. Desta vez quero falar sobre outros aplicativos open source como mysql, postgresql e mais.

Infelizmente, um dos grandes pontos fracos do Mac é a ausência de uma ferramenta oficial e robusta de gerenciamento de pacotes para software open source, algo como o Yum (Fedora, CentOS) ou Apt (Debian, Ubuntu). No mundo Mac temos duas ferramentas mais conhecidas, o Fink e o Macports. O Fink é baseado no Apt e pacotes Deb, é o que tem a maior quantidade de pacotes (mais de 10k), mas na minha experiência ele costuma não ter pacotes atualizados com muita frequência. O Macports é meio semi-oficial e é inspirado no Ports do BSD, tem menos pacotes mas os principais parecem mais atualizados.

O Fink instala seus pacotes normalmente no diretório /sw e o Macports no /opt/local. Uma coisa irritante sobre eles é que, como não são oficiais, eles criam um ambiente completamente separado. E o gerenciamento de dependência deles significa que, por exemplo, se um pacote depende do Python, ele não vai usar o Python já pré-instalado no sistema, mas vai instalar uma nova versão no diretório separado. Na maior parte do tempo eles até funcionam razoavelmente bem, até que alguma coisa começa a falhar e aí é um pesadelo. O Macports é o mais chato porque ele compila tudo a partir do código-fonte, incluindo todas as dependências, incluindo recompilar software que já existe no seu Mac.

No caso do MacPorts, ele compila tudo a partir do código-fonte, incluindo diversas dependências que você já tem instalado no Mac. Portanto ele gasta muito tempo duplicando as coisas. Softwares como ImageMagick e Git demoram bastante tempo para instalar. Para atualizar pacotes então, sempre é uma caixa de surpresas.

Homebrew

Entra o Homebrew, uma nova ferramenta de instalação de software open source. Não é um gerenciador de pacotes, ele basicamente é uma automatização da boa e velha forma de baixar um tar.gz, rodar ./configure; make; make install.

Parecido com o Macports, ele também baixa o código-fonte e compila tudo, porém ele tenta ser mais esperto. Para começar ele não tenta re-instalar coisas que seu Mac já tem, portanto sua gerência de dependências é bem mais simples.

O arquivo README do projeto é completo o suficiente para te guiar, mas vou copiar algumas partes importantes. Para instalar é muito simples. Ele prefere que você use o próprio diretório /use/local que é onde um Unix POSIX espera que você instale. Uma coisa meio controversa é mudar as permissões desse diretório para seu usuário:

1
sudo chown -R `whoami` /usr/local

Se você já tinha instalado o MySQL ou outro software manualmente via um instalador, faça:

1
sudo chown -R mysql:mysql /usr/local/mysql

Agora instale o Homebrew assim:

1
curl -L http://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C /usr/local

Como disse antes, o Homebrew não tem “pacotes”, ele tem “Formulas”, que nada mais são do que simples scripts em Ruby dizendo de onde baixar o código fonte, quais opções de compilação usar e assim por diante.

Como tudo é compilado, garanta que você tem o XCode instalado.

Pronto, agora basta instalar os softwares que quer, por exemplo faça:

1
2
3
4
5
6
7
8
9
10
11
brew install mysql
brew install git
brew install wget
brew install mongodb
brew install httperf
brew install redis
brew install riak
brew install imagemagick
brew install beanstalk
brew install ctags
brew install ghostscript

Para saber quais fórmulas você já instalou na sua máquina, faça:

1
brew list

Para saber quais fórmular estão disponíveis para instalar, faça:

1
brew search

Uma instalação costuma acontecer mais ou menos assim:

1
2
3
4
5
6
7
8
$ brew install freeimage
==> Downloading http://downloads.sourceforge.net/project/freeimage/Source Distribution/3
######################################################################## 100.0%
==> Patching
patching file Makefile.gnu
==> gnumake -f Makefile.gnu
==> gnumake -f Makefile.gnu install PREFIX=/usr/local/Cellar/freeimage/3130
/usr/local/Cellar/freeimage/3130: 3 files, 8.2M, built in 79 seconds

Note o diretório /usr/local/Cellar/freeimage/3130. Toda fórmula vai tentar instalar no diretório /usr/local/Cellar/[seu software]/[versao]. Então ele criará symbolic links em diretórios como /usr/bin, /usr/sbin, /usr/lib e assim por diante para que tudo funcione. Desta forma é fácil instalar uma nova versão em um novo sub-diretório e apenas refazer os symlinks. E isso também torna fácil apagar tudo se você quiser, basta fazer:

1
2
3
4
cd /usr/local
rm -rf Cellar
brew prune
rm -rf Library .git .gitignore bin/brew README.md

Obs: A fórmula do Postgresql tem alguns bugs ainda não resolvidos na versão atual. Uma coisa que funcionou para mim foi editar o arquivo /usr/local/Library/Formulas/postgresql.rb e retirar a linha que tem —with-python, que é o causador dos problemas.

Novas Fórmulas

Diferente do Fink e Macports, o Homebrew não tem mais que algumas dúzias de fórmulas prontas. Para atualizar as definições de fórmulas faça:

1
brew update

As fórmulas costumam ficar em /usr/local/Library/Formulas. Vamos criar uma nova fórmula para um software que ainda não tem uma definição. Normalmente você esbarra num post de blog com alguma instrução para instalar a partir do código fonte, algo no formato:

1
2
3
4
5
6
wget http://.../foo.tar.gz
tar xvfz foo.tar.gz
cd foo
./configure
make
sudo make install

O que você fará é:

1
brew create http://.../foo.tar.gz

Ele criará uma nova fórmula diretamente em /usr/local/Library/Formulas e vai abrir num editor de textos para você continuar a configurar o script. Por exemplo, digamos que queremos uma nova fórmula para instalar o Libiconv. A primeira coisa que vou fazer é baixar o código fonte e gerar o hash MD5 dele:

1
2
3
$ curl -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
$ md5 libiconv-1.13.1.tar.gz 
MD5 (libiconv-1.13.1.tar.gz) = 7ab33ebd26687c744a37264a330bbe9a

Agora, vamos gerar a Fórmula:

1
brew create http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz

Ele vai gerar algo assim:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
require 'formula'

class Libiconv <Formula
  url 'http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz'
  homepage ''
  md5 ''

# depends_on 'cmake'

  def install
    system "./configure", "--prefix=#{prefix}", "--disable-debug", "--disable-dependency-tracking"
#   system "cmake . #{std_cmake_parameters}"
    system "make install"
  end
end

Agora preenchemos o campo ‘homepage’ com a URL do projeto, o campo ‘md5’ com o hash que geramos mais acima. Se existir outras fórmulas de que este software dependa, declaramos usando depends_on e no método install colocamos a rotina de instalação. O Homebrew já me dá algumas variáveis padrão como o prefix que já me dá o local correto de instalação. Agora, editamos este arquivo para ficar assim:

1
2
3
4
5
6
7
8
9
10
11
12
13
require 'formula'

class Libiconv <Formula
  url 'http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz'
  homepage 'http://www.gnu.org/software/libiconv/'
  md5 '7ab33ebd26687c744a37264a330bbe9a'

  def install
    system "./configure", "--prefix=#{prefix}"
    system "make"
    system "make install"
  end
end

Pronto, agora você por instalar esse pacote normalmente:

1
brew install libiconv

Mais avançado do que isso, às vezes os softwares não foram preparados para instalar no Mac OS X e talvez seja preciso alterar seus arquivos antes de compilar. Para isso é necessário criar Patches e aplicá-los. Veja fórmulas como o /usr/local/Library/Formulas/xar.rb para entender como aplicar patches.

Leia com atenção o arquivo README e também navegue pelas fórmulas em Library/Formulas para aprender como gerar suas próprias fórmulas. Faça um fork do projeto original no Github e comece a contribuir com novas fórmulas.


Comente esse post


e-Genial 2010 - Simplesmente Notável

Sobre o verdadeiro capital2010-02-27 05:34

É engraçado quando outras empresas nos ligam para saber sobre nossos cursos on-line ou sobre o Treina TOM. Todos acham que estamos em um grande centro, em plena avenida paulista e todos vestidos de ternos e gravatas, o ambiente cinza que muitas empresas que surgiram nos últimos 5 anos citam.

Quando falamos que estamos em Sorriso ao norte de Mato Grosso para ser exato 420km da capital Cuiabá, todos ficam de queixo caído, ninguém consegue imaginar que em uma cidade com apenas 60 mil habitantes pode ter uma empresa que faz tanto barulho na internet brasileira, respectivamente no mercado de cursos de Ruby on Rails, Adobe Flex e Flash Media ou para ambientes on-line de conferências e treinamentos a distância através de nosso produto o Treina TOM.

Apesar do espanto, gostamos muito de ter este feedback tão espontâneo e direto, pois sabemos que apesar da empresa ter somente uma equipe de 6 pessoas e ficar no interior do estado, estamos fazendo um trabalho interessante e de qualidade para todos os mais de 1.500 alunos de nossos cursos on-line e todos os clientes do Treina TOM.

Mas esse feedback nunca veio em vão e merece uma breve história do que já passamos e o que procuramos manter por aqui para que tudo ande cada vez melhor. Acredito que já citei por aqui ou diretamente para muitos de vocês como nasceu nosso primeiro curso on-line, se não, então vai aqui uma breve experiência.

A e-Genial existe a 5 anos, nasceu a partir de um notebook e uma internet a rádio, trabalhávamos com desenvolvimento de aplicações web em Jee e afins, passando por Zope, Plone, PHP até que conhecemos Ruby on Rails 1.6.

Quando o empreendedorismo está de alguma forma presente na vida das pessoas, estas pessoas passam a ter um feeling incrivél para novas oportunidades, e foi isto que aconteceu conosco em um final de tarde em uma leve caminhada nas longas e plainas ruas de Chapadão do Sul – Mato Grosso do Sul.

Como ministrava treinamentos presenciais de Java e tinha que viajar pelo brasil,  vi no Ruby on Rails uma grande oportunidade para entrar de vez no mercado de treinamentos de um modo macro e com o objetivo de atender todo o brasil.

Nesta época ainda o mercado de ensino a distância no brasil não era tão presente na área de tecnologia como é hoje, e os que existiam deixavam os alunos simplesmente “largados” por conta própria. Para vocês terem uma idéia, ainda hoje temos testemunhos de alunos que desacreditam totalmente nos métodos de ensino à distância tradicionais por só usarem moodle, textos, conteúdos estáticos e assíncronos.

Em 2007,  ainda quando nossos móveis da sala e o guarda roupa eram feitos de caixas de papelão,  nasceu a idéia de desenvolver um produto próprio que pudesse ser usado em nossos cursos a distância e que viesse a gerar conveniência para nós e para todos os participantes de nossos futuros cursos on-line.

Começamos uma pesquisa por ferramentas que primeiramente tinham que caber em nosso bolso, porque dinheiro só existia para comer e pagar o aluguel da casa. Nesta época conheci Adobe Flex e Flash Media Server, então comecei a gastar 24 horas de cada dia estudando estas tecnologias para criar um ambiente próprio para nossos cursos. E foi aí que surgiu o Treina TOM, que já em sua primeira release no dia 13 de Julho de 2007 entrou em produção com a palestra on-line de JRuby com o Fábio Akita, alguém lembra disto?

Como não tínhamos um servidor dedicado a sala caiu mais de 4 vezes, foi um caos, mas o tempo que ficou no ar foi muito bom pela experiência que aquele ambiente estava criando no mercado de desenvolvimento web brasileiro. Foi simplesmente fantástico!

Uma semana depois colocamos no ar mais uma palestra on-line, desta vez foi com o Vinícius Manhães Teles com o tema Extreme Programming. Agora advinhem o que aconteceu com quase 50 pessoas na sala? É isso mesmo, a sala caiu mais de 3x e lá se vai mais um evento e mais uma experiênia para nosso capital intelectual.

Mesmo tendo estes problemas começamos os primeiros cursos on-line de Flex Ruby on Rails e Ruby on Rails do básico ao avançado, tudo parecia perfeito, pois estas salas não caiam quando o trafégo de conexões simultâneas eram poucas, estavam firme e forte, até que…  A sala começou a cair e gerar um problemão para nós, ainda mais que entendemos que este problema não estava diretamente ligado a  sala do Treina TOM em sí, mas sim ao servidor de FMS da Locaweb que simplesmente derrubava todas as instâncias disponíveis.

Sem experiências em tomadas de grandes decisões, com uma perspectiva grande no crescimento dos cursos e com mais turmas agendadas a única maneira de resolver este problema era montar um servidor dedicado que custava na época R$ 1.200,00 reais mensais, mais  uma licença do Flash Media Server  no valor de R$ 18.000,00 reais. Para quem tinha móveis feitos com caixas de papelão, tomar uma decisão destas não foi fácil, mas foi preciso acreditar em nosso feeling para fazer deste segundo passo uma realidade.

Como a empresa nasceu sem nenhum capital ou apoio de consultores e especialistas em empreendedorismo, muitas coisas interessantes aconteceram durante estes anos. Agora, depois destas experiências gostaria de compartilhar algumas delas com todos vocês, destacando alguns pontos que tenho orgulho de ter aprendido na escola da vida. Quem sabe alguns destes pontos pode ajudar algum de vocês a treinar o feeling ou até mesmo tomar algum tipo de decisão. Afinal, não estamos aqui só para aprender, estamos aqui também para compartilhar.



A bola da vez

Aproveito agora que a história começa a ficar interessante para continuar a sequência de posts sobre empreendedorismo que iniciou com o Vedovelli e que em seguida  passou a bola para o Ebercom, e este agora passou a bola para mim compartilhar alguns pontos de nossas experiências. Então vamos lá!



Acredite em seu segundo passo

Até então o que tínhamos era uma força de vontade muito grande (E ainda temos) para vencer este novo desafio. Lembro-me como se fosse hoje que passamos uma noite em claro pensando sobre esta decisão, até que resolvemos assumir o compromisso e compramos a licença do Flash Media Server em 3x e em seguida fechamos um contrato anual com a Locaweb IDC ao qual estamos usando até hoje.

Quinze dias depois conseguimos pagar a primeira parcela da licença do FMS e com o aumento da matrículas conseguimos quitar todas as parcelas antes das datas de seus respectivos vencimentos, com isto nossa motivação aumentou e entramos de cabeça em busca de nossos sonhos e objetivos. Mas isso é um caso a parte, não gostaria que vocês fizessem o mesmo, pois não teve um planejamento, o que realmente nos guiou foi mais uma vez o feeling do empreendedorismo e a paixão de vencer.



Treine e procure usar seu feeling com frequência

Dado o segundo passo, as coisas começaram a fluir naturalmente, mesmo sem ter estudado nada sobre empreendedorismo, acreditar em nossos objetivos sempre esteve na posição número um, o que fez agirmos rápido para não deixar a oportunidade bater na porta e passar batido.

Hoje o ritmo continua o mesmo, cada turma de nossos cursos on-line sempre nos trás algo novo para aprender, assim como cada case Treina TOM  soma ao nosso capital intelectual. E como a todo momento temos novas turmas, novas pessoas e novos cases, sempre há negociações que precisamos tomar algum tipo de decisão, aí entra o feeling da experiência, pois além do feeling que desperta a paixão pelo seu negócio, há também o feeling que só existe depois de um bom tempo de experiências vividas por você e seu negócio.

Mas não se preocupe, tudo tem seu tempo, se você já deu o segundo passo, o resto é natural, e já deve entender o que estou querendo dizer aqui. Agora se você não deu este passo, tome vergonha na cara e comece já.



Sua rede de contatos profissionais devem ser os melhores

Para manter um negócio na web é preciso ser diferente de alguma forma. Um diferencial de nossos cursos e grande destaque são realmente nossas parcerias com grandes nomes da comunidade de desenvolvimento web brasileira. Procuramos sempre ter os mais feras por perto mesmo que não seja para um contato profissional ou para a realização de algum serviço.

Ter grandes contatos e principalmente amigos, nos ajudou a pensar de forma diferente, grandes profissionais estão acima da média, e para ter um negócio acima da média precisamos de feedbacks de pessoas que irão falar a nossa língua. E se estes profissionais usarem e vivenciarem nossos produtos, melhor ainda será o feedback e sugestões.



O braço direito

O Treina TOM foi totalmente desenvolvido por mim inicialmente, a plataforma de cursos a distância também, foram noites sem durmir, muitos estudos e muito tempo gasto em prol de nosso objetivo maior que é vencer a todo momento um grande desafio.

Eu só pude trabalhar com Flex, FMS, Ruby on Rails e afins graças ao meu braço direito, a minha esposa Erenice, é ela que comanda toda a administração da empresa, e tem feito isso com tanta excelência que sem ela provalmente a e-Genial nem existisse mais. Eu tenho orgulho de citar isso, existem muitas mulheres que são feras em administração, e não é atoa que estão aí tomando os lugares de marmanjos engravatados.

Então a e-Genial é uma empresa familiar? Se vocês entenderem desta forma, não há problemas, a e-Genial é sim uma empresa familiar e tenho também orgulho disto. Primeramente porque não dá para ser fera em tudo, imagine ser programador, cuidar de servidores, vender o produto, criar cursos, fazer matrículas, receber o dinheiro, enviar boleto, responder emails, cuidar do marketing e ainda fazer a comida e passar roupa. Tudo isso feito por uma pessoa só, você. Loucura não?

Ter um braço direito vai ajudar a colocar na balança muitas questões importantes e isso é bom porque tem um efeito positivo, não sobrecarrega o trabalho e ajuda a focar em seus objetivos e metas.

Foi e continua sendo assim comigo até hoje, e pode ter certeza que funcionará com com você. E sinceramente? Não tenho visto muitas empresas de sucesso de tecnologias feitas e mantidas por uma pessoa só. Então acordem e reconheçam os talentos mais próximos de vocês, pois estas pessoas vão ajudar a deslanchar seus objetivos.



Quem não se comunica, se trumbica!

Quando vimos que não dava mais para continuar a empresa somente com duas pessoas, contratamos mais duas pessoas que depois de 4 meses tivemos que dispensar. Passou 1 ano e contratamos mais 2 pessoas, e mais uma vez depois de 4 meses não deram certo e tivemos que dispensar.

O tempo passou e entendemos que não é todo mundo que tem facilidade para aprender sozinho, sem você  ali do lado, treinando, acompanhando e ajudando as coisas não andam! Afinal, o olho do dono engorda o gado, isso foi fato comprovado depois destas experiências.

Os primeiros colaboradores ficavam por conta própria, estude você, encontre as tarefas e desenvolva a solução. Isso não funcionou conosco e não vai funcionar com você. Então fique atento e foque em uma equipe de boa comunicação, crie palestras a cada sexta feira onde cada um fala de um assunto de seu interesse próprio, fale sobre tecnologia, fale sobre a missão da empresa e onde querem chegar, automaticamente vocês irão perceber que as tarefas irão andar de forma mais síncrona.

Hoje procuramos acompanhar e estar sempre ao lado de nossos colaboradores preservando pela boa comunicação na equipe, levando até eles informações de outros setores da empresa, metas e objetivos para as próximas semanas, meses e anos.



Uma meta, uma motivação

Tudo o que sobra de cada dia de nossas vidas é a experiência, e experiência gera capital intelectual, e para para fazer uma empresa na web acontecer é preciso ter experiências vindas de metas e motivações.

Não sou muito fã de livros motivacionais, mas tenho usado a mais de 5 anos técnicas de Programação Neurolingüística que aprendi com o livro Poder Sem Limites de Anthony Robbins. Aplico alguns exercícios antes de durmir, e um deles consiste em visualizar a solução para meus problemas, ou pegar o problema e minimizá-lo até ele sumir em minha mente.

Estas técnicas me ajudam a manter o foco e a reduzir o medo na hora de tomar algum tipo de decisão ou iniciar um novo projeto ou tarefa. Outra técnica muito interessante que tem dado sempre certo, é que para uma meta sempre existirá uma recompensa. Pode ser qualquer coisa como, “ao entregar o produto para o cliente eu vou comprar uma televisão de 52 polegadas”, “ao terminar esta terefa eu vou passear com minha família”, “ao terminar de escrever este post eu vou brincar com minha filhinha”, “quando entregar esta milestone vou dar uma volta no shoping e comer uma batata recheada”, “ao colocar nosso novo produto no ar, a empresa irá crescer e mais experiências serão geradas”, “ao fechar uma turma de 40 alunos do curso de Ruby on Rails do básico ao avançado, vou guardar o dinheiro no caixa da empresa para investimentos futuros”.

Não sei se isto funcionaria com vocês, mas tem funcionado perfeitamente comigo, é como se fosse uma troca, pode ser um trabalho grande, mas com uma recompensa pequena, mas ao aplicar as técnicas de Programação Neurolingüística, estas motivações costumam a ficar bem grande em nossas mentes.



O verdadeiro capital

Eu(Carlos Eduardo) em especial, acredito muito no potencial das pessoas e acho que boa parte dos brasileiros são empreendedores até mesmo sem saber. Não foi diferente conosco e com vocês também não poderá ser. Então acreditem e invistam em cada passo de suas idéias e tomadas de decisões.

Não sabemos se já somos uma empresa de um, dois ou dez milhões de reais, o que sabemos é que temos um capital intelectual  de nossas experiências que não tem preço. E é este o capital que vamos continuar a investir nele e sem cessar. O bem material vem com o tempo, e depende automaticamente das qualidades profissionais, pessoais e bondade de nossos feitos.

Quando cito bondade, não digo em somente ajudar a quem está iniciando um negócio novo na web ou uma ajudar a quem está começando com programação, mas sim fora do mundo virtual, uma ajuda ao mundo real, sua família, amigos e pessoas especiais que realmente precisam de seu apoio capital e intelectual.

Não esqueça que capital intelectual só é gerado com as experiências geradas pelas suas tomadas de decisões, sejam elas pequenas ou grandes, sejam através de suas metadas e motivações.

Capital intelectual é o valor que vocês e nós temos neste instante. Viva, aprenda e compartilhe, não espere que tudo vai cair do céu, lembre-se amanhã a empresa de vocês poderá ser a bola da vez, e a única coisa que irá acompanhar cada um de vocês nesta transição é a experiência.

Comente esse post


Area Criações - Web e Design - Home

Ganhe uma bolsa para o curso de Rails2010-02-26 20:56

Dia 01/03 começa mais uma turma do curso de Ruby on Rails do básico ao avançado. As vagas ainda estão abertas e o curso cobre desde os primeiros passos com Ruby até a criação de um projeto completo em Rails e como colocá-lo no ar.

Combinando o conforto do estudo a distância com a plataforma da eGenial nós conseguimos ministrar um curso online ao vivo melhor do que um curso presencial. Pessoas de qualquer região do país podem se inscrever e entrar com pé direito no mundo mágico do Ruby.

Inscrevendo-se você terá acesso a 300 páginas de material exclusivo, lista de discussão fechada, código fonte e 22 aulas ao vivo (que também são gravadas para quem não esteve presente). Também teremos uma aula extra cobrindo todas as novidades do Rails 3.0 beta e como se preparar para a migração.

Assista a primeira aula gratuitamente para entender como funciona o treinamento: DOWNLOAD


Promoção

Para festejar o sucesso que tem sido os treinamentos de Ruby e já abrir o ano com chave de ouro vamos sortear uma bolsa integral para esta turma.

Para participar da promoção é bem simples. Basta fazer um tweet com a mensagem abaixo:

Retweet e aprenda Ruby on Rails em curso virtual ao vivo na @egenial! http://bit.ly/dpl2Gl #promorails

O ganhador será anunciado no meu twitter e aqui no blog na segunda-feira (01/03).

Comente esse post


Area Criações - Web e Design - Home

Como deixar suas apps até 80% mais rápidas2010-02-26 02:37

No mês passado eu fiz uma apresentação no nosso grupo local de Ruby, o RailsMG, falando sobre otimização de frontend. As dicas da apresentação servem para qualquer linguagem, mas eu mostro como solucionar cada problema usando o Rails.

Como tive alguns problemas na gravação e para editar o que foi filmado no dia acabou não ficando muito legal eu resolvi regrar em formato de screencast. O vídeo tem por volta de 50 minutos e mostra os conceitas da otimização e como aplicar na prática em um projeto Rails.

Quem estiver interessado em entrar no mundo do Rails não deixe de participar do curso da eGenial que inicia agora dia 01/03. Para mais detalhes acesse: http://www.egenial.com.br/cursorails

No mês passado eu fiz uma apresentação no nosso grupo local de Ruby, o RailsMG, falando sobre otimização de frontend. As dicas da apresentação servem para qualquer linguagem, mas eu mostro como solucionar cada problema usando o Rails.

Como tive alguns problemas na gravação e para editar o que foi filmado no dia acabou não ficando muito legal eu resolvi regrar em formato de screencast. O vídeo tem por volta de 50 minutos e mostra os conceitas da otimização e como aplicar na prática em um projeto Rails.

A apresentação é bem parecida com a que apresentei no RailsForKids de 2009 mas com atualizações e novos slides (que você pode baixar separadamente aqui).

O código fonte dos exemplos está disponível no meu GitHub em github.com/danielvlopes/optimizing_rails_frontends e conta com uma versão usando o asset_packager e outra usando o jammit.

&lt;object height="391" width="504">&lt;param />&lt;param />&lt;param />&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=9010703&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=8a7ebb&amp;amp;fullscreen=1&amp;amp;group_id=" height="431" width="544">&lt;/embed>&lt;/object>

Comente esse post


mergulhaoinfo on rails - Home

Curso de administração Linux e deploy de Apps Rails2010-02-24 01:34

Hoje eu e o Carlos Eduardo da e-Genial fechamos os últimos detalhes de um novo curso: Imersão Sys Deploy! Os alunos vão aprender tudo sobre como configurar adequadamente um VPS para rodar aplicações Rails usando Apache com Passenger, Mysql e deploy com Capistrano.

E de quebra ainda vão ter capítulos específicos para tratar de serviço smtp com postfix, backup, monitoramento e segurança. É um curso completo sobre administração de servidores por um preço imperdível!

E ainda tem mais! Cada aluno do curso terá acesso a um VPS exclusivo onde ele executará as tarefas junto comigo. As aulas serão aos sábados pela manhã pelo TreinaTom.

Para saber mais detalhes acesse já o site do curso e faça a sua inscrição, as vagas são limitadíssimas.

Comente esse post


railsbox

Aruba - Como testar suas linhas de comando com Cucumber2010-02-22 12:35

Que tal testar seus scripts ruby com Cucumber? Agora é possível e da mesma forma que testamos as nossas aplicações web. Aruba, do mesmo criador do Cucumber, fornece uma ambiente familiar para testes de saída, status e comandos do sistema. Abaixo um pequeno exemplo para um teste de status de saída:

Para usar aruba, basta instalar a gem:


sudo gem install aruba

e, em seguida, adicione em seu

env.rb
ou em qualquer arquivo em
features/support


require 'aruba'

Comente esse post