Vamos cavar um túnel com esta colher…

SOHT (Socket over HTTP Tunneling) allows you to tunnel socket connections through an HTTP proxy. Restrictive firewalls often prohibit all outgoing trafic except for HTTP. This application allows you to tunnel socket connections over the HTTP protocol. This application consists of a server that serves as a proxy and a client which tunnels a socket connection over an HTTP connection to the server. The current server is written in Java, and there are clients in Java and .NET.

Eu não devia nem estar colocando isso aqui pra não dar na pinta. ;-)


MT não é trivial

Depois de ajudar alguns moradores do Vilago a instalar o MovableType, tirando dúvidas, editando os arquivos de configuração e até instalando tudo do zero chego à conclusão de que instalar o bicho não é trivial. Por ele ter várias opções de bancos de dados, configuração de servidor, etc. fica muito versátil mas confunde na hora de configurar.

É aquela história, pra quem já mexe com computadores há uns 20 anos (êee, tô velho) a coisa pode até fazer sentido, mas para quem está chegando agora e não está nem um pouco interessado em ter que aprender nada — o usuário quer publicar seu blog, não quer saber o que DBI::mysql significa — o negócio é meio enigmático.

O curioso é que por causa da licença de uso do MT não é possível fazer um auto-instalador-tabajara como já existe para outras ferramentas. Bem estranho isso… Vale uma consulta aos criadores para esclarecer.


Os piores erros da web em 2003

Mestre Jacó nos conta o que rolou de errado em 2003 pelas bandas digitais de cá. Aqui vai o resumo da lista, com os meus comentários não tão resumidos.

1) Função pouco clara. Ou: onde estou?

Você já deve ter feito isso pelo menos alguma vez: recebeu um e-mail (ou viu um comentário em um fórum) de fulano@acme.com e foi lá em acme.com ver que site é esse. O problema é que na maioria das vezes você chega e não tem a menor idéia do que, afinal de contas, a empresa faz. O webdesigner partiu do princípio só algumas vezes correto de que você foi para aquele endereço sabendo do que se tratava.

Esse é, claro, um exemplo extremo e “visita ao acaso”, mas algumas vezes (e hoje em dia mais e mais) vamos a um site indicado por um outro site (nem só de Google vive a web) e fica realmente difícil saber para que aquela empresa veio. Segundo Jacozinho-da-web esse problema é maior nas empresas de tecnologia, que adoram usar um marquetês vago para não limitar seu potencial de vendas. (Continua…)


Fluidez ou rigidez?

Quando comecei a fazer o redesign da Anna tive que decidir se ia fazer um design fluido ou não. Meu site é fluido: quanto maior a sua janela mais “espalhado” fica o texto. O design da Anna (tanto o antigo quanto o atual) é rígido, sempre “nivela por baixo” para uma tela 800×600.

O design fluido respeita quem tem tela grande, não penalizando que tem um mega-max-monitor. O design fluido sabe que se uma pessoa tem uma tela grande ela não necessariamente vai usar sua janela maximizada, vai poder ajustar o tamanho da janela como quiser. O design rígido permite um controle maior sobre o design e uma “liberdade artística” maior. Você não precisa se preocupar com seus títulos e gráficos “esticando”. Além disso um parágrafo muito “largo” é mais difícil de ser lido.

Eu ia escrever tudo isso na época do redesign, filosofando, mas acabei decidindo autoritariamente fazer um design rígido, mesmo achando que o design fluido é a maneira “certa” de fazer as coisas. Hoje o [cc] vem com um link que proclama a morte do design fluido, apoiando-se em argumentos do mestre Zé. Talvez seja a hora de entrar na festa e aderir à rigidez, mas com certeza a discussão é boa. (outro texto legal aqui)

E você? Prefere ler sites fluidos ou rígidos?


Anna Paula, você não tem tabelas mesmo

Annamaron.com.br, agora em versão tableless.

Foi legal criar um design “pensando” tableless porque na verdade a coisa não é simplesmente “trocar <table> por <div>” mas sim organizar o conteúdo por “função” e não “visual”. Por exemplo: a barra lateral é toda organizada em <ul> e <li>, mesmo com o CSS tirando as “bolinhas”. Não importa, aquilo é uma lista. É claro que eu ainda estou engatinhando nessa nova maneira de construir conteúdo online, meu livro do mestre ainda nem chegou.

O impacto imediato para você que não está nem aí para W3C, DIVs e tableless é que a mesma página, com o mesmo conteúdo (exceto mudanças ligeiras na barra lateral) caiu de 55k para 47k, ou seja, quase 20% de código inútil na forma de tabelas e todos os seu sub-campos, fora as GIFs transparentes (que não são usadas uma vez sequer nesse novo design). Pode até parecer pouco, mas são 10 mil caracteres de gordura a menos.

Alguém que use Opera por favor avise se o site está OK por aí (já vi que no IE 5.5 não aparece 100% bem, mas ei… o IE 6 já saiu há mais de um ano). Os gurus do HTML, por favor, mandem críticas e sugestões.

Se tudo correr bem o próximo redesign vai significar mudar apenas um arquivo, o CSS. De curiosidade veja como ficaria o site sem o CSS.


Faça seu próprio leitor RSS em PHP

The Magpie RSS Parser was created by Kellan Elliott-McCrea in late 2002 to satisfy what he perceived was a lack of practical PHP-based RSS aggregation solutions. The result was a wonderfully capable tool offering a bevy of valuable features, some of which include:

  • Object-oriented design: The object-oriented, modularized code allows you to easily integrate the aggregation features into pre-existing applications.
  • Highly configurable: Magpie’s aggregation and caching behavior is easily modified through a well-thought-out configuration strategy.
  • Feed caching: This very cool feature will cache RSS feeds locally (to the server), conserving bandwidth and increasing application performance.

Distributed under the GPL license, you’re free to use the software without charge and as you please, provided that you abide by the license terms and conditions. Its only requirement is a recent version of PHP (4.0+) compiled with XML (expat) support.


Margens à beira de um colapso

Ótimo texto sobre como margens funcionam em CSS.

At it’s core, margin collapsing is very easy to understand. Basically when two vertical margins meet up, instead of adding together, the largest margin takes precedent and the other one “collapses” to nothing.

É mais simples do que parece.

PS: É de bom tom ler o artigo em um Mozilla ou similares, por causa dos exemplos, já que o IE não é lá muito chegado a seguir padrões, como já era de se esperar da Microsoft. Mas isso é assunto para outro texto.


cê vê esse

Finalmente consegui entender como instalar meu próprio servidor CVS. Nossa… como eu conseguia viver sem isso?

CVS domina e TortoiseCVS comanda muitos batatais. Estou pensando até em fazer que nem esse cara e manter minha vida toda em CVS.


Mais código por metro quadrado

Dica do Joel. ;-)

Antes: (Courier New 9, o padrão do HomeSite/ColdFusion Studio)

Depois: (ProFont 9)


Sun, Zend integrate PHP with Sun’s Web server

Sun Microsystems Inc. has partnered with Zend Technologies Ltd. in a move to let developers deploy applications written using the PHP scripting language on Sun’s Java Web server, the companies announced Monday.

Esta notícia é dedicada a todos aqueles que acham que gostar-de-Java implica automaticamente em odiar-PHP (ou simplesmente odia-qualquer-outra-linguagem).

Como já dizia o sábio anônimo: cada um com seu cada um.


PHP quer biscoito

O futuro do PHP (e do Python e principalmente do Perl 6) é uma tecnologia chamada Parrot, ainda nos estágios (bem) iniciais de desenvolvimento mas que promete algo parecido com a máquina-virtual-Java: um ambiente “entre o seu programa e a máquina” com código pré-compilado que, entre outras vantagens, vai acelerar a execução da sua aplicação. A conferência PHP-Con, encerrada esta semana, deixou os feras do PHP bem entusiasmados.

É (sentar e) esperar para ver.


Lançamentos Mozilísticos

Mozilla 1.5
Firebird 0.7
Thunderbird 0.3


Mozilla Backup

Mozilla Backup is a utility for creating backup of Mozilla profiles. It allows you to backup mail, favorites, contacts, etc. It works under Windows 98 or higher.

Agora também com suporte a Firebird e Thunderbird.


Java e scripts no MIT - parte 2

Eis que ontem algumas pessoas comentaram comigo a história do Java no MIT, então achei melhor me alongar no assunto.

Quando se diz que “Java é um SUV das linguagens de programação” não significa que Java é ruim. Basicamente significa que 99% das pessoas que usam Java e dirigem Grand Cherokee tem muito poder na mão sem necessidade. O carrão, por exemplo, foi projetado com características off-road: subir ladeiras de lama, desatolar com tração nas 4 rodas e outros balangandãs. Mas praticamente todo mundo que compra o carro o usa para ir para o trabalho ou o shopping. Um carro que consome 5 km/l é usado numa tarefa onde um Fusquinha 66 daria conta.

Ou seja “cada um com seu cada um”. Se o seu projeto tem tempo e dinheiro para bancar Java, precisa seguir parâmetros estritos de desenvolvimento e design de objetos, integrar-se com sistemas legado, etc., vá em frente. Mas a maioria dos sites hoje em dia não se enquadra nesses parâmetros. Eles precisam ficar prontos ontem e normalmente só possume um programador-analista-designer-de-banco-de-dados-faz-tudo. O site de um banco deveria ser feito numa linguagem “parruda” como Java, mas o sitezinho da sua empresa ou organização pode e deve ser feito em linguagens script como PHP e Perl.

Só que assim como as pessoas dirigem a Grand Cherokee para ir ao shopping simplesmente porque “é mais onda” do que um Fuca 66 certas empresas (e, pior, certos clientes) querem usar Java só para poder dizer que desenvolvem na linguagem-café da Sun.

Portanto, se você tem dinheiro pra queimar você tem todo o meu apoio. Eu vou ficar por aqui dirigindo meu Gol Mil.


Java e scripts no MIT

Os alunos de engenharia de computação do MIT (não é qualquer universidadezinha não) estão fazendo seus trabalhos em várias plataformas.

Our students this semester in 6.171, Software Engineering for Internet Applications have divided themselves into roughly three groups. One third has chosen to use Microsoft .NET, building pages in C#/ASP.NET connecting to SQL Server. One third has chosen to use scripting languages such as PHP connecting to PostgreSQL and sometimes Oracle. The final third, which seems to be struggling the most, is using Java Server Pages (JSP) with Oracle on Linux. JSP is fantastically simpler than “J2EE”, which is the recommended-by-Sun way of building applications, but still it seems to be too complex for seniors and graduate students in the MIT computer science program, despite the fact that they all had at least one semester of Java experience in 6.170.

A conclusão? Java é a Grand Cherokee das linguagens de programação.

A project done in Java will cost 5 times as much, take twice as long, and be harder to maintain than a project done in a scripting language such as PHP or Perl. People who are serious about getting the job done on time and under budget will use tools such as Visual Basic (controlled all the machines that decoded the human genome). But the programmers and managers using Java will feel good about themselves because they are using a tool that, in theory, has a lot of power for handling problems of tremendous complexity. Just like the suburbanite who drives his SUV to the 7-11 on a paved road but feels good because in theory he could climb a 45-degree dirt slope.

Ou seja. O cool factor. Ou o eu-sou-melhor-do-que-você-porque-programo-em-Java factor.


© 2000-2008 Cristiano Dias. Alguns direitos reservados. Só alguns, não se preocupe.
Based on a tbeseda & 5ThirtyOne design.
RSS