I feel like writing

The Internet is about content. People are desperate to create content in the hope that others will come, see, like and then take the content creator to a high level of acknowledgement, respect and everything that builds on an ego.

I do feel like writing what comes to me, sometimes. Right now, I’m just writing to test the new WordPress iPhone client. You didn’t expect that, did you?

Anyway, sharing your own thoughts is a good way to let the stress out, and probably I’m doing that by writing this. Who knows for sure?

My advice for you is that you always keep an open eye, have a second opinion about what others try to sell you as something useful or needed.

The great majority of Internet contents is made up of garbage. Don’t fall for that.

Having said that, I can only hope that you come back again.

And remember: less garbage, more real content.

Anúncios

Respect vs consume

I am reading all over the places about how Google is conducting its business. Now, it came up that they give some kind of advantage to Motorola by releasing information up front, by working hand in hand in design of devices etc.

Not really a surprise to me, as Google is powerful, but it’s power comes from its ubiquitous character.

But google wasn’t there when there was no Internet, no CD, no gigahertz processing power and no graphics display adapters that, alone, are more powerful than Eniac.

I would enlist the following companies to be the ones we should pay some respect:

Adobe – these guys invented a lot of things that are took for granted today, but PDF and PostScript are two examples of industry wide contribution;

Apple – Well, this is where things get hot, for this company is loved by many, but hated by many. Anyway, these guys were there when many things didn’t exist, and contributed to various standards even when they completely missed the point, like with the case of the Apple Printer, Apple Bus and other less important things.

However, amongst the really interesting things they did are: True Type fonts (yeah, theres more than one single finger of Apple in there), and of off course, the iPod, and then the iPhone, and then again, iPad. Those who risk saying these are not important, will be simply saying s/he doesn’t know a thing about this industry.

Geez, I’m writing this blog post on my iPhone! I don’t even need a full computer anymore!

IBM – Yes, they did sell some machines to the 3rd Reich, but they invented almost every thing we use today, like the hard disk. And the PC market, in which the machine is built by one manufacturer but the OS is published by another.

This approach is radically different from Apple’s, and it might be the grand responsible for the commercial success of the IBM/PC product.

IBM didn’t invent SQL, well, not alone at least, but SQL wouldn’t be here as we know it today, if it were for Oracle. Know what I mean?

Intel – What to say? These guys invented the the first successful microprocessor. If this is not credential enough, then I don’t know what the hell is.

Sure there are other important ones, like Zilog and Motorola/IBM, and IBM alone, but Intel is Intel. Period.

Microsoft – Really, MS is not even close to be one respectful company when it comes to commercial and market practices. But these guys indeed changed the industry. Despite what Steve Jobs stated, that they have no taste, they have at least a lot of guts.

They compete, they make errors, they follow others, but they also can lead. This is certainly not easy.

Sun – Sun was acquired by Oracle. It still sounds strange to me, because Sun is not only responsible for Java. Prior to that, these guys had Sparc Satations that really rocked.

The thing with Sparc was that it’s RISC architecture was so much better for floating point calculation than CISC, that a machine equipped with a slower processor, in terms of raw clock speed, performed much well better than one with a faster CISC machine. This means efficiency of brute force.

Anyway, if it were not for the elegance, we now have Java. I can’t think of MS delivering anything close to Java. Nor Apple.

Xerox – Xerox is some kind of philanthropy company. So much have come out of its PARC that I can’t even think where to begin.

But I can think about the mouse alright. Yeah. The graphic display, the mouse, the GUI… These are all creations of Xerox. Steve Jobs didn’t invent any of it. MS didn’t invent any of these. Xerox did.

The irony is that the document company had its inventions, well, xeroxed.

I am probably letting some very important companies out of this list, like Epson, HP and Borland. But with all due respect, they all play important focused roles in the industry, and this list is intended to show industry wide companies.

Now, what do we gain from Google? Many things, but I dare saying they’re all consuming products that may fall into disuse.

While the companies on the list deserve all respect for the things they’ve done right AND wrong, we can consume Google’s products and niceties while we can, because Google is by no means, an inch of what the the companies on the list are.

And why is that? Because Google creates, but it doesn’t invent.

Think about that.

Um maravilhoso mundo novo!

Trabalhar é melhor ainda quando se pode descobrir novos mundos, novas possibilidades.

Hoje tenho o prazer em anunciar que a AEPlan, empresa para a qual estou trabalhando, lançou seu primeiro aplicativo no Android Market. Uau!

Pode parecer pouco, até mesmo não significar nada, para muitos a quem eu já comuniquei, mas para nosso time, significa a conquista de um mundo novo. É como descer de um barco e colocar os pés em terra firme após uma longa viagem, na qual sabemos que o destino está lá, mas ainda não o conhecemos.

O aplicativo é de uso específico para a comunidade médica, e isso nos serviu de baliza quando precisamos decidir quais funcionalidades, componentes, e grau de desempenho deveriamos oferecer. Obviamente que nosso objetivo sempre foi um aplicativo simples, rápido e confiável. Acredito que tenhamos atingido esse objetivo, que nada mais é do que o mínimo que se espera de qualquer programa (ou serviço prestado).

Adicionalmente, optamos por oferecer o aplicativo gratuitamente. Esse também é um terreno novo para nós, mas digo que é bem agradável poder oferecer um aplicativo útil aos usuários. Sempre que for o caso, certamente ofereceremos.

O problema com descobrir novos mundos é que a cada passo para frente, sempre haverá muitos outros ainda para a frente, e não podemos parar.

Parabéns a toda a equipe: Guilherme, Maurício, Roberta e Wellington, por demonstrarem entusiasmo mesmo quando nós (eu, André Francisco, e Saulo), demonstrávamos o programa em suas formas iniciais, completamente toscas e que não faziam qualquer sentido para um usuário, e aos chefes André e Edson, por nos olharem com cara de “vocês não são loucos de não terminarem isso”, e principalmente por terem proporcionado as condições para que percorressemos, todos juntos, essa jornada.

É isso aí!!!

Marquinho.

Marquinho se recompondo

Feijão com arroz...Ontem fui almoçar fora.  Bom, na verdade fomos filar bóia na casa da quase ex-futura sogra de um amigo, a Cida.  A Cida é uma pessoa muito, mas muito bacana, assim como são as filhas dela e o pessoal todo de lá.  São gente como eu não sou.  São gente simples e acolhedores.  Um dia chego lá.

Mas o real motivo do almoço não foi -pelo menos dessa vez, juro que não foi mesmo- a maravilhosa comida que a Cida faz. Eu queria ir dar uma olhada no Marquinho, o “negão”.  Em um post anterior, eu até mencionei que o cara dá umas mancadas de vez em quando, mas é meu amigo, fazer o que?  Pois é… ele mesmo.

Fui dar uma olhada nele porque ele está na batalha, lutando para se safar -dos problemas que são consequência das escolhas dele mesmo, tenho que dizer- e há coisa de 10 dias, segundo o próprio, teve um probleminha de saúde que, apesar de relativamente comum, preocupa.  Não, não, gente, não se preocupem porque ele não surtou ao se descobrir uma libélula.  Foi só um ataque de histeria, quero dizer, stress.  Coisa de programador.  De tempos em tempos, temos algum tipo de manifestação assim.

Agora já estou mais tranquilo, porque vi que o cara está bem, a barrigona d’água dele continua a mesma, e ele está mais tranquilo.  Isso é bom.  Ah, a comida da Cida estava ótima, claro.

Hoje, no escritório, o André me comentou que se abríssemos um fórum de suporte sobre nossa linguagem de programação, iria “bombar”, porque muitos programadores ainda me respeitam.  Pessoalmente eu acho que 90% dos programadores em Clarion nem sabem quem eu sou, e os 10% restantes querem me usar como modelo para a próxima versão do Mortal Kombat, mas enfim…

Essa afirmação do André me fez pensar em como eu consegui alguma notoriedade, enquanto guiava a moto para nossa casinha, de volta do serviço.  Cheguei à conclusão que foi porque eu tive muita ajuda, e um dos caras que me ajudou muito foi o Marquinho.  Como?  Pra começar, ele foi o primeiro a me dizer: “Clarion com Postgres funciona! Pode confiar”.

Marquinho se recompondoLembro-me de ficarmos horas na lanchonete Kentinho, com o laptop dele aberto sobre a mesa de plástico, enquanto ele me mostrava como conectar com um banco de dados, como fazer uma inserção, e isso tudo me inspirou a iniciar -finalmente- a usar um banco de dados relacional como repositório principal de dados para meus programas.

Isso foi uma mudança realmente grande de paradigma, para mim, e me abriu muitas possibilidades.

Assim, quero agradecer publicamente ao Marquinho pela boa vontade.  Quando eu ficar milionário eu pago um café.  Por enquanto fico só no “valeu”, mesmo.

E aos outros amigos que me ajudaram, saibam que eu não os estou esquecendo, tampouco relegando.  Apenas que eu já sou piegas demais e vou tentar não transformar este post em um musical da Broadway, parando por aqui, por enquanto.

Em tempo: Marquinho, experimente executar DROP DATABASE sinco; para ver que legal que é, cara! Fica mais legal ainda se você não tiver um “decape”!

É isso aí!

Ah, o Facebook…

Este post é uma reflexão sobre as considerações do Gustavo Giglio, em seu post “Ah, o Facebook“.  Quem não leu, deve ler, no mínimo para que meu post possa fazer algum sentido.

Estou espantado com o quão as pessoas conseguem ser, ou pelo menos parecerem ser, espertas, a ponto de se tornarem formadoras de opinião.  Meu espando vem do fato de que as opiniões na atualidade estão sendo muito mal formadas, a meu ver, e estão se espalhando de forma incrivelmente rápida, graças à inerente capacidade da internet.

O post do meu xará é quase que como um agradecimento aos deuses, pela existência do Facebook.  Quem o lê superficialmente, como quem assiste ao jornal da manhã na cozinha de casa antes de sair para o trabalho, tem a impressão de que o que está escrito é uma verdade incontestável.  Não, não é.  Nem verdade, muito menos incontestável.

Acontece que o Facebook é nada mais do que ocupação fácil de tempo.  Pense.

As pessoas vivem reclamando que a vida moderna está corrida, que está difícil encontrar boas opções de lazer, que as pessoas estão se afastando etc, etc, etc.  E de repente, descobrem o Facebook.

Vamos lá.  O que é o Facebook?  Um site maravilhoso que é a sagração máxima de convergência de mídias, como diz o Giglio?  Um site maravilhoso que vai te fazer ficar mais esperto porque vai te permitir entender melhor o mundo ao seu redor?

Acho que não.

Em minha opinião, controversa, eu sei, o Facebook não passa de um concorrente de tantos outros sites de redes sociais, como o Orkut, por exemplo.  Só que o Facebook é “cool”.  É bacana estar no Facebook, eu sei, com sua proposta “clean”, seu visual não apelativo, mais “chic”, mais exclusivo.  Humm… não.

O Facebook te vende nada mais do que tempo.  Seu próprio tempo.  Quando você não tem o que fazer, acaba indo verificar o que está “acontecendo” por lá.  Esse é o motivo pelo qual quem tem uma conta no Facebook volta tanto às páginas: tempo sobrando.

Convenhamos: você precisa realmente acessar o Facebook para poder tocar sua mini-cidade adiante? Ou acessar o Orkut para poder “alimentar” os bichinhos de sua fazendinha?  Você PRECISA mesmo disso?  Isso vai te fazer realmente mais feliz, mais produtivo, mais popular?  Tem certeza?

Ah é… mas temos nossos amigos lá!  É muito bom saber o que eles andam fazendo.  Sim, eu também acho muito bom saber o que os amigos andam fazendo, mas, hum, não seria muito melhor fazer JUNTO com eles?  Na vida real?

Quando eu fiz uma recapitulação dos posts de meus amigos da vida real, no Facebook, eu lamento muito, mas tudo o que vi foram superficialidades e opiniões frugais.  Claro, ninguém quer parecer ou ficar mal com ninguém, então ninguém expressa sua real opinião sobre algo, temendo uma retaliação pública.

Em meu tempo de chat (IRC, e não Mirc, por favor) isso chamava-se flame.

Quando o Ronaldo “Fenômeno” anunciou sua aposentadoria, choveram comentários superficialíssimos no Facebook, do tipo: “O fim de uma era”, “Fará muita falta”, “Perdemos o maior goleador” e outras besteiras.  A esses comentários eu respondi: “Tá louco? Era? Que era está acabando? A da gordura?”, “Não fará falta nenhuma, outros com a função de entreter o povo, virão”, “Maior goleador??? Não sabia que ele tinha feito mais gols que o Pelé!!”.  E a minhas respostas eu recebia réplicas do tipo “Cale-se, se não gosta do cara”, “Você não é corinthiano!”, “Não entende de futebol”, “Idiota”… coisas assim.

Sou corinthiano.  Não entendo de futebol.  E me recuso a ser um Maria-vai-com-as-outras.  Tanto que nem adotei a maioria das alterações ortográficas que têm o suposto objetivo de facilitar o intercâmbio seja lá do que for, porque de cultura não pode ser.  Eu não quero me aculturar com a cultura de Angola.

E se eu não posso expressar minha opinião sobre um assunto, comentado no Facebook, 1: por que os outros podem? 2: para que serve o Facebook? Ele não é um facilitador do auto-entendimento?

Existe uma expressão em inglês, que considero uma das poucas mais fortes e eficazes do que as expressões (geralmente palavrões) em português, e essa expressão é: BULLSHIT.

Dizer que o Facebook, ou qualquer outro site de rede social, vai nos fazer mais espertos, mais felizes, mais populares, é simplesmente a afirmação da necessidade de um salvador da pátria.

Quem quer ser mais esperto, leia livros, faça uso da Wikipedia, converse com pessoas e observe os fatos ao redor.

Quem quer ser mais feliz, seja! É simples!  Pare de reclamar das coisas que não tem, e procure te-las, ou agradeça pelas que tem.  É simples!

Quem quer ser mais popular… bem, aí é mais complicado, porque existem em torno de 7 bilhões de pessoas na Terra, se não me engano, e como se diz, não se pode agradar a gregos e a troianos.

O Mark Suckerberg (sim, escrito por mim é com S mesmo, quem usa Facebook deve ser esperto, portanto deve entender meu trocadilho) queria ser popular, e descobriu um jeito de se-lo.  E você?

A maioria dos programadores em Clarion me odeia, ou acha que sou um arrogante.  Sim, sou arrogante.  Sabe por que?  Porque tenho opinião própria, e é forte.  Não sou um baba-ovo de qualquer modismo.

Se eu sou popular?  Bom, de vez em quando eu sou.  De vez em quando não sou.  Por isso que eu tenho uma moto bem chamativa, que não sei se amo odiá-la, ou odeio amá-la, mas funciona.  E tem meus amigos.  Eles gostam de mim.  Pelo menos eu gosto de pensar assim.  Eu sei que eu gosto deles.  Até do “negão” (não, Airton, você é o “vegetable”), que sempre chega atrasado, dá umas mancadas feias de vez em quando, mas é meu amigo, cacilda… fazer o que?

Família a gente não escolhe.  Amigos a gente cultiva.  Ferramentas a gente escolhe.  Facebook não é ferramenta.  Ferramenta é a internet, o Safari, o FireFox,  uma chave Allen.

Facebook é uma ilusão.  A ilusão de que através dele, podemos ser mais do que somos.

Pense!  Forme sua opinião baseada em conclusões, não em subjeções.  Pense, pelamordeZeus.

Beijo, abraço, aperto de mão.

Sopa de letrinhas

Hoje recebi uma mensagem de um amigo que não conversava havia muito, e ele me disse que estava desenvolvendo alguns aplicativos baseados em planilhas do Excel mas que achava que isso impunha muitas limitações e deixava brechas muito grandes para a distribuição não autorizada de seu trabalho.  Welcome to the jungle.

Em sua mensagem ele disse:

“Queria transformar em sistema. Me falaram numa linguagem chamada PHP, que além de desenvolver sistema, também cria sites.”

Então é assim, vamos à sopa de letrinhas, mas aviso aos navegantes: eu não sou um bom cozinheiro. Só faço gororoba, então preparem os copos de água para ajudar no “engolimento”.

“Vejemos”, hum… começar por onde? Quais ingredientes temos aqui? hum. PHP, sistema, segurança, linguagem, sites, criação… hum…

O propósito das coisas

O começo é que tudo tem que ter um propósito.  Até eu, escrevendo aqui supostamente para dar uma força ao meu amigo, lá, estou em meu nobre propósito narcisista e egocentrico. Ah é, tem o lance de compartilhar informação né? Boa, bem lembrado.

Um “sistema” precisa ter um propósito, e este é geralmente, gerar mais dinheiro para alguém, como resultado de aumento de produtividade, redução de custos, diminuição de desperdício, sei lá. O fato é que geralmente, muito frequentemente, um “sistema” tem o propósito de gerar dinheiro. Este parágrafo sobre o propósito das coisas tem seu propósito: alertar para o fato de que nós programadores, iniciantes ou experientes, temos sempre que estar muito atentos.

A matemática em nossas vidas

E por que estar atentos é tão importante? Porque precisamos escolher as ferramentas mais adequadas para cada tipo de trabalho que precisamos executar.  E “adequada” é um parâmetro um tanto subjetivo. Aliás, tudo fora da matemática é subjetivo.  Os únicos no mundo habilitados a provarem algo, desculpe dizer, são os matemáticos – O Maior Espetáculo da Terra, Richard Dawkins – Compahia Das Letras – Tudo o que não é matemática pura, é subjetivo.

Psiu, ou, você aí do fundão! Acorda, não tou falando de substantivo com adjetivo, formando subjetivo. Tou falando que algo que se baseia em uma concepção do espírito.  Vejam aqui a definição – e aproveitem para lembrar de o quão linda e poderosa é a internerd (internerd = internet de nerds).

Escolha a ferramenta mais adequada: aquela que está à mão, serve!

Voltando à questão da subjetividade da adequação de nosso ferramental, afirmo isso porque mesmo na clássica situação do prego e do martelo, em que um martelo é obviamente a ferramenta mais adequada para a execução da tarefa de pregar um prego, pode acontecer de o martelo simplesmente não ser uma opção por simples indisponibilidade!  Quem não tem cão, caça com gato.  E aí, o gato vira o melhor amigo do homem, pelo menos naquele momento.

No mundo corporativo, o pragmatismo costuma ser mais eficaz e eficiente do que o teorismo.  Vamos em frente.

Daí nós decidimos que seremos práticos, e que já entendemos o que precisamos fazer.  Também já sabemos que temos que selecionar a ferramenta mais adequada para nosso trabalho mas aceitamos que nem sempre a ferramenta mais adequada está disponível.  Então vamos saber um pouco mais sobre as ferramentas disponíveis.

Papel Higiênico da informática?

PHP.  Ahhh, o bom e velho PHP.  Papel Higiênico Pessoal!  Ahhh, como é bom poder ter nosso próprio rolo de PHP, só para nosso uso… opa, mas PHP não é isso!  PHP é Personal Home Page Tools?  Ãhn?  Dois, dois, quatro, quatro mil… Coméquié???

Pois é, o que significa realmente PHP nem os criadores do próprio sabem.  Um dia souberam, mas o PHP mudou tanto que o significado da sigla também foi sendo adaptado ao longo do tempo.  Saiba mais sobre a origem e evolução do PHP, aqui.  O que eu disse no parágrafo anterior não está claramente registrado na entrada da Wikipedia, mas vai ser muita nerdice eu ficar literalmente variando sobre o assunto, e não vai servir para nada. Esquece.

O que é importante saber sobre o PHP é o seguinte:

  1. Não é bem uma linguagem, no sentido clássico, mas um AMBIENTE de execução de scripts;
  2. É um monte de remendos que tiveram que ser criados para poder resolver problemas técnicos, para que mais dinheiro pudesse ser gerado;
  3. PHP não cria sites, nem sistemas;

O último item da relação anterior foi propositalmente escrito para eu poder chamar a atenção para um fato de importância aparentemente menor, mas que tem a maior das importâncias, na realidade.

Quem cria um sistema ou um site é o programador, não a linguagem ou o ambiente.

É bastante comum me perguntarem qual linguagem é mais indicada ou mais fácil de ser utilizada para se criar um “sistema”.  Nem vou me estender muito sobre isso porque a resposta padrão, “depende”, é quase que auto explicativa.  Prefiro falar sobre algo pouco compreendido.

Sistemas ou programas?

Lembram da sopa de letrinhas do título? A compreensão exata do que um termo quer dizer, da idéia que está por trás das letras que formam o termo, pode nos economizar muito tempo.

Vejam a definição de sistema.  Podemos ter um sistema composto por apenas um programa?  Em minha tola opinião, sim.  Se levarmos em consideração que o programa não é auto suficiente, que precisa estar integrado em um contexto maior que envolve um ou mais usuários, que vai demandar suporte, manutenção, treinamento, marketing, vendas etc, vemos claramente que um coitadinho de um “cadastrinho de clientes” lá, jogado nos confins de um diretório no disco rígido mais podre e barulhento de uma máquina que está esquecida debaixo do palco do teatro por algo em torno de 10 anos, é parte sim, de um sistema.

A propósito, o exemplo que citei acima não foi delírio meu.  Aconteceu de verdade, e o servidor era um Netware 3.15 que só foi descoberto quando o tal teatro precisou ser reformado.  E o servidor estava lá, servindo… tadinho, deve ter sofrido tanto nos 10 anos de anonimato.  Cadê a sociedade protetora dos servidores abandonados, pô?

Bom, então vamos combinar que nos dias atuais, dizer que vai criar um “programinha” não rola.  Dizer que vai criar um “sistema” não é correto – o sistema já existe, nós vamos integrar um componente, dinamizar algum processo, aumentar desempenho, ou em meu caso, criar pânico entre os usuários, sei lá.

O mais adequado seria dizer: “vou criar um aplicativo”.  Software aplicativo é um programa, ou programas, que tem uma aplicação.  Lembram? Propósito? Heim? Heim? Quem chegou atrasado na primeira aula, pegue o caderno do colega ao lado, mas devolva-o inteiro pelo menos.

Aplicativos ok, e os sites?

Ah é, os sites.  É mesmo… Aqui em Marília tem um “fessor” que disse certa vez que Java é linguagem para internet.  Daí um amigo meu que estava assistindo àquela aula, que por acaso era a primeira dele (do meu amigo, não do “fessor”) naquele curso, levantou e não voltou mais.  Em minha opinião, com muita personalidade e acertadamente, porque ele tinha acabado de “captar a mensagem, óh amado mestre” de que o curso seria um exercício de desperdício de tempo.  Mas outro dia eu falo sobre Java.

Sites web eram, inicialmente, conteúdo quase inteiramente estático apresentado para o usuário em um programa específico (aplicativo?).  Este blog é quase que inteiramente estático.  Tem pouca interação com você, leitor.

Hoje em dia, com o advento da tecnologia AJAX, os sites web ganharam um dinamismo muito maior.  Isso permitiu que desenvolvedores passassem (cuidado para não tropeçarem nos tantos S dessa palavra, melhor perguntar para o Tiririca como se conjuga passar no pretérito imperfeito) a desenvolver sites que eram tão ágeis como aplicativos para desktop.  Mas quais as vantagens de se fazer isso?

  • Desenvolvimento descentralizado;
  • Lançamento centralizado;
  • Aumento de segurança;
  • Diminuição da complexidade de operações de consolidação;
  • Independência de plataforma;
  • Independência de linguagem de programação;

Cada um dos tópicos acima daria um blog exclusivo, mas o que mais nos interessa hoje é o último tópico.

Linguagem para internet!

Isto pode ser um choque, mas um site web não é um projeto classificado como técnico ou funcional, mas como de comunicação.  Pense um pouco a respeito.  Você consegue realmente ler algo como isso?  Eu não.  Eu estou nesse momento olhando para uma pequena pilha de formulário contínuo, formato carta, que tem o conteúdo do link impresso.  Sabe quando eu imprimi isso?  Tem uns 4 anos.  Sabe quantas vezes eu li o documento na íntegra? Nenhuma.  Deve ser por isso que meu aplicativo de NewsGroups não terminou… nem comecei.  Nem vou começar.  Tem o INND, o CNews, o DNews etc etc etc… bah.

Quando a gente olha os créditos de um filme que assistimos e vemos a tonelada de nomes de pessoas que nem sonhamos que existem, por um momento nos damos conta da complexidade envolvida na produção daquela hora e meia de entretenimento barato e muitas vezes, fugaz.  Assim é, em concepção, com um bom site web.  Precisa ter um bom desenhista, um bom roteirista, um bom programador, um bom DBA (administrador de banco de dados), um bom vendedor, um bom usuário que não vai reclamar que o logo está meio pixel desalinhado para fora da margem esquerda etc.

E o programador que se rale para fazer tudo isso ficar junto em uma página. Ele precisa entender o que o cliente quer, que droga o designer tomou quando produziu aquela ilustração impossível de ser colocada em uma página, qual o problema psicológico que o DBA enfrenta, que o levou a usar vinte e cinco tabelas diferentes para armazenar os dados cadastrais básicos de um cliente, e por fim, antecipar para onde, na página, TODOS os usuários DIFERENTES no MUNDO, olharão primeiro.  Fácil!

E aí, o programador conhece os frameworks JavaScript.  Ahhh que maravilha!  Agora sim eu posso escrever meia dúzia de sete mil comandos apenas, para produzir uma página que o usuário irá classificar como “legalzinha”, no dia da apresentação.  E depois que terminar a apresentação, o usuário perguntará: “e funciona com leitor de códigos de barras também?”

– Mas você não tinha dito nada sobre nenhum leitor de códigos de barras, em nenhuma das reuniões que tivemos!!
– Ué, mas eu pensei que você soubesse, já que estamos criando um site sobre rastreamento de bois!  Nada mais óbvio!
– Por falar em bois, como anda a senhora… deixa pra lá…

Então o programador sai frustrado da reunião e lembra-se que tem um amigo que já fez um trabalho com leitores de códigos de barras.  O amigo diz que topa o serviço mas que só tem experiência em Perl.  Seja lá o que raios for isso, para o programador não interessa porque o ambiente da web é agnóstico.  Aceita tudo!

E por que o ambiente web é assim?  Porque o que apresenta o que está armazenado no servidor é uma pequena peça de software chamada navegador!  Ele interpreta o que está armazenado no servidor e apresenta para o usuário.  Não importa se a página está composta por um monte de códigos em PHP, Perl, JavaScript, CSS, ASP ou qualquer outra coisa obscura que possam inventar.  Ele, o navegador, é o candango que terá que interpretar toda aquela tripa de instruções e transformá-la em algo visual.

Contanto que exista uma página com um mínimo de formatação básica, em HTML, que é a língua franca da internet.  Tecnicamente nem é preciso ter a estrutura HTML, mas isso é papo de nerd que não tem namorada.  Eu tenho namorada!  Chegou ontem pelo correio e na caixa está escrito que ela infla com apenas três soprões! Estou louco para ver se é verdade mesmo ou se é igual à anterior. Bom, deixa isso pra lá.

Então quer dizer que não importa muito qual linguagem utilizar para criar um site?  E que eu posso criar um site que rivalize com um aplicativo desktop? E eu posso ficar popular se fizer isso?

Bom essa última parte eu não sei.  O Mark é popular mas eu não o vi ainda com nenhuma namorada.  Até o tio Bill conseguiu se casar, mas o Mark deve estar querendo conhecer a Magali, porque o guarda-roupas dele é da turma da Mônica… Acham que estou viajando? Vejam isso.

Mas as duas partes anteriores, são verdade.  Sim, você pode criar um site usando uma, duas, três, quantas linguagens de programação precisar.  Lembre-se: o gato pode ser o melhor amigo do homem.  E sim! SIM! SIM!!! Você pode criar um site que não apenas rivalize com um aplicativo desktop, mas que de fato, supere o aplicativo desktop.

Agora o balde de água fria

Hehe.  Tudo é lindo e maravilhoso no plano das intenções.  Mas no plano real, dá trabalho.  É como eu sempre digo: o trem é “bão”, mas dá “trabaio”.  Se você quiser produzir alguma coisa que preste, minimamente, precisará entender do seguinte:

  • Algum banco de dados: MySQL e PostgreSQL.  Firebird não é banco de dados.  É heresia. Eu recomendo o PostgreSQL.
  • HTML: saiba como acentuar “avião” de cabeça, saiba como usar uma DIV etc etc. SAIBA HTML!
  • CSS: nem pense em sair de casa se você não sabe CSS.
  • JavaScript: Essa linguagem não é o que todos pensam, que serve apenas para aumentar o tamanho de uma janela. É uma linguagem padronizada e muito forte.  Saiba mais sobre ela aqui.
  • Algum framework JavaScript: eu aconselho o YUI – Yahoo User Interface.
  • Inglês: é… não tem jeito.  Quer programar algo que preste? Vai ter que ler muita documentação.  Tem que se garantir no inglês, pra valer.
  • Macintosh: saia correndo do mundo Windows. Eu uso Windows em meu laptop, mas estou escrevendo esse blog em meu Mac. Sem virus, mais de 9 dias ligado.

    Mac não pára!

  • Safari: ok, se você não puder se desvencilhar do Windows, use um navegador que preste e faça um favor a si mesmo: desinstale o Internet Exploder. O tio Bill fez muitas coisas legais na vida dele, mas uma das piores que fez chama-se Internet Exploder.  O Safari, para quem não sabe, é o navegador por trás do Google Chrome.  O Chrome usa a engine WebKit, criada pela Apple e liberada como código aberto.  Colocando simplesmente, rebenta o Gecko de trás pra frente e – bom, papo de nerd de novo.
  • Um bom ambiente de desenvolvimento: um aplicativo editor de textos qualquer serve, mas dá trabalho. Minhas sugestões:
    • UltraEdit – ESSE é bão… é o que eu uso no Windows para tudo, até para programar em Clarion.  A versão para Mac acabou de sair e está boa, mas é um tanto lenta.  Eles já sabem do problema e já avisaram que estão resolvendo, mas isso é aceitável porque escrever para Mac OS não é fácil, e o UE é realmente muito rápido no Windows. Vale cada centavo do preço, que considero muito baixo.
    • Eclipse: Isso faz tudo. Nunca vi uma coisa assim.  Tenho certeza absoluta que esses caras, nenhum deles, tem namorada.
    • Aptana: Esse é uma dica minha.  Coisa relativamente nova no pedaço, mas muito promissora e eficiente.  Estou usando no Mac. Minha escolha para o Mac.

Resumo da ópera

Você acha que leu bastante até chegar aqui? Prepare-se, pois terá que ler muito mais.  Pior, em inglês.  “Eles que num se atreve a mangar di eu, que minha vingança sará malígrina!  Todos os sites interessantes da internet vai ser tudo em ingreis, Kalunga.”

Decida por um framework que considere mais seu estilo e pau na máquina.  Aprenda as funcionalidades daquele framework e faça acontecer.

Se tiver um colega para trabalhar com você, melhor.  Sozinho ninguém faz nada.  Se tiver um cliente para pagar um primeiro projeto, melhor ainda! Me contrate!

Cuide de sua máquina.  Nela não há espaço para joguinhos, apresentaçõeszinhas malditas em PowerPoint de boas ações e desejos ridículos de “tenha uma boa semana”, ou de correntes repassadas por algum amigo mentecapto seu que realmente acredita que entulhar a rede com vai-e-vém de pura idiotice vai resolver alguma coisa.

Arrume uma namorada aqui.  Estou juntando dinheiro e aceito doações…

Uma última dica: esqueça essa coisa de mocinha de teclados em português.  A tecla de shift deles é do tamanho de uma tecla normal, e isso faz com que seu dedo mínimo esquerdo tenha que fazer um movimento contorcionista para acioná-la.  Para que alguém precisa realmente de um ENTER daquele tamanho em um teclado ABNT-2?  Eu não aciono o ENTER dando um soco no teclado.  Uso apenas um dedo para isso.  É realmente uma sandice esse desenho ABNT-2… Só por causa do C com cedilha?  Isso não resolve nada, porque para fazer o A com acento agudo ainda precisamos pressionar duas teclas!!! E as letras com til?  E com circunflexo?  Afe…

Abraços, porque agora eu vou nanar.

Easter egg maligno?

“EEE HEEEEEE SoftVelocity.”

Era assim que eu iniciava algumas de minhas mensagens nos grupos de discussão da linguagem de programação Clarion for Windows, e aparecia sempre que a SoftVelocity, a fabricante da linguagem, aprontava uma de suas com seus fiéis usuárias, nós, programadores.

Hoje eu descobri mais uma, de dar medo.

Você, programador Clarion que gosta de viver perigosamente, arrisque-se a reproduzir essa sequencia, para ver o que acontece com seus preciosos códigos:

1) Selecione um APP;

2) Selecione uma procedure que tenha uma “window” definida;

3) Escolha um controle, e acesse qualquer “embed” do controle;

4) Insira qualquer coisa no “embed” do controle, por exemplo: MESSAGE( ‘Teste’ );

5) Salve o “embed”, e sem sair da árvore de “embeds”, pressione o botão [Source], que dá acesso ao Embeditor.  Neste ponto você já notará que algo está prestes a não sair bem;

6) Navegue pelo código e escolha algum ponto disponível para edição (as linhas de código que estiverem em branco), e edite o código, colocando qualquer coisa;

7) Saia da edição salvando as alterações.  BANG.  Veja que o Clarion “populou” TODOS os seus pontos de embed com um maravilhoso “it”.

Bem, se o “it” vai servir para alguma coisa que não detonar inteiramente as duzentas e noventa e sete mil, quatrocentas e oitenta e cinco linhas de código lindo e maravilhoso que você escreveu para que seu usuário pudesse ganhar 3 ou 4 segundos ao longo de um ano, eu não sei, mas sei que é melhor você não salvar seu APP depois que isso acontecer. Salvou? Perdeu, playboy.

Bom.  Isso nunca aconteceu comigo porque eu não uso essa mistura cabalística de ações para editar um código, mas ao Andrá, que trabalha na mesa ao lado, sempre acontece.  Por que ele continua insistindo em adotar esse procedimento estrambólico de editar, salvar, e selecionar outra forma de edição, eu também não sei, mas acho que vou dar uma olhada no dicionário para saber o significado da palavra “masoquismo”.

Talvez os programadores da SoftVelocity sejam sádicos.  Talvez, todos os programadores do mundo sejam, e aí, começo a desconfiar que a teoria do 2010 tem algum fundamento.  Mas isso é material para outro post.

Inté!