Escrito por Helio Loureiro
Categoria:
Uma forma de identificar se as pessoas a sua volta estão fazendo "porra nenhuma" é através da quantidade de links do Youtube que se recebe. Felizmente alguns deles são realmente interessantes, como esse que mostra um PSP sendo carregado com uma banana. Isso reforça o jargão "banana é energia". Vou tentar fazer isso e também armazenar alguns jogos na banana. Quem sabe não descubro uma nova aplicação?
Escrito por Helio Loureiro
Categoria:
Vídeo antigo. Achei no meu trash-hd-externo, mas como era muito grande, não fiz upload pra lugar nenhum. Em compensação, encontrei o mesmo já publicado (e em partes):

Escrito por Helio Loureiro
Categoria:

 Esse é realmente um fim de semana produtivo para mim. Acho que desde que criei o meu domínio (e conseqüentemente a página web), nunca postei tanta coisa como agora. Não, não estou desempregado (ao menos não ainda).

Como algumas da pessoas mais próximas de mim já sabe, sou um feliz proprietário de um console da Nitendo: o Wii. Já fiz críticas anteriores ao mesmo devido à baixa qualidade dos gráficos, poucos jogos, etc, mas acabei comprando o mesmo por uma oportunidade que surgiu (o que inclui até um Guitar Hero 3 completo). E não estou arrependido. Os gráficos são realmente mais pobres que seus primos ricos, PS3 e X-Box 360, assim como a falta de títulos também é gritante. Mesmo assim foi uma feliz surpresa adquirir o brinquedo, que não me exigiu mais um gasto adicional: uma TV LCD (PS3 que o diga).

A primeira boa surpresa foi o gasto para "destravar" o mesmo: R$ 180,00. Quase o mesmo custo de um jogo (por volta de USD 50,00). Essa economia foi vital pois dos mais de 50 jogos que peguei com os amigos, a grande maioria não passa de porcaria. Inclusive jogos recém-lançados como "The Mummy - The Dragon Emperor". Mas alguns jogos são muito mais divertidos de jogar, como Resident Evil, Scarface e Godfather. O fato da mira ser feita através do controle todo torna a jogabilidade muito melhor se comparado ao controle do PS2 que tenho. Jogos como Medal of Honor on-line então... verdadeira guerra (sem bem que a molecada a partir de 8 anos me mata tão rápido que mal consigo mirar).

Uma coisa que falta ao Wii é o suporte à DVDs e DIVX (filmes no format AVI). Devido a um problema de custos, o suporte a DVD de filmes não foi inserido no produto. Não que isso seja realmente um problema já que adquiri uma plataforma de jogo, não um produto para assistir filmes, mas não seria nada mal se isso fosse incluido.

Buscando na rede alguma alternativa para isso, encontrei soluções bem interessantes. A primeira foi o FreeVO , uma solução baseada em Linux (atualmente um live cd) para transformar seu PC em uma estação multimídia. A idéia é criar uma plataforma em termos de interface com o usuário, mas que rode em qualquer tipo de hardware suportado por Linux: de Xbox a PS2 e... Wii!!!

 

A segunda solução é Projeto WiiLi , que nada mais do que o desenvolvimento do Linux para Wii.

Ambos são projetos interessantes, mas nenhum está funcionando efetivamente no Wii infelizmente. Enfim... esperança é a última que morre e mais dia, menos dia, isso irá acontecer. E quando acontecer, eu estarei lá...

Escrito por Helio Loureiro
Categoria:

 Somente um "quote" enviado à lista do FreeBSD. Release 7.1 chegando logo.

Ken Smith kensmith at cse.Buffalo.EDU 
Sat Sep 13 18:39:47 UTC 2008 
The FreeBSD 7.1-BETA and 6.4-BETA builds are now available on the FreeBSD FTP mirror sites. This is the first step in 
the release process for FreeBSD-7.1 and FreeBSD-6.4. This set of builds do not include pre-built packages. The ISOs
are available from: ftp://ftp.freebsd.org/pub/FreeBSD/releases/${arch}/ISO-IMAGES/7.1/ ftp://ftp.freebsd.org/pub/FreeBSD/releases/${arch}/ISO-IMAGES/6.4/ where $arch is one of alpha, amd64, i386, ia64, pc98, powerpc, or sparc64. For the Tier-2 architectures ia64 and
powerpc only the 7.1-BETA builds are available. For the Tier-2 architecture alpha only the 6.4-BETA builds are
available. We encourage people to help out with the testing. Problems can be reported through Gnats or on the
freebsd-stable at freebsd.org mailing list. At this point we expect the 6.4-RC1 builds to start in about two weeks, and
the 7.1-RC1 builds a week after that.
Escrito por Helio Loureiro
Categoria:
Publiquei no Google um vídeo que eu tinha aqui perdido no limbo do meu HD externo. Já é meio antigo (acho que por volta de 2004), mas o discurso do Stallman é sempre atual.
Escrito por Helio Loureiro
Categoria:

Do meu último "make buildworld":

Copyright (c) 1992-2008 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 
1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.1-PRERELEASE #16: Thu Aug 28 15:27:15 BRT 2008
Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.:/usr/obj/usr/src/sys/MUSASHI
module_register: module vgapci/i915 already exists!
Module vgapci/i915 failed to register: 17
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz (1662.51-MHz 686-class CPU)

Já estamos no 7.1-PRERELEASE (ao menos eu estou). Previsão do release final para 13 de Outubro, como pode ser visto aqui na lista oficial do freebsd.

Escrito por Helio Loureiro
Categoria:

Existem diferentes formas de lembrar um amigo querido de devolver um DVD emprestado. Nada melhor que utilizar um pouco de Post-It para isso...

 
Escrito por Helio Loureiro
Categoria:

Faz tempo que não me deparo com esse tipo de problema, mas acabei vendo novamente depois que um colega de trabalho pediu ajuda nisso.

A primeira vez que trabalhei com conversão de caracteres foi em português mesmo, de ISO-8859-1 para UTF-8. Não guardei lembranças boas. Dessa vez o desafio era para converter supostos caracteres no mesmo formato para UTF-8, mas não da nossa língua pátria.

Para quem nunca viu isso, o código em Perl que faz a conversão está no pacote Encode , disponível no CPAN, da seguinte forma:

use Encode; 
...
...
foreach $line () {
next if ($line =~ m/^$/);
chomp($line);
$i = Encode::decode("iso-8859-1", $line);
$line = Encode::encode("utf8", $i);
print $line."\n";
}
...

Dessa vez tive um problema com a palavra "ΑστέριαΑστέρια". Juro que não sei o que significa, mas a droga da palavra, escrita em grego (CP1253) estava junto ao restante do texto codificado em ISO-8859-1.

Apanhei pra achar o formato certo... ainda falta fazer um conversor inteligente o suficiente para usar o formato certo antes de processar, mas já é alguma coisa...

Escrito por Helio Loureiro
Categoria:

 Publicado recentemente, um site interessante que conta a história da Ericsson e, por sua vez, parte da história das telecomunicações. Em inglês.

History of Ericsson

BTW fico pensando como os chineses escreverão sobre a histórias das telecomunicações no futuro. Deve ser algo: enquanto muitos gastavam criando, nós só otimizamos simplesmente copiando... ou talvez peguem a história de alguém e só falsifiquem os nomes. Se nem a cantora das olimpíadas conseguiu fugir da pirataria, quiçá o restante...

Escrito por Helio Loureiro
Categoria:

Cansado de ver as mensagens surgindo o tempo todo:

acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C) 
acpi_tz0: _CRT value is absurd, ignored (256.0C)

Fiz uma alteração nessa parte do ACPI e removi a mensagem. Acho que não vai fazer muita falta mesmo...
--- /usr/src/sys/dev/acpica/acpi_thermal.c-original 2008-06-08 17:38:40.000000000 -0300 
+++ /usr/src/sys/dev/acpica/acpi_thermal.c 2008-06-08 17:39:27.000000000 -0300
@@ -677,8 +677,10 @@
acpi_tz_sanity(struct acpi_tz_softc *sc, int *val, char *what) {
if (*val != -1 && (*val < TZ_ZEROC || *val > TZ_ZEROC + 2000)) {
+ /* device_printf(sc->tz_dev,
"%s value is absurd, ignored (%d.%dC)\n",
what, TZ_KELVTOC(*val));
+ */ *val = -1;
}
}
 
Escrito por Helio Loureiro
Categoria:
{mosimage} Finalmente resolvi bater um pouco a cabeça e tentar habilitar a função de journaling em FreeBSD (um pouco movido pela inveja de ver isso funcionado em Linux, um pouco porque essa foi uma das "top" features do FreeBSD-7.0). O grande desafio foi fazer isso em um sistema já ativo. Já havia deixada uma partição livre, /dev/ad4s1h, com 360 MB livres, mas descobri que precisava de uma relação de partição/partição para ter o journaling ativado.

Meu disco usava a seguinte separação de slices:

{mosimage}

  • ad4s1a em / (UFS2)
  • ad4s1b como swap
  • ad4s1c reservado para o disco todo (default)
  • ad4s1d em /tmp (UFS2 e soft-updates)
  • ad4s1e em /var (UFS2 e soft-updates)
  • ad4s1f em /home (UFS2 e soft-updates)
  • ad4s1g em /usr (UFS2 e soft-updates)
  • ad4s1h disponível com 360MB

Descobri que o sistema de label de slices do BSD ainda mantém a limitação de 8 slices por partição, o que restringe somente ao uso das letras a-h. Com isso esgotado, as alternativas de criar ad4s1i, ad4s1j e assim por diante, impossível.

Buscando na rede, descobri que a forma de fazer isso seria atribuindo o tamanho total de disco a ser alterado para ad4s1h e depois aplicando o disklabel sobre o mesmo, na forma "disklabel -e ad4s1h", onde novamente a letras de a-h estão disponíveis. Com isso, criei os labels ad4s1ha, ad4s1hb, ad4s1hc, ad4s1hd, ad4s1he, ad4s1hf e ad4s1hg, para cada um corresponder ao seu journal, com 50MB.

O passo seguinte foi criar e ativar o journal. Seguindo a man page, gjournal (8), segui os passos como abaixo (após o boot em single mode):
{CODE} gjournal load gjournal label -f ad4s1d ad4s1hd gjournal label -f ad4s1e ad4s1he gjournal label -f ad4s1f ad4s1hf gjournal label -f ad4s1g ad4s1hg tunefs -J enable -n disable ad4s1d.journal tunefs -J enable -n disable ad4s1e.journal tunefs -J enable -n disable ad4s1f.journal tunefs -J enable -n disable ad4s1g.journal {/CODE}
Fiz as alterações correspondentes no /etc/fstab:
{CODE} /dev/ad4s1b none swap sw 0 0 /dev/ad4s1a / ufs rw 1 1 /dev/ad4s1f.journal /home ufs async,rw 2 2 /dev/ad4s1d.journal /tmp ufs async,rw 2 2 /dev/ad4s1g.journal /usr ufs async,rw 2 2 /dev/ad4s1e.journal /var ufs async,rw 2 2 linprocfs /compat/linux/proc linprocfs rw 0 0 proc /proc procfs rw 0 0 {/CODE}
O primeiros boot falharam devido ao fato de que "gjournal load" não existe em nenhum ponto do rc.conf. Fiz uma alteração em "/etc/rc.d/fsck" para que isso funcionasse (linhas 30-32):
{mosimage} {CODE} 28 fsck_start() 29 { 30 # patch to force gjournal load 31 echo -n 'Load gjournal (as patch): ' 32 /sbin/gjournal load 33 34 if [ "$autoboot" = no ]; then 35 echo "Fast boot: skipping disk checks." {/CODE}

Ainda não descobri como ativar a partição raiz, "/", com journaling também, mas só o fato de ter feito isso com a demais já fez muita diferença: o sistema ficou muito mais rápido.

Escrito por Helio Loureiro
Categoria:

 Brincando com meu antigo companheiro de consultorias, o iBook xuxu, comecei a quebrar a cabeça para fazer rodar um programa, um script, direto via interface gráfica, simplesmente com um clique. Acabei encontrando a linguagem, mais que natural, do Applescript. A linguagem é tão fácil que algumas coisas óbvias ficam difíceis.

Para criar shell scripts (ou inicialização de algum aplicativo java, como era meu caso), basta o código:

 do shell script "/patch/script.sh" 

Encontrei na net outro trecho de código simplesmente hilário...

 say "Dum dum dum dum dum dum dum he he he ho ho ho fa lah lah lah lah lah lah fa lah full hoo hoo hoo" using "Cellos" 

Para quem quiser descobrir mais, aqui segue o manual:

Applescript Reference Manual