terça-feira, 8 de dezembro de 2009

Santos Dummont era open source

Tirando as teias de aranha daqui, volto com um post que foge da linha técnica.

Deixa eu começar com uma história que me aconteceu uns dias atrás. Uma amiga minha, a Jaque, começou a fazer uns cursos voltados para desenvolvimento web. Ela, designer, ficou um tanto espantada com a complicação que é fazer a coisa direito (tags, HTML x XHTML, CSS, seletores, propriedades, navegadores diferentes renderizam diferente, preocupação com múltiplas plataformas, navegadores, resoluções de tela).

Também pudera, qualquer pessoa que entra no mundo de fazer web a sério desanima quando topa com toda essa complicação técnica. Eu conversei com ela, expliquei, mostrei algumas ferramentas legais (como alguns addons MUST HAVE do Firefox...). E depois de um tempo, lembrei que eu tinha feito a tempos atrás uns mock-ups praticamente bullet proof.

Uns esqueletões em XHTML e CSS, com direito a menuzinho bacana e tudo o mais, cross-browser (não cheguei a testar no IE8, no FF 3.5, nem no Opera 10... ainda), adaptável a várias resoluções, e por aí vai. Claro que a intenção não era dispensar o trabalho de um designer ou de um programador, mas pelo menos para essa parte chata, burocrática e que consome um tempo enorme do desenvolvimento poupar tempo, bastando apenas editar cores, bordas, fontes, espaçamentos e rechear com as imagens.

Enviei pra ela (pro namorado dela e para mais dois amigos). Ela achou bacana, completamente crú, mas dentro da proposta de facilitar as coisas. E eis que ela me lança a pergunta: "Hey, pq vc não vende isso?". Na hora fiquei meio sem reação, mas respondi que é pq eles eram meus amigos, oras.

Mas no fundo, é o mesmo motivo pelo qual eu escrevo e publico tutoriais ao invés de dar aulas particulares. É porque eu encaro o conhecimento como um bem para a humanidade. É isso. Tem gente que não entende, ou não concorda, ou ainda que acha insanamente altruísta esse lance todo.

Pode ser. Afinal, vamos a uma análise do processo. Construir algo de útil demanda recursos. Muitos recursos. No caso do software não é qualquer pessoa apta a criar algo, muito menos com qualidade e refinamento. Demanda muito tempo e dedicação, muito estudo, tentativa e erro, refinamento, leitura e aprendizado de novas técnicas... Mas depois que você tem algo relativamente satisfatório em mãos, não há muito mais o que fazer. O custo para a reprodução, replicação é MUITO baixo. Ao contrário de fazer um trem por exemplo, que demanda muita matéria prima, o software não demanda praticamente nada.

Esse é um dos pontos. Um outro é compartilhar conhecimento. Vamos tomar por base algum framework, como o Rails, o Kohana, ou o JQuery. Sem dúvida dá pra aprender muito e/ou aprofundar seriamente os conhecimentos apenas lendo os códigos deles. E sim, eu acredito que pessoas que fazem isso, que leem códigos levam o que fazem a sério, então nada mais justo do que compartilhar conhecimento com essas pessoas. Um dia mais tarde elas podem - e quase sempre realmente fazem isso - ajudar a aprimorar algo que também seja Open Source.

Ler códigos, analisar e entender, é uma das melhores práticas para se aprender alguma nova técnica e assim melhorar a qualidade do seu serviço, ou notar onde vc estava errando na sintaxe/raciocínio.

OK, falei do caso software, baixo custo de reprodução, vantagens à comunidade que realmente sabe e gosta do que faz. Mas e as outras coisas? Outros produtos e bens. Vamos terminar com um pouco de história.

Eu falei do trem. Para produzir um são necessários vários recursos. Mas e a planta, os rascunhos, o processo? Nada mais são do que folhas com anotações, desenhos, valores chave.... De posse desses documentos, qualquer pessoa com condições de ler e interpretar, e tendo os recursos necessários poderia reproduzir o produto em questão. seja uma folha de papel, ou um foguete.

Santos Dummont tinha essa visão, e também alegava que o conhecimento é um bem para a humanidade. Todos os seus projetos eram o que poderíamos chamar hoje de Open Source.

Assim, creio que nossa sociedade ainda não está evoluída a tal ponto, mas há indivíduos que já tem essa perspectiva de contribuição científica e cutural (hoje temos mais que antes) e dos benefícios que essa partilha trás.

É isso, até a próxima.
-----------
keepReading

domingo, 22 de fevereiro de 2009

Editores e mais editores - além do highlighting

Fala, pessoal.

Vira e mexe vejo disucussões sobre os editores e IDEs preferidos do pessoal. Muitos são incompreendidos, muitos são desconhecidos...

Bom aqui vão meus pitacos e dicas do que vale a pena dar uma olhada.

Começando pelos pesos-leve, os que vale a pena citar são:
Notepad++ (para windows, pode ser emulado via wine no Linux)
Facilidade para mudar o encoding do arquivo, suporte a várias linguagens, split (divisão) da tela, comparação de arquivos.

Kate (para KDE)
Suporte a muitas linguagens (muitas mesmo).

Bluefish
Vários recursos built-in (como por exemplo montar elementos HTML - tabelas e selectbox - em PHP baseado numa query, a partir de um click).

Agora os pesos-médio, mas graficamente espartanos... estou falando do VIM (gVIM) e do Emacs.

Ambos contam com muitos recursos, modos de edição diferentes, e permitem um tipo de integração com outros aplicativos e recursos tão grande que podem chegar a assustar à primeira vista - na verdade à primeira vista você não lhes dá um tostão, mas depois de usar por algum tempo você vê a genialidade e o poder trás dos mesmos.

E por fim, os editores parrudões.
Eclipse
Criado em Java, e visando a possibilidade de extensão ad infinitum, este é um dos editores mais usados hoje me dia. Atende a praticamente qualquer finalidade, e tem recursos excelentes - geralmente providos nas suas extensões específicas - como mapeamento de objetos, dicionário de função e previews em tempo real (compila e executa, ou conecta e executa...). O ponto fraco é o peso do mesmo, que facilmente enche 1 GB com seus recursos.

Quanta Plus
Suíte genial feita pra KDE. Em primeiro lugar é leve. Muito leve. E isso se deve por ele ser uma plataforma onde podem se agragar vários plugins (parecido com o Eclipse). Mas os plugins são componentes e aplicações do próprio KDE, e essa é a chave para a sua leveza. Em segundo lugar, ele tem recursos de editor para bater de frente com o Eclipse (ou quase, mas a diferença peso x funcionalidade compensa).

Não falarei sobre IDEs específicas como JavaBeans justamente por serem específicas demais.

Bom, é isso. Experimentem e opinem. Té mais.
-----------
keepReading

terça-feira, 10 de fevereiro de 2009

Monitor novo, vida nova

Fala pessoal.

Sei que prometi um novo formato e tals, mas o fato é que fiquei praticamente um mês sem meu PC. O monitor LG 500, um CRT de 15 polegadas velho de guerra, enfim bateu as botas.

Comprei nada mais nada menos que um Samsung 2232BW Plus para substituí-lo. Sim, um LCD TFT de 22 polegadas. Ignorância desmedida à parte, o fato é que foi a melhor relação custo/benefício que encontrei.

Nada difícil de configurar. Resolução máxima de 1680x1050, a 60Hz.

No Windows XP ele foi que foi... velho procedimento, colocar CD, instalar drivers e depois gozar da resolução máxima - aliás minha esposa joga Spore na resolução máxima, sem dar lag nem nada.

No Ubuntu, foi necessário um pouquinho de trabalho para configurar o xorg.conf, mas nada de outro planeta - mesmo assim acho válido falar sobre como foi, pois vai que tem alguém na mesma situação...

Assim que coloquei ele aqui, liguei primeiramente no Ubuntu, usando o cabo analógico (ele vem com um cabo analógico-RGB e um DVI-D).

Iniciou normalmente com resolução 1024x768. Tenho uma placa Nvidia GeForce XFX 6200, AGP, devidamente configurada e usando os drivers fornecidos pelos repositórios do Ubuntu (Ubuntu 7.10).

Enfim, a primeira coisa foi configurar o xorg.conf. Criei um backup do mesmo - isso é um passo mandatório, porque vai que dá algum problema você tem como voltar a uma configuração válida - e depois fiz a seguinte alteração (seções Monitor e Screen).


Section "Monitor"
Identifier "SyncMaster"
Vendorname "Samsung"
Modelname "2232BW"
Horizsync 31-81
Vertrefresh 56.0 - 75.0
modeline "1680x1050@56" 140.76 1680 1712 2240 2272 1050 1071 1081 1103 -hsync +vsync
Gamma 1.0
#Option "DPMS"
EndSection

Section "Screen"
Identifier "Default Screen"
Device "nVidia Corporation NV44A [GeForce 6200]"
Monitor "SyncMaster"
Defaultdepth 24
SubSection "Display"
Depth 24
Virtual 1680 1050
Modes "1680x1050@56" # "1024x768" "800x600" "720x400" "640x480"
EndSubSection
EndSection


Depois disso limpei as configurações que o GNOME salva nas seções - se você não fizer isso, ele vai reiniciar com a última resolução válida usada, que seria 1024x768 no meu caso.

Para fazer isso, basta editar o arquivo /home/yourUser/.gconf/desktop/gnome/screen/default/0/%gconf.xml

Crie, um backup por precaução. E edite como a seguir:

<?xml version="1.0"?>
<gconf>
<entry name="rate" mtime="1214273641" type="int" value="56">
</entry>
<entry name="resolution" mtime="1204383760" type="string">
<stringvalue>1680x1050</stringvalue>
</entry>
</gconf>


Pronto. Configurações feitas. Reiniciei. A resolução não foi aceita bem logo de primeira. Deu uma mensagem no próprio monitor. Apertei o botão de auto ajuste e pronto, me livrei da mensagem de erro, mas...

A resolução estava como 1680x1050, como previsto. o que é bem legal. Só que a tela estava deslocada para a direita e ficou uma faixa preta gigantesca na esquerda - tentei fazer um ajuste com o alinhamento de tela e tals, auto-ajuste, mas nada funcionou. Larguei mão e liguei fui instalar no Windows.

Tentei mais tarde, mas continuou com a faixa preta até que resolvi trocar o cabo RGB pelo DVI. Foi batata. Alinhou sozinho.

É interessante notar que esse monitor foi feito para trabalhar nativamente com a entrada DVI e operar a 1680x1050@60. Qualquer parâmetro que fuja disso, requer algum layer de adaptação. E quanto menos disso tivermos, melhor porque a chance de acopntecer alguma incompatibilidade ou erro é reduzida.

Por último quero falar sobre um monitor desses ser uma escolha razoável para compra. Como disse acima, sua resolução é 1680x1050. O Full HD que se fala hoje em dia é, grosseiramente falando, uma referência à resolução com 1080 linhas e scan progressivo - 1080p.

Em termos de resolução, estou apenas a 30 linhas disso. Os monitores que apresentam essa resolução são os de 24 polegadas e o mais barato deles é pelo menos mil reais mais caro.

O progressive scan faz diferença para gamers, o que não é meu caso. Assim, essa escolha se mostrou a mais vantajosa dentre as que eu poderia fazer.

See yo.
-----------
keepReading