Arquivo | trabalho RSS for this section

Por que o MySQL é ruim?

Em português

Esta é apenas uma das razões porque eu considero o MySQL um banco de dados ruim. Uma minúscula nota na documentação para create table, em http://dev.mysql.com/doc/refman/5.5/en/create-table.html explica:

For other storage engines, MySQL Server parses and ignores the FOREIGN KEY and REFERENCES syntax in CREATE TABLE statements. The CHECK clause is parsed but ignored by all storage engines.

Para funcionar, é preciso usar a máquina InnoDB. Legal. Então minha pergunta: qual a necessidade para as outras máquinas, além de sobrecarregarem o sistema, entregando MENOS funcionalidade?

Eu heim…

English version

This is just one of the reasons why I consider MySQL not appropriate database.  A minuscule note on the documentation of the create table command, at http://dev.mysql.com/doc/refman/5.5/en/create-table.html, explains:

For other storage engines, MySQL Server parses and ignores the FOREIGN KEY and REFERENCES syntax in CREATE TABLE statements. The CHECK clause is parsed but ignored by all storage engines.

For it to work, the InnoDB engine is required.  Cool.  Then I ask: what is the need for all the other engines, other than drag the entire system, delivering LESS functionality?

Geez…

Anúncios

Clarion same ol’, same ol’

Day after day, and I keep reading the same complaints, justifications, rants, frustrations and gobbledeegook, from the same individuals, over and over and over.

But nothing really changes, in terms of improvement. I read people are always trying to do new things, but desperately trying to use the same old methods and tools.

I often read answers to other’s frustrations, that have any other intention than actually solve the problem, or support the poor user who is suffering, from whatever it may be: technical, business limitation, personal frustration with Clarion, and even true commitment with Clarion and/or community development.

I just saw a post arguing about an imminent release of a version, that had a (serious? who am I to judge what is serious and what’s not?) bug. And guess what? A saw a response from a Clariban member specifically using the word “blame”.

Well, I rather not see another buggy version, that will do me not much more than drag me away from what I have to do.

Personally I prefer spending time reading MSDN so I can learn how to do things, than buying a ton of templates that will “solve” my “problems” in a “quick” and “easy” way. But that’s just me, because even doing so, I still make good money from being such a dumb programmer who prefers to learn how to do things, instead of being a super smart programmer that responds promptly whenever the customer presses up.

I don’t know, but there’s something really wrong going on with this community. Clarion is a very nice language, but SV is obviously having turn around problems. Worse: a lot, I mean, a LOT of developers seem not to bother at all.

Things like: “take it easy, we can wait some 4 more years for these little bug corrections”, or “what really matters is making the app SEEM to work like a web application”, or even “why would I need to use an external editor? Clarion’s got it all!”

I tell you. This is BS. Clarion is a computer language, there is a Clarion compiler, and there is the Clarion IDE. The language works well, the compiler works well, but the IDE sucks bigtime. And SV is clearly totally lost trying to produce an IDE that amazes, seduces, and works like it used to be on mid-late 90’s.

I know Z worked side by side with BB (that’s Bruce Barrington) and he loves Clarion, probably much more than any of us, but I tell you: love isn’t nearly all it takes to produce a product.

So, all you, Claribans, before counter attack like a horde of watchdogs trying to fence SV from having to do what they have to do, think twice, because you might be very well, wrong.

You don’t want to answer questions, teaching how to do, instead of pointing to your own “solution” to a problem, fine. But use the same approach for when you don’t have something that will contribute to the TRUE development of the community.

Sometimes, when you think you’re doing a great good, you might be doing exactly the opposity, feeding fear, misleading, and promoting the same ol’, same ol’ thing that impedes personal, technical, and industry development.

Thank you.

Todos queremos ser felizes, mas o que compõe a felicidade?

Rapidamente. Hoje estava batendo um papo com uma amiga, quando me ocorreu a dúvida sobre o que nos leva a querer bater papo.

Em minha tentativa de entender este processo social, me peguei com outra pergunta: Como ser feliz profissionalmente?

Bom, o assunto é vasto, mas ao menos tempo, simples. Menos é mais, sempre.

Acontece que para sermos felizes, devemos compreender a relação entre alegria, sedução, e interesse.

  • Alegria é um sentimento de satisfação, e geralmente passa rápido.
  • Sedução são as ações que alguém toma para nos envolver em seus propósitos.
  • Interesse é a sensação de necessidade ou curiosidade que temos sobre algo.

Estas são definições minhas. Eu geralmente consulto o dicionário antes de me comprometer com a explicação de algo, mas desta vez, preferi deixar minha intuição no comando.

Como estas três sensações (alegria, sentir-se seduzido, ter interesse) compõem a felicidade profissional? A meu ver, temos de ter interesse em participar de algo, e ser seduzidos por alguém ou por algo, a participarmos.

Temos de ter interesse em ganhar dinheiro, em aprender mais, em nos destacarmos, em descobrir coisas novas, e em desenvolver novas soluções para a humanidade.

Temos de ser seduzidos a utilizar ferramentas, a interagir com nossos colegas, a nos vestir bem, a nos comportar bem, a ensinar, aprender, e até mesmo a comparecer diariamente ao local de trabalho.

É possível que façamos tudo, e mais, que listei acima, sem interesse e/ou sem sermos seduzidos, e é aí que o ciclo se quebra.

Fazer algo sem interesse ou sem sermos seduzidos, não traz alegria. O resultado torna-se algo muito industrializado, como a clássica imagem do funcionário público batendo o carimbo de forma automatizada, apenas esperando pelo fim de seu expediente, para no outro dia, seu martírio recomeçar.

Então, meus amigos, interessem-se em seduzir, e seduzam a si mesmos. Quando começarem a ter alegria em suas funções, seus colegas se contagiarão por ela, e um ciclo virtuoso será iniciado.

Simples, não é? Até a próxima!

Copy do PGAdmin III & Paste em uma planilha

Dica rápida, porque eu e muitos conhecidos estamos sempre precisando copiar um result set de uma consulta SQL feita no PGAdmin III para alguma planilha de cálculos.

Geralmente a planilha será o MS Excel, mas a dica funciona também com o Numbers e a maioria das planilhas utilizadas. Quem usa o Lucid 3D está sem sorte, no entanto — se é que alguém ainda usa, ou mesmo se lembra dela, a primeira planilha eletrônica “3D”.

O segredo é configurar o PGAdmin para copiar os dados SEM usar aspas como delimitador de caracteres, e usar o TAB como separador de campos.

No PGAdmin, selecione CMD+, (OS X) ou Menu Tools > Options > Query Tool (Windows)

Marque a opção “None” no campo Result copy quoting.

Marque a opção “Tab” no campo Result copy field separator.

A partir de agora, quando você copiar um result set de seu PGAdmin, e colá-lo em sua planilha, seus dados serão separados corretamente em colunas.

Até mais!

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í!

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.