quinta-feira, fevereiro 28, 2008

Código de Barras - Código 2 de 5

O código 2 de 5, também chamado de Discreto 2 de 5, 2 de 5 Padrão e Industrial 2 de 5, é um código numérico de baixa densidade e porisso pouco usado. Ele é um código discreto, onde cada caracter corresponde diretamente a um padrão de barras distinto e de mesmo tamanho, o que permite a sua implementação através de um fonte de letras. É um código bastante antigo, existindo desde os anos 60.

O código 2 de 5 utiliza duas larguras de barra. A barra mais larga deve ter de duas a três vezes a largura da mais estreita. Cada caracter é codificado em uma sequência com 5 barras, das quais 2 são largas e 3 são estreitas (daí vem o 2 de 5). Os espaços entre as barras não contém informação e normalmente são da mesma largura que as barras estreitas. A distância entre um caracter e outro não é crítica mas deve ser de pelo menos uma barra estreita.

Além dos dígitos de 0 a 9 o código 2 de 5 possui sequências especiais para marcar o início e o fim do código.

Um código 2 de 5 é composto no mínimo do código de início, os códigos de dados e do código de fim. Um caracter de checksum (módulo 10) pode opcionalmente ser colocado entre o final dos dados e a marca do final.

As sequências utilizadas para os dígitos no Código 2 de 5 são:


Onde 'E' indica um elemento estreito e 'L' indica um elemento largo.

As marcas de início e fim fogem um pouco deste padrão:
  • o início é a seqüência: barra de largura 2, espaço, barra de largura 2, espaço, barra de largura 1, espaço
  • o fim é a seqüência: barra de largura 2, espaço, barra de largura 1, espaço, barra de largura 2, espaço
A largura de cada sequência é 14 módulos. Considerando que a barra larga tenha o triplo da largura da estreita, não seja usado checksum, um código com n dígitos terá largura de 15*n+ 16 módulos:
  • 15 = 2 barras de lagura 3 + 3 barras de largura 1 + 1 espaço após cada barra
  • 8 = largura das marcas de início e fim
Para calcular o checksum (opcional) some primeiro os dígitos, usando pesos 3 e 1 alternadamente da direita para a esquerda. Calcule o resto da divisão desta soma por dez. Se o resto for zero, o dígito é 0, senão é 10 - resto. Por exemplo:
Código 12345 
Pesos 31313

Soma 3+2+9+4+15 = 33
Resto 33 % 10 = 3
Dígito 10 - 3 = 7
O código 2 de 5 é um código em desuso, visto que permite codificar apenas dígitos e a densidade resultante é muito baixa. O código 128 (que veremos futuramente) permite codificar o conjunto completo de caracteres ASCII e é muito mais eficiente na codificação de dígitos.

No próximo post veremos um parente do 2 de 5, o Intercalado 2 de 5, que possui uma codificação bem mais compacta mas infelizmente possui alguns problemas práticos.

Atualização em 03/mar/08: a relação de largura entre as barras largas e estreitas pode variar de 2 a 3, acertos menores no texto.

quarta-feira, fevereiro 27, 2008

Código de Barras - Código 39

O código 39 ou código 3 de 9 é um código de uso genérico bastante popular. Ele é um código discreto, onde cada caracter corresponde diretamente a um padrão de barras distinto e de mesmo tamanho, o que permite a sua implementação através de um fonte de letras.

O código 39 utiliza duas larguras de elemento (um elemento é uma barra ou espaço). O elemento mais largo deve ter de duas a três vezes a largura do mais estreito. Cada caracter é codificado em uma sequência de 9 elementos, dos quais 3 são largos e 6 são estreitos (daí vem o 3 de 9). O primeiro e o último elemento são sempre barras. A distância entre um caracter e outro não é crítica mas deve ser de pelo menos um elemento estreito.

O código 39 permite codificar diretamente os dígitos, as letras maiúsculas e os caracteres especias - . [espaço] $ / + e %. A codificação ASCII completa pode ser obtida usando estes últimos quatro caracteres como um prefixo. Existe também uma sequência de elementos para indicar o início e fim do código (*). Esta sequência permite também ao leitor identificar o sentido em que as barras estão sendo percorridas.

Um código 39 é composto no mínimo do código de início (*), os códigos de dados e do código de fim (*). Um caracter de checksum (módulo 43) pode opcionalmente ser colocado entre o final dos dados e o '*' final.

As sequências utilizadas no Code 39 são:


Onde 'E' indica um elemento estreito e 'L' indica um elemento largo.

Uma característica interessante é que um erro na leitura de um único elemento (por falha na impressão ou na leitura) gera um caracter inválido, impedindo a leitura incorreta.

A largura de cada sequência é 12 a 15 módulos, dependendo da relação entre os elementos largos e estreitos. Considerando que a distância entre os caracteres seja de um módulo, que não seja usado checksum e que o elemento largo tenha o dobro da largura do estreito, um código com n caracteres terá largura de 13*(n+2)-1 módulos:
  • 13 = 3 elementos de lagura 2 + 6 elementos de largura 1 + 1 espaço ao final
  • n+2 = caractes + marcas de início e fim
  • -1 = descontando o espaço no final do último caracter
O checksum (opcional) é o resto da divisão da soma dos códigos de 0 a 42 dos caracteres de dados por 43. Por exemplo, para o texto "DQSOFT" o checksum é (13+26+28+24+15+29) % 43 = 6 que corresponde ao caracter '6'.

As características do code 39 facilitam a sua impressão e leitura, mas isto não é significativo para os dispositivos atuais (exceto no caso de se desejar usar um fonte de letra para gerar o código de barras). O código 128 (que veremos futuramente) permite codificar o conjunto completo de caracteres ASCII ocupando um espaço igual ou menor.

terça-feira, fevereiro 26, 2008

Código de Barras - Impressão

A impressão de código de barras consiste apenas em desenhar barras de tamanho certo no lugar certo. Simples não? Existem, porém, algumas sutilezas no processo. Indo direto ao ponto, um código de barras impresso perfeitamente tem as barras com bordas retas, largura precisa e alto contraste com os espaços, o que nem sempre é fácil de obter. Felizmente a maioria dos leitores consegue ler códigos de baixa qualidade.

Uso de Impressoras Gráficas Comuns

Impressoras comuns com capacidade gráfica podem ser utilizadas para imprimir código de barras, porém nem sempre com boa qualidade.

Um dos piores tipos de impressora para imprimir código de barras é a matricial. Um primeiro problema é a baixa resolução, o que faz com que uma barra tenha largura de poucos pontos. Some-se a isto o fato dos pontos serem redondos e temos bordas curvas e largura variável. Um segundo problema é que a impressão é feita por uma cabeça que se move na horizontal em uma carcaça que muitas vezes treme continuamente durante a impressão. Isto gera variações no posicionamento horizontal e problemas de alinhamento vertical. Por último existe a questão da fita de impressão. Quando nova ela costuma soltar muita tinta, gerando impressões borradas. À medida que vai ficando gasta, o contraste vai caindo.

As impressoras a jato de tinta estão longe de serem ideais para a impressão de código de barras, mas permitem gerar códigos bem satisfatórios. Os problemas de posicionamento horizontal e alinhamento vertical também ocorrem, porém a resolução é maior e a qualidade da impressão é bem constante durante a vida útil do cartucho. Por outro lado, dependendo da tinta e do papel pode ocorrer dos pontos sairem maiores do que o esperado, tornando as barras ligeiramente mais largas e os espaços mais estreitos.

As impressoras a laser são as que geram melhores códigos de barra entre as impressoras não específicas, apresentando boa resolução, poucos problemas de posicionamento horizontal e vertical ou de borrão.

Para imprimir um código de barras em uma impressora gráfica comum é preciso gerar a imagem do código. Isto pode ser feito através de programas específicos (como o que vou mostrar no final da série). Em algumas simbologias (mas não todas) cada caracter codificado corresponde a uma seqüência fixa de barras, o que possibilita criar uma fonte, neste caso o código pode ser gerado imprimindo diretamente o seu conteúdo com esta fonte.

Impressoras Específicas para Código de Barras

Existem impressoras específicas para quem necessita imprimir quantidades maiores de códigos de barras e/ou deseja uma qualidade maior. Estas impressoras possuem internamento as rotinas necessárias para criar as imagens do código, recebendo do micro (ou outro dispositivo controlador) comandos específicos para isto.

Um primeiro tipo são as impressoras térmicas direta, que usam tecnologia semelhante aos aparelhos de fax mais tradicionais. Estas impressoras possuem uma cabeça composta por uma série linear de elementos que podem ser aquecidos individualmente e assim gerar um ponto escuro em um papel sensível a temperatura (papel térmico). Um tamanhos típico destas cabeças é 10 polegadas, com uma densidade de 150 ou 200 pontos por polegada (6 ou 8 pontos por milímetro). Alguns modelos mais sofisticados chegam a ter cabeça de mais de 20 cm e resolução da ordem de 300 pontos por polegada (12 pontos por milímetro). Estas impressoras têm, portanto, uma boa resolução, nenhum problema de posicionamento horizontal e poucos problemas de alinhamento vertical (já que os elementos são fixo) e contraste praticamente constante. O problema desta tecnologia é a durabilidade da impressão, já que contraste vai caindo com o tempo quando o papel térmico é exposto à luz solar.

A alternativa mais profissional é a impressora de transferência térmica. Ela possui uma cabeça semelhante à térmica direta, porém a temperatura é utilizada para transferir a tinta de uma fita (ribbon) para um papel comum. Ao contrário da impressora matricial, na transferência térmica toda a tinta do ribbon é passada para o papel na primeira (e única) impressão. Isto garante uma qualidade homogênea de impressão, porém significa que para cada metro de papel impresso é gasto um metro de ribbon (independente de ter impressão).

Seguem alguns sites de fabricantes de impressoras específicas para código de barras:

segunda-feira, fevereiro 25, 2008

Código de Barras - Leitura

A leitura de código de barras é quase sempre feita de forma ótica, distinguindo as barras e os espaços pelo contraste. Uma das consequência disto é a necessidade de uma região vazia em torno do código de barras, a chamada margem ou zona de silêncio.

O contraste entre as barras e espaços depende das suas cores e da cor da luz utilizada na leitura. Normalmente a luz usada na leitura é o vermelho, o que significa, por exemplo, que barras vermelhas impressas sobre branco não serão legíveis.

Uma vez distinguidas as barras e espaços, o leitor determina as suas larguras relativas e faz a decodificação, o que inclui determinar qual a simbologia do código. Feita a decodificação, o leitor precisa passar adiante os caracteres decodificados. As forma mais comum são por comunicação serial assíncrona e emulação de teclado. No primeiro caso o sistema que vai utilizar o código precisa ter um tratamento da serial. No segundo caso a leitura é transparente para o sistema, o que tem a desvantagem de impedir um tratamento diferenciado conforme o código foi lido ou digitado.

As formas mais comuns de leitura são:
  • caneta ótica
  • leitor de fenda
  • leitor laser
  • leitor CCD (ou linear imager)
  • leitor de imagem

Vejamos alguns detalhes sobre elas.

Caneta

A caneta é uma forma extremamente barata e pouco confiável. A caneta possui uma fonte e um sensor de luz. A leitura é feito movimentando-se manualmente a caneta por sobre o código. A distância de leitura é muito baixa, tipicamente a ponta da caneta é encostada no código, o que traz desgate para ambos. Uma boa leitura depende principalmente da habilidade de manter uma velocidade constante.

Leitor de Fenda

É praticamemte igual à caneta, porém a fonte/sensor fica fixo e o código é que é movimentado.

Leitor Laser

No leitor laser um diodo laser gera um feixe de luz que incinde sobre um espelho que oscila, fazendo com que o ponto se movimente. O circuito e o mecanismo de um leitor laser pode atualmente ser encapsulado em um módulo de tamanho próximo ao de um apontador.

É comum encontrarmos os leitores laser operando de três formas:
  • Em um dispositivo segurado por um operador, como uma pistola ou coletor. Neste caso cabe ao operador apontar o feixe de luz para o código de barras.
  • Em um dispositivo fixo na frente do qual o qual o operador apresenta ou passa o objeto com código de barras, como nos leitores de supermercado. Para maior agilidade, neste caso é comum termos um leitor omnidirecional, onde são usados mais de um espelho e/ou diodo laser para gerar raios em várias direções de forma a garantir que um deles corte todas as barras do código independente de sua orientação. Existem até mesmo leitores ditos "tridimensionais" compostos de um plano vertical e um horizontal.
  • Em um dispositivo fixo que aponta para uma esteira onde os objetos com códigos de barras passam. Dependendo da libertada de posicionamento dos códigos na esteira, podem ser necessários vários leitores para garantir a leitura, criando os chamados túneis de leitura.
Uma dica sobre a leitura com leitores portáteis: ao incindir um feixe de luz em uma superfície temos um reflexão especular, mais intensa e com igual ângulo em relação à perpendicular, e a reflexão difusa, causada pelas imperfeiçoes da superfície e portanto menos intensa. Os leitores são normalmente projetados para operar com a reflexão difusa e podem ficar "ofuscados" pela reflexão especulara a curta distância. Por este motivo, a leitura costuma ser mais fácil quando o leitor é segurado com uma pequena inclinação em relaçaõ ao código.

Leitor CCD

O leitor CCD se assemelha ao sensor de um scanner de imagem: uma sequência linear de sensores de luz. Originalmente os leitores CCD operavam apenas com distâncias muito curtas (próximas ao contato), mas hoje existem modelos capazes de ler a algumas dezenas de centímetros. Embora o desempenho possa ser um pouco inferior que os leitores a laser, o leitor CCD é mais barato. Além disso, um dos fabricantes possui patentes que lhe garante royalties sobre os leitores laser fabricados pelos seus concorrentes, o que torna o leitor CCD mais atraente para eles.

Leitor de Imagem

O leitor de imagem é basicamente uma câmera digital. Através de processamento de imagem o código é localizado e as barras decodificadas. Normalmente os leitores de imagem permitem decodificação omnidirecional e suportam códigos 2D. É comum também permitirem o seu uso como uma câmera monocromática de baixa resolução. A desvantagem é que é necessário um processamento maior, o que torna a decodificação mais lenta. Graças à Lei de Moore, a cada ano isto é menos problemático.

Desempenho dos Leitores

O desempenho de um leitor é normalmente indicado por diagramas como o abaixo:


Estes diagramas indicam a que distância é possível a leitura de códigos, em função do tamanho da barra mais fina. No caso dos leitores laser, a largura do feixe aumenta com a distância, o que afeta a leitura de códigos largos. Isto também é indicado no diagrama.

Escolhendo um Leitor

O primeiro passo para escolher um leitor é definir os códigos que serão lidos: suas simbologias, quantidade de caracteres e tamanho da barra mais fina (o que junto com as informações anteriores define a largura do código). No caso de leitura em esteira, pode ser importante também a altura do código. Verifique também a necessidade de ler códigos danificados ou sujos.

O segundo passo é definir a forma de leitura (leitor manual ou fixo, etc).

O terceiro passo é definir a forma como o leitor se comunicará com o resto do sistema.

De posse destas informações, uma visita aos sites dos fabricantes indicará quais os modelos que atendem a estas especificações. Seguem alguns dos sites:

sexta-feira, fevereiro 22, 2008

Código de Barras x RFID

Atualmente falar em código de barras acaba gerando perguntas sobre RFID. Neste post vou falar rapidamente sobre o RFID e compará-lo ao código de barras.

É preciso um certo cuidado, pois RFID é uma tecnologia que padece da praga que mais destroi novas tecnologias: o exagero (ou hype). Outro ponto importante é que é uma tecnologia relativamente nova, na qual aperfeiçoamentos podem surgir rapidamente.

De uma forma simplificada RFID é uma tecnologia de AutoID na qual o leitor se comunica via rádio com um tag para obter a sua identificação. Existem dois tipos básicos de tags: os ativos e os passivos. Os ativos possuem uma bateria para acionar o rádio, os tags passivos utilizam a energia do sinal recebido do leitor para enviar a sua identificação. Os tags possuem uma indicação gravada na fábrica e inalterável, esta identificação é numero de cerca de uma centena de bits. Além desta identificação fixa alguns modelos possuem uma memória que pode ser alterada pelo leitor (que neste caso é mais propriamente um leitor/gravador).

A vantagem óbvia do RFID é não necessitar de visada direta. Por outro lado, é preciso uma ou mais antenas e o alcance é limitado (principalmente para os tags passivos). A leitura de vários tags que estejam simultaneamente na área de cobertura do leitor é um recurso relativamente novo e ainda limitado tanto na quantidade de tags suportados como no tempo necessário para a leitura e na taxa de leituras não realizadas com sucesso.

Embora a possibilidade de escrita no tag seja muito interessante, atualmente a quantidade de memória é baixa para os tags passivos (da ordem de uma centena de bits) e o processo de escrita é lento.

A padronização dos tags é também recente e ainda está driblando a questão de patentes (cabe lembrar que também nos leitores a laser de código de barras existem patentes envolvidas).

Periodicamente se fala na 'morte' do código de barras no varejo, com sistemas onde o cliente passaria com o carrinho de supermercado pelo caixa e os códigos dos produtos seriam auto-magicamente lidos. Exitem atualmente vários impecilhos para isto:
  • os tags de RFID são elementos que tem que ser afixados às embalagens. Mesmo que o preço dos tags caiam uma ordem de grandeza nos próximos anos eles continuariam sendo um custo adicional significativo para itens de menor valor.
  • as tecnologias atuais não permitem a leitura 'simultânea' de uma grande quantidade de tags em tempo curto e com taxa de perda próxima de zero
  • é relativamente simples bloquear o sinal RF em torno de um tag, impedindo a sua leitura.
Mesmo a principal vantagem do RFID, que é a leitura sem necessidade de visada, é vista com preocupações por algumas pessoas. A possibilidade da leitura do tag de forma não perceptível tem gerado preocupações de privacidade e segurança.

Resumindo, RFID é uma tecnologia cujas aplicações possuem uma certa intersecção com as do código de barras porém não é apropriada para substituí-lo em todas as situações (da mesma forma como o RFID permite aplicações que não são viáveis com o código de barras).

Encerrada esta pequena digressão, no próximo post vamos falar na leitura de código de barras.

quinta-feira, fevereiro 21, 2008

Volume 33 de Obras Completas de Carl Barks

Uma das coleções mais interessantes dos últimos anos para quem gosta de quadrinhos é "O Melhor da Disney - Obras Completas de Carl Barks" da Abril. Para quem não sabe quem é Carl Barks, recomendo ler a entrada correspondente na Wikipidia. Um resumo é:
  • Ele escreveu e desenhou histórias do Pato Donald e familiares de 1942 a 1966.
  • A qualidade dos seus trabalhos era tal que os fãs reconheciam os seus trabalhos apesar da Disney não publicar os nomes dos artistas.
  • Criou, entre outros, Tio Patinhas, Gastão, Professor Pardal, Maga Patalógica e os Escoteiros Mirins.
  • A qualidade de seus desenhos é ótima e as histórias são realmente engraçadas.
A Abril está publicando a coleção em lotes de 4 volumes. O intervalo entre os volumes de cada lote variam de 1 a 3 semanas e o intervalo entre os lotes tem sido um número randômico de meses. É caro (atualmente R$16,95 o volume), mas a qualidade da impressão é muito boa.

Infelizmente a divulgação tem deixado a desejar. Não encontrei nenhuma referência à quantidade total de volumes e a única forma que encontrei para descobrir quando saiu é ficar de olho nas bancas e no site oficial http://jovem.abril.com.br/ (que não tem feed).

O volume 33 inicia o nono lote, o que significa que é hora de rever o orçamento das próximas semanas. Alguns detalhes adicionais podem ser vistos aqui.

Código de Barras - Introdução

Nesta nova série vou falar um pouco sobre código de barras, comentando a sua leitura e impressão e as características de alguns tipos mais comuns. Ao final talvez me aventure a apresentar um código para gerar imagens destes tipos de códigos de barras.

Código de barras é uma das tecnologias usadas para a "auto identificação" (AutoID), ou seja, a captura de dados de forma automatizada. O objetivo principal da AutoID é a maior confiabilidade da informação capturada quando comparada com a transcrição por uma pessoa.

No código de barras a informação é codificada em uma sequência de barras separadas por espaços. Existem diversas formas padronizadas de fazer esta codificação, são as chamadas simbologias. Na forma mais comum, dita linear, temos uma única linha de barras paralelas. Existem também os chamados códigos 2D, organizados como uma matriz de barras ou pontos. Dependendo da simbologia, a informação pode estar codificada somente nas barras ou nas barras e espaços. O tamanho das barras e espaços pode ser variável porém tipicamente são sempre múltiplos inteiros de um fator. Este fator, que afeta diretamente a distância de leitura, é chamado de módulo ou simplesmente de dimensão X.

Como veremos com mais detalhes em outro post, a leitura dos códigos é ótica, com as barras e espaços sendo distinguidos e seus tamanhos determinados pelo contraste entre eles. Existe uma grande variedade de leitores, com diferentes custos e desempenhos. Alguns leitores são pequenos o suficiente para serem embutidos em coletores portáteis com tamanho e peso semelhante ao dos PDAs.

Respeitadas algumas pequenas restrições, os códigos de barras podem ser impressos pelos meios normais de impressão. Isto é uma vantagem na identificação de artigos para o varejo, pois o código pode ser produzido junto com a embalagem, sem custo adicional. Os códigos podem também ser impressos a custos razoáveis em etiquetas, inclusive sob demanda (com conteúdo determinado no momento da impressão). Os códigos podem também ser gravados em etiquetas de outros materiais (como metálicas) para ter maior durabilidade e resistir a processos de congelamento, aquecimento ou limpeza.

Embora os códigos de barra sejam mais visíveis no varejo, eles estão atualmente em uso em toda a cadeia lojística (nas fábricas, nos depósitos, nos transportes, etc).

Um código linear pode armazenar algumas dezenas de caracteres (e os 2D até mais que 1KByte), mas tipicamente o conteúdo possui cerca de uma dúzia de caracteres. Isto, combinado ao fato de que a atualização do código de barras requer a sua substituição, faz com que tipicamente o código de barras contenha um código que é usado como chave para consulta das informações em uma base de dados. Tomando um exemplo do dia-a-dia, o leitor no caixa do supermercado lê um código que o PDV usa para obter a descrição e o preço do produto.

Normalmente, o conteúdo do código de barras pode ser lido por qualquer um e o código pode ser facilmente duplicado (por exemplo por fotocópia). O primeiro ponto não é necessáriamente crítico, pois o código de barras contém a chave, não os dados, porém a duplicação pode impedir alguns usos (como o controle de acesso). Ocasionalmente é colocada uma máscara vermelho escura sobre o código e a leitura é feita por infra-vermelho para criar um código 'mais seguro'.

A grande limitação dos códigos de barras é a necessidade de visada direta para a leitura.

Frase para Reflexão

"A mãe dos imbecis está sempre grávida"

Franco Buccella, físico da Universidade Frederico 2o de Nápolis, comentando o impedimento da entrada na Espanha de física brasileira que ia a congresso científico em Lisboa.

Fonte: Folha de São Paulo, de 20/fev/08.

quarta-feira, fevereiro 20, 2008

Habilidades Obsoletas

Via slashdot, cheguei a um post de blog a uma wiki sobre habilidades que se tornaram obsoletas nas últimas décadas, principalmente devido aos computadores. Seguem abaixo alguns comentários sobre a minha experiência pessoal:

Regua de Cálculo e Tábua de Logarítimos

Estes eu só olhei por curiosidade, já que as calculadoras eletrônicas se popularizaram quando eu estava no colégial. Guardo como lembrança um livro de logarítmos que inclui o PI com 10.000 casas, cortesia de um cérebro eletrônico.

Máquina de Escrever e Mimeógrafo

A máquina de escrever era um dos meus brinquedos no tempo do ginásio. Cheguei a ter aulas de datilografia na escola e treinar em casa; não deixa de ser útil atualmente. O companheiro da máquina de escrever era um hectógrafo caseiro.

Vitrola e a Fita Cassete

Realmente não dá saudade a luta constante com o pó acumulado no vinil e na agulha, nem a briga com as crianças quando elas desregulavam o contrapeso do braço da vitrola. Tenho ainda encostado em algum canto algumas dezenas de fita cassete com música e em outro canto uma dúzia de fitas com programas para o TK-82C. Naquele tempo a gente 'rippava' música do vinil ou do rádio, o que exigia habilidades específicas (e não permitia acertos posteriores).

Habilidades no Computador

Os cartões perfurados só fizeram parte da minha vida durante a faculdade. Desde o final dos anos 70 vivi os bons tempos de formatar, duplicar e recuperar dados dos disquetes.

Também já fazem 15 anos que parei de usar impressora matricial e todas as técnicas envolvidas (como colocar um micro e a impressora no banheiro na hora de imprimir os fontes como parte do processo de liberação de versão do Z e Zapt).

Desconfio que já deve fazer uma década que não dou uma otimizada em um Autoexec.bat ou Config.sys, muito menos analiso o uso da memória.

Desde o começo dos anos 90 que eu não programo em xBase (será que alguém ainda lembra do Joiner, um compilador xBase nacional?). A programação em assembler durou alguns anos mais.

Uma série de aplicativos se foram, como WordStar, Lotus 123 e o IBM Storyboard. Também já se foram o Videotexto e os BBSs.

No lado do hardware, além do disquete o modem está juntando pó. Acho que ninguém lembra dos scanners manuais (uma espécie de aspirador de pixels).

segunda-feira, fevereiro 11, 2008

Limpando os feeds

Resolvi dar uma limpada nos feeds que consulto diariamente (através do RssOwl), para deixar de acessar alguns feed que não apresentam atividade há muito tempo. Segue abaixo uma lista de alguns sites muito bacanas que não tem mais atualização mas continuam de pé:

quinta-feira, fevereiro 07, 2008

Dica Óbvia de Uso de Impressora

Esta dica provavelmente é óbvia para muitos. O que não impede de muita gente não conhecê-la.

No mês passado fui ao CREA, fazer o recadastramento. Como parte do ritual é impressa uma carteirinha provisória (a definitiva demora nada menos que quatro meses - e insistem para ligar antes de ir buscar pois pode atrasar). A impressão é feita em uma impressora laser, compartilhada pelas várias atendentes, usando um papel pré-impresso. Na hora de imprimir, a atendente colocava o papel e dava o berro "Carteira!", para as demais não mandarem nada para a impressora.

Esta situação não é incomum. No trabalho, ocasionalmente preciso imprimir uma etiqueta para CD em uma impressora compartilhada por todo mundo, inclusive por quem está no outro andar. Após muito tempo trabalhando na base da sorte, um belo dia me veio um "sinal divino", na forma da secretária que não conseguia imprimir na impressora. Examinando o painel, verifiquei que estava acusando falta de papel apesar do alimentador estar com várias folhas. Não sei bem de onde me veio a idéia de colocar folhas na entrada frontal da impressora, mas a impressão da secretária sai na hora (e várias vezes, já que tinha insistido quando deu erro).

O passo seguinte foi entender porque a impressora estava pegando as folhas do outro local. No manual descobri que a impressora, uma Canon PIXMA 2000, possui um botão no painel para selecionar a fonte de papel (como é prache neste mundo globalizado, ao invés de uma legenda que apenas os leitores de uma determinada lingua entendam tem um ícone que todos os leitores de todas as linguas não entendem).

Olhando na configuração da impressora, percebi que o default é a seleção do papel ser feita pelo Paper Feed Switch. Talvez seja útil para quem está do lado da impressora, mas para mim o mais útil são as outras opções. A partir deste dia, quando quero imprimir uma etiqueta eu confiro que a chave está na posição normal, coloco a etiqueta no alimentador frontal e muda a configuração no meu micro. Se mais alguem imprimir, vai pegar o papel normal no Auto Sheet Feeder. Como eu avisei no início, é uma solução óbvia.

Praticamente todas as impressoras tem mais de uma opção de fonte para papel, selecionada pela configuração no micro. Nas impressoras menores, a entrada opcional é para uma ou poucas folhas. Em impressoras mais sérias é comum ter várias bandejas com boa capacidade. Portanto, na hora de imprimir em um papel pré-impresso não é preciso berrar ou contar com a sorte.

quarta-feira, fevereiro 06, 2008

Fuvest 2008 - Primeira Chamada

Atualização de 21/fev/08: A sobrecarga que menciono abaixo durou apenas uma meia hora. Para quem estiver procurando a lista da primeira chamada (ou das demais) recomendo o site oficial. A lista da segunda chamada foi liberada hoje (21/02/2008).


Já que o site da Fuvest parece não estar aguentando a carga, coloquei a lista em http://www.wikifortio.com/719811/publ1.pdf.

Obs: em caso de problemas, acesse http://www.wikifortio.com e forneça o ID 719811.

segunda-feira, fevereiro 04, 2008

Hawaii Five-O: 1a Temporada

De cara quero esclarecer que eu não vi a primeira temporada quando passou, eu era criança nesta época! Para ser mais preciso, não me lembro de ter visto a série de forma sistemática em nenhum período da sua longa duração (nos EUA foi apresentado de 1968 a 1980). Entretando tinha algumas lembranças dos personagens e certamente não esqueci a música de abertura.

Para quem não sabe, Hawaii Five-O (no Brasil, Havaí 5.0) é uma série policial. Os heróis são a (fictícia) polícia estadual do Havaí (com um destaque especial ao chefe Steve McGarrett). Detlahes (em inglês) na sempre prestativa Wikipedia. A primeira temporada (e também a segunda) pode ser encontrada à venda nas "boas casas do ramo" por cerca de R$100,00. O box vem com 7 DVDs, em caixas individuais (muito melhor que as caixas múltiplas esquisitas do Battlestar Gallactica). No primeiro DVD tem o piloto e no último DVD tem um especial gravado em 1996.

A qualidade da imagem é muito boa, porém achei as cores um pouco desbotadas. O som é mono, além do original tem a dublagem em espanhol. As legendas estão disponíveis em inglês, espanhol e português.

O formato é um pouco diferente das séries atuais. A abertura com cortes e zooms rápidos e algumas imagens congeladas sinaliza uma camêra nervosa, às vezes com ângulos inesperados e um ritmo frenético. Por outro lado, em alguns momentos a ação para totalmente para enfatizar um ponto dramático ou o estado de espírito de um personagem. Os cortes para os anúncios são bem pronunciados. A trilha musical é quase que uma extensão dos efeitos sonoros, nada parecido com os videoclips comuns nas séries atuais. A primeira temporada é de 68 e isto aparece claramente, nas roupas e carros (só dá 'banheiras'). São constantes referências a hippies e à Guerra do Vietnam.

Uma curiosidade é a presença de Leslie Nielsen no piloto. Vinte anos depois ele estrelaria em "The Naked Gun" (vulgo 'Corra que a polícia vem aí'), cuja abertura é uma sátira dos créditos finais da primeira temporada do Havai 5.0.

Recomendado!