Tiny C Compiler

May 30th, 2003 § 4 comments § permalink

O TCC, ou Tiny C Compiler, é um interessantíssimo e minúsculo compilador e otimizador C para o Linux. Além de ter tudo o que um compilador normal tem, ele pode gerar código com verificação de limites e memória.

Os seus criadores dizem que ele é mais rápido que o GCC, o que provavelmente é verdade já que o objetivo do GCC é ser um compilador genérico. Mas o que torna o TCC útil é que ele pode compilar e executar código diretamente permitindo que ele seja usado para scripts dentro do Linux.

Na minha opinião, porém, a sua maior vantagem é que, como ele gera código real, ele pode ser usado também como a retaguarda de uma outra linguagem qualquer. Isso torna a implementação da linguagem muito mais simples.

Para os interessados, como eu, vale a pena dar uma olhada. O melhor é que ele é licenciado sob a LGPL, o que permite sua utilização em qualquer tipo de projeto além de ter o código aberto.

A confusão tem muitos filhos

May 29th, 2003 § 5 comments § permalink

Em um certo livro que eu li, um dos personagens comenta em determinada hora que a confusão tem três filhos. Depois dessa semana eu diria que ela tem quantos filhos ela decide ter.

Como se não bastassem os acontecimentos da semana passada, e os problemas que eles têm me causado, o Windows em meu computador em casa decidiu morrer. Tudo bem até aí. Fiz um backup de tudo, reinstalei o Windows e preparei para voltar à ativa. O problema é que o meu drive de CD decidiu bater as botas também e o CD para o qual o backup foi feito está apresentando problemas de leitura. A vida é maravilhosa. :-) O Linux está funcionando, mas eu não posso acessar a Internet por ele e, além disso, os meus e-mails estão antigos estão todos no CD de backup.

Assim, até que eu consiga restaurar meu sistema a um nível aceitável de funcionamento, a atividade por aqui será um pouco reduzida. Peço desculpas em relação aos artigos que prometi. Na medida no possível eles sairão.

Sites com padrões Web

May 26th, 2003 § 6 comments § permalink

Nos próximos dias eu vou colocar aqui alguns artigos que eu estou escrevendo sobre a criação de sites com padrões Web. Algumas pessoas já me pediram isso anteriormente (fora do blog), mas até agora eu vinha enrolando.

Os artigos vão focar na construção de sites usando HTML (ou XHTML) e CSS válidos, mostrando como pode-se ter páginas acessíveis, estruturadas e dentro dos padrões sem um esforço excessivo. Como eu não tenho habilidades gráficas, os artigos não vão tocar na parte de layout sob esse ponto de vista. Mesmo assim, haverá algumas dicas sobre como usar CSS para sites funcionais e bem apresentáveis.

Eu vou tentar evitar uma imersão muito profunda no assunto de modo que os artigos fiquem mais como tutoriais equilibrando o conteúdo para quem não tem muito conhecimento do assunto, mas servindo também para os que já conhecem HTML e CSS bem, mas não estão muito acostumados com padrões. O que eu quero mostrar é algo prático e útil e que sirva para desmistificar o assunto.

O primeiro artigo deve sair em um ou dois dias. Fique ligado! :-)

Semana terrível

May 26th, 2003 § 6 comments § permalink

A semana passada foi uma daquelas que eu não vou esquecer tão cedo. Pior: na sexta-feira, eu achava que nada mais aconteceria de errado, mas o fim de semana provou que eu estava completamente enganado.

Depois de vários dias tentando instalar um servidor de banco de dados (que, recalcitrante, resiste aos meus esforços para fazê-lo funcionar corretamente) e de vários problemas na implementação de um sistema (normais e esperados, mas nem por isso menos estressantes), eu acreditava que pelo menos o fim de semana teria alguma coisa de bom. Afinal de contas, eu poderia ficar em casa, lendo e descansando e depois assistir o tão esperado The Matrix Reloaded.

Assistir o filme eu até consegui. Só não contava ser assaltado depois. Pelo menos minha esposa e eu conseguimos recuperar parte do que foi roubado na hora. Um carro de polícia apareceu do nada e depois de um perseguição tensa um dos safados foi preso. Conseguimos reaver nossas alianças de casamento, o meu relógio e uma correntinha dela. Os meus documentos e o meu celular se foram. Mas, como se não bastasse o assalto, ainda ficamos quase três horas na delegacia esperando para prestar depoimento. E depois ainda fomos mandados embora sem cerimônia nenhuma para ficar esperando um ônibus passar com medo de sermos assaltados novamente.

Fazer o quê; a vida é assim mesmo. O jeito agora é tentar recuperar o prejuízo. A chatice é ter que cancelar milhões de coisas, pedir a segunda via dessas milhões de coisas, tirar novos documentos e ficar com aquela sensação de que qualquer hora alguém pode usar os seus documentos para fazer algo que não deve e você acabar sofrendo mais por causa disso. Mas, se Deus quiser, isso não vai acontecer.

Eu só espero que essa semana seja melhor.

Strange Banana

May 23rd, 2003 § 2 comments § permalink

Se você está precisando de uma cara nova para o seu site e não tem nem jeito nem paciência para criar uma, você pode tentar o Strange Banana, um gerador randômico de layouts.

Eu dei uma verificada e o programinha até funciona razoavelmente. Como o próprio autor do programa diz, a maior parte dos sites gerados é medíocre e muitos são realmente horríveis, mas de quando em quando o programa consegue acertar e criar alguma coisa legal que pode realmente servir de base para um site bonito. E realmente, depois de algumas dezenas de tentativas eu até vi algumas combinações passáveis. O maior problema é que o HTML e CSS gerados só funcionam bem no Internet Explorer.

De qualquer forma, vale a pena dar uma olhadinha mesmo que só por curiosidade. Depois indique o programa para aquele seu conhecido que tem um site horroroso. :-)

Cartuchos de impressoras

May 20th, 2003 § Comments Off on Cartuchos de impressoras § permalink

Ontem o pessoal do Don’t Believe the Hype passou o link para uma boa notícia: o Inmetro vai fazer um estudo sobre cartuchos de impressoras para normatizar a venda dos mesmos. Considerando a situação atual, essa é um medida que talvez possa ajudar os consumidores. Talvez, porque não adianta nada normatizar e continuar a pouca vergonha que é o mercado de cartuchos hoje.

Além do problema do preço, há também o problema das falsificações. Um conhecido, que trabalha no mercado, disse que grandes estabelecimentos estão comprando as embalagens dos cartuchos novos para dar uma ajeitada e embalar cartuchos remanufaturados que serão vendidos como se fossem novos. Desse jeito fica impossível para o consumidor — simplesmente não há nem como ter confiança. Eu espero que o Inmetro possa pelo menos verificar se realmente vale a pena comprar remanufaturados. E, se vale a pena, quais são as marcas que prestam. Isso já ajudaria na hora da escolha, para quem usa tais cartuchos, e talvez até forçasse uma melhoria nos outros fabricantes por causa de concorrência. Vamos ver no que dá. Segundo a notícia, o estudo deve demorar dois meses para ficar pronto.

Eu estou sem comprar cartuchos há um bom tempo por causa do preço. E os cartuchos que a minha empressora usam são até baratos comparados com os das impressoras HP, por exemplo. Mas comprar um colorido e um preto é branco ao mesmo tempo é uma facada que ainda não me convenci a levar. O pior é que, com as impressões que estou precisando fazer, não vai dar para adiar muito a decisão. Daqui a pouco eu vou estar com o sujeito que mencionado na entrada citada acima: o cara compra um impressora nova cada vez que os cartuchos acabam porque fica mais barato do que trocá-los.

Banco de dados horroroso

May 16th, 2003 § 2 comments § permalink

Há bancos de dados e bancos de dados, mas o Informix merece um prêmio por ser um dos piores em existência. Eu estou trabalhando em um projeto usando a versão 7.x do mesmo e já estou ficando louco. É a segunda vez, mas eu havia me esquecido de como ele era ruim.

Para começar, o suporte a ANSI-92 é de ínfimo a inexistente. Existem inconsistências entre vários tipos de declarações que não dá nem para acreditar. Já houve o caso de uma view que não funcionava de maneira alguma por causa do uso (ou uma tentativa de uso) do padrão. Depois que as declarações foram convertidas para o jeito que o Informix usa, tudo voltou ao normal.

Os identificadores também só podem ter 18 caracteres, o que dificulta enormemente a nomeação dos campos e tabelas, principalmente quando a empresa usa uma notação mnemônica e gasta caracteres com prefixos e sublinhado.

Além disso, campos blob, ou seja, aqueles que guardam texto extendido não são suportados diretamente em inserções e atualizações. Na verdade, a maioria dos bancos não suporta isso, mas não é justificativa já que é possível suportar.

Mais ainda, o banco suporta campos auto-incrementados, mas não tem nenhum mecanismo para a recuperação do último valor inserido. (Pelo menos eu não achei. Se alguém me provar errado, eu até agradeço.)

Para culminar, o driver OLE-DB não funciona, e o driver ODBC é cheio de complicações para configurar. Um parâmetro errado e tudo começa a ir por água abaixo. Como a minha máquina não tem o driver correto (não consegui instalar), eu acabo tendo que dar um telnet para o servidor (um Unix SCO) e usar um interface arcaica para dar manutenção do banco.

Depois de hoje, eu me dou o direito de sentir auto-piedade. :-)

Livro de Ciência da Computação grátis

May 16th, 2003 § Comments Off on Livro de Ciência da Computação grátis § permalink

Eu estava lendo o blog do Simon Willison e em um das entradas ele mencionava o livro Structure and Interpretation of Computer Programs, de Hal Abelson, Jerry Sussman e Julie Sussman. Seguindo a referência, descobri que o texto completo do livro está disponível na Web.

O livro é um dos clássicos da ciência da computação e é uma das bíblias das linguagens Lisp/Scheme. É conhecido também com o Purple Book ou o Wizard Book. Uma excelente leitura para programadores em geral.

SharpReader e RSS

May 16th, 2003 § 2 comments § permalink

Saiu uma nova versão do SharpReader, um agregador RSS muito bom que eu estou usando atualmente.

Esse agregador se destaca por fazer uso dos links presentes nas entradas dos blogs para criar listas de referências entre blogs que permitem saber quais outros blogs estão comentando aquela dada entrada. A nova versão leva isso além e permite que você saiba quais outros blogs estão comentando sobre os mesmos assuntos referenciados na entrada. Obviamente, isso só funciona se você lê um determinado universo de blogs que falam de coisas relativamente similares (como é o meu caso com tecnologia e cultura internet).

De qualquer forma, o agregador é muito bom. Vale a pena conferir. O seu único problema é precisar do .NET para rodar.

Agora, se você não sabe o que é RSS ou agregadores, segue uma pequena explicação:

RSS é o acrônimo de Really Simple Sindication, ou Rich Site Summary (dependendo da especificação; você não precisa se preocupar com isso). É um formato que permite a troca de informações — principalmente notícias — entre sites.

Para blogs, ele significa a possibilidade de subscrição. Você utiliza um programa com o FeedReader (Windows), o NetNewsWire (Mac), o AmphetaDesk (Multiplataforma), ou o SharpReader mencionado anteriormente, e o programa lê o feed RSS dos sites que você indicou que contém um resumo das entradas no mesmo.

Assim você pode saber se um site foi atualizado sem precisar entrar no mesmo e, ao receber as atualizações, selecionar apenas as que você quer ver e ir direto para as páginas em questão.

O Superfície Reflexiva disponibiliza dois feed RSS: um usando aversão 1.0 e outro usando a versão 2.0. A maioria dos programas suporta as duas versões e você pode usar qualquer um.

Então, faça a você mesmo um favor. Baixe um dos programas, subscreva-se aos blogs de sua preferência (você pode achar uma lista de blogs com feeds RSS no vardump.com). Se o seus blogs preferidos não suportam RSS, converse com eles. A maioria dos sistemas de criação de weblogs suportam esse formato, mas é possível mesmo para usuários do Blogger. Isso vai poupar a você um tempo enorme e vai tornar o acompanhamento dos mesmos muito mais fácil. Eu antes visitava três ou quatro blogs diariamente. Hoje visito mais de 60. Inclusive, dificilmente leio um site sem feed RSS mais de uma vez já que não tenho tempo para isso. Só se o site valer a pena mesmo.

Para saber mais informações veja a página do Projeto RSSFicado. É um projeto para tornar o RSS mais utilizado na comunidade de blogs brasileiros, que inclusive ajuda blogueiros a terem os seus feeds RSS.

Mais sobre a evolução de linguagens de programação

May 14th, 2003 § 6 comments § permalink

Há quase dois meses atrás, eu escrevi uma entrada neste blog sobre a evolução de linguagens de programação. No texto eu notei que muitas das linguagens mais difundidas atualmente são apenas variações sintáticas de linguagens mais antigas que, conseqüentemente, não contribuem com nada de novo para o campo. Eu também perguntei sobre qual caminho evolutivo novas linguagens seguiriam visto que, obviamente, as necessidades de programação não permanecerão constantes nos próximos anos. O texto era mais ou menos uma grande questão já que eu estava apenas tentando pensar em como as linguagens de programação seriam no futuro olhando para tendências atuais como tipagem dinâmica, máquina virtuais just-in-time, programação genérica, e outros conceitos que não são necessariamente novos mais que ganharam uma aceitação maior nos últimos tempos. Eu também argumentei que muitas das mais poderosas linguagens de programação são baseadas em um núcleo relativamente simples que pode ser extendido facilmente para representar novos conceitos.

Nas semanas que se seguiram à publicação do texto, eu descobri que muitas pessoas estavam interessadas no mesmo tópico e que muitas haviam escrito independentemente sobre o assunto em seus blogs ou sites. Eu também achei links para mais material interessantes que, junto com esses textos mencionados, ajudaram a responder algumas das minhas questões e me dar uma visão interessante do futuro das linguagens de programação, validando algumas das minhas idéias no processo. Alguns desses idéias e conclusão são apresentadas abaixo.

» Read the rest of this entry «

Where am I?

You are currently viewing the archives for May, 2003 at Superfície Reflexiva.