Resolvi fazer um upgrade no Ubuntu instalado no meu HD Externo. Afinal o mesmo está com o release 8.10 instalado, mais que desatualizado. Pretendo chegar à versão 10.04, mas a forma de fazer isso já é outro assunto.
Tentei em vão colocar o HD externo, reconhecido como /dev/sdb no OpenSuse 11.2, como um HD, CDROM e FLOPPY para boot. Não consegui diretamente, já que o VirtualBox procurar por um dispositivo com extensão VMDK ou VDI.
Consegui adicionar como dispositivo USB, mas não teve nenhum efeito no boot, que simplesmente falhava (justamente por não ter partição bootável reconhecida).
Googleando pela Internet, encontrei um comando que associa o dispositivo que está em /dev com um arquivo VMDK:
Estava no Fórum do VirtualBox, com uma pergunta relacionada a minha. Era uma dica para MacOSX, mas funcionou perfeitamente para Linux. E deve funcionar também para outros *nix, como FreeBSD e Solaris.
O resultando para mim foi:
{CODE} helio@musashi:Virtualization$ VBoxManage internalcommands createrawvmdk -filename $PWD/Ubuntu-external-disk-sdb.vmdk -rawdisk /dev/sdb -register Sun VirtualBox Command Line Management Interface Version 3.1.6 (C) 2005-2010 Sun Microsystems, Inc. All rights reserved. RAW host disk access VMDK file /usr/local/tmp/Virtualization/Ubuntu-external-disk-sdb.vmdk created successfully. {/CODE}
Após isso, consegui ver a tela de boot (menu do Grub), mas o mesmo parava durante o carregamento do splashscreen.
Resolvi esse problema removendo o suporte à aceleração 3D, depois de uma olhada nos logs. Agora estou rumo ao Ubuntu 10.04!
Uma rápida pesquisada e já achei uma ferramenta muito interessante de migração. Foi enviado para um fórum de Joomla e várias pessoas deram um feedback legal:
FREE Mambo to Joomla Automatic Web-based MIGRATION, UPDATE, UPGRADE Script
Vamos testar...
Novamente a idéia de trocar o Mambo por Joomla invade meus pensamentos. Não que o Mambo não seja um bom CMS e eu esteja "cuspindo no prato em que comi", mas o ritmo de atualizações e features tem sido muito maior no Joomla.
Inclusive a integração com Twiiter, fazendo o post em ambos ao mesmo tempo, é melhor suportado no Joomla. Olhei as estruturas de módulos no Joomla e no Mambo e achei que no Joomla é melhor, mais organizada.
Agora falta testar a migração. Não adianta achar que o Joomla é muito melhor, mas não conseguir ter o site do mesmo jeito, com as mesmas funcionalidades. Inclusive com os módulos extras instalados como o contador de acessos, entre outros.
Mas com certeza vale a tentativa, pois mesmo meus posts aqui diminuiram muito. Isso porque o Twitter tem sugado meus posts, não por culpa dele mas mais pelo motivo de estar utilizando um client legal, Chokoq, que permite postar facilmente a partir do desktop, coisa que realmente falta para o Mambo, que nem XML-RPC suporta.
Depois de muito esforço e várias escorregadas (colocando tudo fora do ar por aqui), consegui fazer uma integração entre o Mambo CMS e o módulo do Add This!, permitindo referenciar todas as entradas postadas aqui tanto no Twitter quanto no Facebook, Linkedin, etc.
Fiz baseado no programa AddThis Plugin for Joomla , totalmente GPL, e estarei publicando da mesma forma, assim como registrando no site do Mambo-Code (acho que era o antigo Mambo Forge), mas por enquanto vou ainda guardar na gaveta pois o código ainda está muito sujo e algumas partes não estão tão boas quanto deveriam, fazendo o botão do AddThis! aparecer em áreas indevidas.
Entre os bugs a corrigir estão os da página principal: qualquer das referências clicadas, não aponta pro post em sim, mas por site inteiro. É necessário clicar no título do post para somente assim enviar para uma das redes sociais.
Não é algo que mate, é chato, mas já é um começo...
Uma vez que mudei para OpenSuse, todo os projetos e uso de FreeBSD pararam completamente.
Eu tinha conseguido a autorização do dono do projeto finstall, uma interface gráfica de instalação para o FreeBSD baseado em Python e Glade, para participar, sendo incluido como commiter, mas nunca atualizei nada. Vergonha pura.
Tentando retomar os trabalhos, instalei o FreeBSD 8.0 num ambiente VirtualBox. Um dos primeiros problemas que notei de cara foi o Xorg. O ambiente inicia com 800x600 e não há meios de mudar isso (o ambiente hospedeiro tem tela de 1280x800). Problema que não encontrei no Windão dentro do VirtualBox.
Googleando por aí, encontrei a sugestão para alterar meu xorg.conf com os parâmetros:
Section "Monitor" #Add the following two lines: HorizSync 31-80 VertRefresh 30-100
e
#add your mode: SubSection "Display" Viewport 0 0 Depth 16 Modes "1280x800" EndSubSection
ambos não funcionaram.
Buscando mais um pouco no Google, segui uma lista do próprio VirtualBox, sobre o mesmo problema. A dica matadora foi utilizar:
VBoxManage setextradata your_machines_name CustomVideoMode1xx
No meu caso:
VBoxManage setextradata FreeBSD CustomVideoMode1 1280x800x16
Existem algumas dicas no FreeBSD Wiki, como o uso do driver "vboxvideo", mas para mim nada deu certo (só funcionou com o driver "vesa").
Outra coisa que levei um certo tempo pra me ligar e arrumar foi em relação ao teclado e mouse. Não havia meio de funcionar. Somente depois de umas 2 horas batendo cabeça lembrei que precisava da instalação do hald e dbus. Instalando o hald, o restante vem automagicamente como dependência.
Agora estou feliz com meu FreeBSD funcionando no VirtualBox, falando com a Internet e o Linux através de uma interface bridged. Espero conseguir fazer alguma coisa logo pro finstall.
Enfim a comissão européia aprovou a compra da Sun pela Oracle, criando uma gigante em hardware, sistemas e banco de dados. O futuro torna-se incerto para o MySQL, assim como OpenSolaris e OpenOffice.
Apesar de todo rumor sobre o que acontecerá com os projetos de software que eram patrocinados pela Sun, acredito que essa aquisição veio num bom momento. A Sun não andavam muito bem com suas finanças, perdendo cada vez mais mercado para servidores Intel ou HP. Seu hardware só estava sendo adquirido, junto com o Solaris, quando utilizado com o Oracle (o que faz a aquisição ter muito sentido). Fora isso, a empresa era um titã cambaleante, ofegante. Ou alguém tem a ilusão de que um servidor T5240, com 64 CPUs, 96 GB de RAM, seria comprado pra ser um servidor web?
Achei engraçada a imagem postada por James Gosling, um dos pais do Java.
é uma crítica direta, mas ele esquece que o CEO da Oracle, Larry Ellison, investiu em Linux antes da própria Sun, criando um versão própria chamada "unbreakable", anti-microsoft (aqui já é opinião minha), e fã de Java (talvez não tanto quanto a IBM). E se a coisa apertar para o lado do MySQL, isso não é nada que uma Google não possa "hostear" como projeto free software.
Eu acho que foi um final feliz. Vamos ver o que o futuro reserva.
Aproveitando a tranquilidade das férias, que juntei com as férias coletivas e mais uns dias que tinha no banco de horas (preferia em dinheiro) totalizando uns 35 dias, resolvi dar uma revisada nos meus sites, blogs, twitters, etc:
Como já esperava, o mais desatualizado é esse daqui mesmo :-)
Fui dar uma verificada nas estatísticas de acesso e encontrei algumas inconsistências no banco de dados (várias entradas para mesmo tipo de browser). Já tinha tentando arrumar isso com SQL uma outra vez, que não funcionou nada bem. Dessa vez resolvi partir para outra solução.
Utilizando o phpMyAdmin (administração do MySQL via web), fiz um backup da tabela "mos_stats_agents", e exportei a mesma no formato CSV.
Fiz um programa pra filtragem dos dados, em perl (disponível na outra parte desse post), deixando somente o valor do contador que fosse mais alto e... sucesso! Importei os dados novamente (fazendo antes um "DELETE FROM 'mos_stats_agents') e corrigi a tabela, que de 21140 entradas passou para 411. Tudo isso por falta de um "unique" num campo da tabela, que permite uns erros grotescos como esses que estavam acontencendo.
O programa permitiu visualizar umas estatísticas interessantes:
=== Report ===
Total accesses per browsers: 83316
Total accesses per operating system: 58728
Total accesses per countries: 104946
Ou seja, a quantidade de acessos deveria ser igual. Pelos dados, vejo que o contador do site se baseia no número de sistemas operacionais que acessaram a página.
Dando uma olhada interna no gerenciamento do mamboserver, pude ver que, além de ter corrigido as entradas repetidas, a relação de browsers realmente inverteu, mostrando Mozilla e Firefox acima dos Internet Explorer, como muitos sites já tinham noticiado anteriormente (Info Exame por exemplo).
Em sistemas operacionais, Windão continua sendo o número 1, seguido de alguma coisa desconhecida, que suponho ser bots do google e outros web crawlers, assim como web proxies. Linux continua com uns 5%.
Sei que os acessos ao meu site não são boa amostragem, uma vez que o público que acessa é bastante específico, mas é possível notar que realmente as coisas estão mudando.
Acho que esse é um tema bastante procurado. Eu demorei pra encontrar os parâmetros corretos e 5 mídias (a R$ 7,00 cada). Foi um custo alto, mas com um sabor agradável de vitória :-)
Primeiramente, para copiar um DVD de Xbox 360, é preciso utilizar uma mídia DL (Dual Layer), com capacidade de 8 GB. As melhores são da marca Verbatim, mas tenho algumas da Kodak (com cara de coisa vagabunda mesmo). Nem todos os gravadores de DVD suportam gravação de DL, mas é possível descobrir no ínicio da gravação, que já aborta a operação e não perde o DVD.
Se for cópia de DVD para DVD, faça uma imagem local com o bom e velho comando "dd":
dd if=/dev/dvdrw of=imagem.iso bs=4096
Sempre utilizo bs=4096pois os blocos dos discos de DVDs são maiores, de tamanho 4kb, o que faz com que a quantidade de I/O por bloco seja menor. Mas não afeta o resultado final, nem o tempo.
Finalmente, para gravar, o comando é:
growisofs -use-the-force-luke=dao -use-the-force-luke=break:1913760 -dvd-compat -speed=2 -Z /dev/dvdrw=imagem.iso
Veja que /dev/dvdrw é a sua unidade de DVD (em geral /dev/sr0).
Se não for cópia de DVD, mas gravação de imagem, substitua o imagem.iso pelo arquivo desejado.
Depois de tantos anos lutando contra as forças das trevas, finalmente eu mesmo me rendi. Não estou usando Windows, mas comprei um Xbox 360.
Isso mesmo: comprei. Não fui forçado, nem coagido, nem nada. Simplesmente resolvi adquirir um console mais recente pra jogar.
Encontrei algumas referências sobre como rodar Linux no mesmo, como em Free60.org, então achei que daria pra fazer algo mais com ele.
Infelizmente descobri que minha versão de hardware e software não permitiam isso. Então, só jogos mesmo. E porquê não um PS3? Pelo simples motivo que a cada 2 ou 3 jogos, vc compra outro console. No Xbox, existe a possibilidade de destravar e jogar jogos... humm... digamos *alternativos*.
Mas consegui encontrar vários scripts sobre o mesmo, em Linux, que pretendo publicar (por isso a seção xbox 360).
Aos desavisados, não se preocupem, pois já fui banido da Microsoft Live por causa do meu console *modificado*:
O arrastão que baniu os *moddeds* foi numa sexta-feira 13. Ao menos o pessoal da Microsoft tem um certo humor.
Já fiz upgrade pra recém lançada versão 11.2. Mas estou gostando do uso do Suse, com zypper. Inclusive consegui uma grande conquista:
7:02pm up 46 days 5:44, 12 users, load average: 0.58, 0.37, 0.16
46 dias sem desligar o sistema...
Aula de computação é assim: tem gente que nunca aprende. E felizmente tem sempre 1 que sabe mais que o professor :-)
Finalmente tive a oportunidade de pegar uma das placas 3G, com chip da Claro. Uma das vantagens da migração do FreeBSD pro Linux é justamente a facilidade no reconhecimento de novos hardwares. A placa foi identificada de imediato pelo meu OpenSuse 11:
usb usb7: configuration #1 chosen from 1 choice hub 7-0:1.0: USB hub found hub 7-0:1.0: 1 port detected
usb usb7: New USB device found, idVendor=1d6b, idProduct=0001
usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb7: Product: OHCI Host Controller
usb usb7: Manufacturer: Linux 2.6.25.20-0.4-default ohci_hcd
usb usb7: SerialNumber: 0000:03:00.1
usb 6-1: new full speed USB device using ohci_hcd and address 2
usb 6-1: configuration #2 chosen from 1 choice
usb 6-1: New USB device found, idVendor=0fce, idProduct=d0b2
usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 6-1: Product: Sony Ericsson PC300
usb 6-1: Manufacturer: Sony Ericsson
usb 6-1: SerialNumber: 3579310101884440
cdc_acm 6-1:2.1: ttyACM0: USB ACM device
cdc_acm 6-1:2.3: ttyACM1: USB ACM device
usbcore: registered new interface driver cdc_acm
drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters
usb0: register 'cdc_ether' at usb-0000:03:00.0-1, CDC Ethernet Device, 02:80:37:0a:03:00
usbcore: registered new interface driver cdc_ether
usb0: no IPv6 routers present
O driver cdc_acm foi carregado automaticamente.
Para fazer a discagem, instalei o aplicativo wvdial, velho companheiro dos tempos de modem discado, à 14400 bps. Utilizando o wvdialconf, a placa 3G é automagicamente identificada:
Editing `/etc/wvdial.conf'.
Scanning your serial ports for a modem.
Modem Port Scan<*1>: S0 S1
ttyS2<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS2<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS2<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Modem Port Scan<*1>: S3
ttyS4: No such device or address
Modem Port Scan<*1>: S4
ttyS5: No such device or address
Modem Port Scan<*1>: S5
ttyS6: No such device or address
Modem Port Scan<*1>: S6
ttyS7: No such device or address
Modem Port Scan<*1>: S7
WvModem<*1>: Cannot get information for serial port.
ttyACM0<*1>: ATQ0 V1 E1 -- OK
ttyACM0<*1>: ATQ0 V1 E1 Z -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1; -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1; &D2; -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0 -- OK
ttyACM0<*1>: Modem Identifier: ATI -- PC300
ttyACM0<*1>: Speed 4800: AT -- OK
ttyACM0<*1>: Speed 9600: AT -- OK
ttyACM0<*1>: Speed 19200: AT -- OK
ttyACM0<*1>: Speed 38400: AT -- OK
ttyACM0<*1>: Speed 57600: AT -- OK
ttyACM0<*1>: Speed 115200: AT -- OK
ttyACM0<*1>: Speed 230400: AT -- OK
ttyACM0<*1>: Speed 460800: AT -- OK
ttyACM0<*1>: Max speed is 460800; that should be safe.
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0 -- OK
WvModem<*1>: Cannot get information for serial port.
ttyACM1<*1>: ATQ0 V1 E1 -- OK
ttyACM1<*1>: ATQ0 V1 E1 Z -- OK
ttyACM1<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyACM1<*1>: ATQ0 V1 E1 S0=0 &C1; -- OK
ttyACM1<*1>: ATQ0 V1 E1 S0=0 &C1; &D2; -- OK
ttyACM1<*1>: ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0 -- OK
ttyACM1<*1>: Modem Identifier: ATI -- PC300
ttyACM1<*1>: Speed 4800: AT -- OK
ttyACM1<*1>: Speed 9600: AT -- OK
ttyACM1<*1>: Speed 19200: AT -- OK
ttyACM1<*1>: Speed 38400: AT -- OK
ttyACM1<*1>: Speed 57600: AT -- OK
ttyACM1<*1>: Speed 115200: AT -- OK
ttyACM1<*1>: Speed 230400: AT -- OK
ttyACM1<*1>: Speed 460800: AT -- OK
ttyACM1<*1>: Max speed is 460800; that should be safe.
ttyACM1<*1>: ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0 -- OK
Found an USB modem on /dev/ttyACM0.
Modem configuration written to /etc/wvdial.conf.
ttyACM0: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0"
ttyACM1: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0"
Esperava ver mais velocidade, mas 460k já é melhor que nada. Infelizmente a configuração padrão não funcionou de jeito nenhum. Vasculhando google afora, encontrei o link de configuração para outro tipo de modem, o E-226:
Adaptei a mesma para o PC300, como mostra meu /etc/wvdial.conf abaixo:
[Dialer Defaults]
Carrier Check = off
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0
Password = claro
Ask Password = 0
Check Def Route = 1
Phone = *99***1#
Idle Seconds = 0
Modem Type = Analog Modem
Stupid Mode = 1
Compuserve = 0
Baud = 460800
Auto DNS = off
Dial Command = ATDT
Modem = /dev/ttyACM0
ISDN = 0
Username = claro
[Dialer claro3g]
Stupid Mode = on
Password = claro
Auto Reconnect = off
Username = claro
Phone = *99***1#
Também precisei editar o arquivo /etc/ppp/peers/wvdial para desabilitar as opções de compressão:
plugin passwordfd.so
noauth
name wvdial
debug
kdebug 9
record /tmp/pppd.dump
noccp
novj
novjccomp
Com isso consegui a conexão via 3G, bastando digitar wvdial.
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0
ATQ0 V1 E1 S0=0 &C1; &D2; +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
~[7f]}#@!}!}!} }9}#}%B#}%}(}"}'}"}"}&} } } } }%}&n;>}/qzY~
CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Fri Jul 31 21:34:15 2009
--> Pid of pppd: 14211
--> Using interface ppp0
--> Authentication (CHAP) started
--> Authentication (CHAP) successful
--> local IP address 189.94.168.217
--> remote IP address 10.64.64.64
--> Script /etc/ppp/ip-up run successful
--> Default route Ok.
--> Nameserver (DNS) Ok.
--> Connected... Press Ctrl-C to disconnect
Não é muito rápido, mas ajuda muito em locais sem opção de Internet, como quando estou dentro do site de clientes.
Identidade mantida em sigilo...
(15:29:18) JR: helião....tá por ai?
(15:57:28) helio: to
(15:57:29) helio: diga
(15:58:36) JR: então cara...continua a mesma merda...não consigo escrever no disco ntfs...
(16:02:44) JR: não sei mais o que fazer...
(16:05:43) helio: vc olhou a manpage?
(16:06:00) JR: manpage?
(16:06:37) helio: RTFM
(16:06:46) JR: o que é isso?
(16:07:06) helio: man ntfs-3g
(16:07:19) JR: ah tah
(16:07:20) JR: hehe
Page 26 of 33