domingo, setembro 23, 2007

O primeiro computador que tive contato

Seção nostalgia: decidi lembrar quando e qual foi o primeiro computador que tive contato.

Em 1989 abriu a primeira escola de informática na minha cidade, e me inscrevi na primeira turma. Resolvi fazer o curso de um ano, que era introdução ao DOS-CPM, Visicalc (planilha de cálculo), wordstar (editor de texto) e dbase (banco de dados).

Os computadores usados na escola eram clones do Apple II fabricados no Brasil, quase no fim da reserva de mercado de informática. Essa reserva deixava o Brasil na época muito defasado em tecnologia, pois além de caros, os equipamentos deveriam ser produzidos aqui. Na época, apenas com 13 anos, eu já havia decidido que iria trabalhar com informática. Talvez porque fui seduzido pelos jogos karateka ou Grand Prix que eu rodava nesses computadores :-)

Mais especificamente, o computador era o TK-3000 da Microdigital. Seguem fotos dele:





Como manter os softwares atualizados

Isso se você for um (infeliz) usuário de windows:

http://www.filehippo.com/updatechecker

sexta-feira, setembro 21, 2007

Ajude a divulgar a lista brasileira de equipamentos e serviços compatíveis com Linux

Ajude a divulgar a lista brasileira de equipamentos e serviços compatíveis com Linux
...e concorra a MP4 e MP3 players, mochilas Targus, períodos de VoIP grátis e até a ventiladores USB - além de contribuir automaticamente para doações para a Wikipedia e o Wordpress! O BR-Linux coletou mais de 12.000 registros de compatibilidade de equipamentos e serviços (webcams, scanners, notebooks, ...) na sua Pesquisa Nacional de Compatibilidade 2007, e agora convida a comunidade a ajudar a divulgar o resultado. Veja as regras da promoção no BR-Linux e ajude a divulgar - quanto mais divulgação, maior será a doação do BR-Linux à Wikipedia e ao Wordpress.

Contato: jczucco em gmail ponto com

segunda-feira, setembro 03, 2007

Dividindo arquivos tar em múltiplos volumes

Dica originalmente retirada daqui

Muitas vezes queremos dividir os arquivos gerados pelo tar para caber em um dvd ou um cd, por exemplo. Para mídias como fita dat ou disquetes, a opção "-M" resolve, mas e quando quisermos fazer isso em sistema de arquivos para posteriormente gravar em mídias ?

Um exemplo: um arquivo de 1Gb e queremos separar em dois arquivos para caber em 2 cds de 700 Mb, usamos o seguinte comando:

tar -c -M --tape-length=700000 --file=cd1.tar arquivao.tar.gz

Onde a opção "--tape-length" é multiplicada por 1024 bytes (por arredondamento: 700000 x 1024 = +- 700Mb)

Quando o primeiro arquivo chegar a 700mb, o tar dará o seguinte prompt:

Prepare volume #2 for cd1.tar and hit return:

Para começar a escrever no segundo arquivo, digite:

n cd2.tar

Caso você saiba previamente quantos volumes o arquivo irá gerar, o seguinte comando não precisará de interação:

tar -c --tape-length=700000 -f cd1.tar -f cd2.tar arquivao.tar.gz

A opção "--tape-length" também pode ser substituída por "-L"

Para restaurar o arquivo:

tar -x -M --file=cd1.tar --file=cd2.tar arquivao.tgz

sexta-feira, agosto 31, 2007

Limpando openldap log archives

Para limpar o log archives do openldap/berkeleyDB, é usado o utilitário db_archive:

http://pybsddb.sourceforge.net/utility/db_archive.html

Em um shell simples:

for arq in $(db_archive -h /var/lib/ldap -a); do rm -f $arq; done

sexta-feira, julho 20, 2007

Realizando backup da MBR e tabela de partições

# dd if=/dev/hda of=backup-hda.mbr count=1 bs=512

# sfdisk -d /dev/hda > backup-hda.sf


- Para recuperar:

- Iniciar com o System Rescue CD ( http://www.sysresccd.org )

# dd if=backup-hda.mbr of=/dev/hda

# sfdisk /dev/hda < backup-hda.sf

terça-feira, julho 03, 2007

Leitura atual: Inevitável Mundo Novo - Alexandre Freire


Saiba como, quando e por quem você está sendo cotidianamente observado.
Ao sair de casa, você está exposto às mais variadas câmeras que, sob os mais variados pretextos, vai documentando cada passo da sua vida.

Ao fazer suas compras, seu comportamento de consumidor está sendo registrado, expondo informações que você nem sequer imagina. Ao usar a Internet, sua navegação está sendo integralmente documentada e arquivada.

A alegação é sempre a mesma: tudo é feito no sentido de ou de protegê-lo ou de melhor servi-lo. Entretanto, ninguém o consultou sobre essas medidas e várias delas partem até mesmo da iniciativa privada, que não dispõe de poder de policia sobre nenhum cidadão.

Num país em que a representação política tem a fragilidade que todos conhecemos, a manipulação das informações acumuladas pode transformá-lo de protegido a perseguido, num piscar de olhos.

Alexandre Freire escreveu um livro que incomoda. Todavia o que mais incomoda é não lê-lo.

http://www.alexfreire.com.br/interno.php?Conteudo=livro

segunda-feira, junho 25, 2007

Greylist seletivo consultando blacklists

Para quem como eu não gosta de usar blacklists externos, essa
iniciativa é interessante:

http://code.google.com/p/gross


Gross is a greylisting server. The features that make gross stand out
from other greylisters are:

* it's blazingly fast
* it's amazingly resource efficient
* it can be configured to query DNSBL databases, and enforce
greylisting only for hosts that are found on those databases
* it can be replicated and run parallel on two servers
* It supports Sun Java System Messaging Server and Postfix

quinta-feira, maio 31, 2007

Normalizando com mp3gain

Nada pior que escutar a sua coleção de músicas mp3, algumas com volume alto, outro nem tanto. A solução para esse problema é o uso de normalização de volume.

Vários plugins de players como o amarok, xmms, etc possuem plugins para realizar essa normalização, mas o problema é quando você grava os mp3 em um cd para escutar no carro, por exemplo. Para resolver isso, a normalização deve ser feita direta no mp3.

Usando o mp3gain, é fácil fazer isso. Instale o mp3gain (apt-get install mp3gain), vá até o diretório dos arquivos mp3 e execute:

find . -print -exec mp3gain -r {} \;

segunda-feira, maio 28, 2007

Python Password Generator

#!/usr/bin/python
from random import choice
print'Password Generator 0.1'
lenp=input('Senha de quantos caracteres ?\n')
letters='a b c d e f g h i j k l m n o p q r s t u v x z '
uletters=letters.upper()
ascii='@ ! # $ % "& * ( ) _ + } { ` ^ ? ; : > / - + . , '
numbers='0 1 2 3 4 5 6 7 8 9'
lista=letters+uletters+ascii+numbers
lista=lista.split()
passwd=[]
while len(passwd) <= lenp:
choose=choice(lista)
passwd.append(choose)
print 'A senha gerada é:'
passwd=''.join(passwd)
print passwd

sexta-feira, maio 25, 2007

Openldap Overlays

Overlays são softwares que provêem "hooks" para diversos tipos de controles no openldap. Um exemplo prático é o overlay "auditlog", que grava no formato ldif em um arquivo texto todas as mudanças em uma base ldap. Seu uso é simples:

slapd.conf:

# auditoria
overlay auditlog
auditlog /var/log/ldapchanges.log


Outro overlay muito útil é o "valsort". Ele devolve os resultados da pesquisa pré-ordenados:

overlay valsort
valsort-attr member ou=groups,dc=example,dc=com alpha-ascend


Existem diversos outros overlays para outros fins, eles podem ser vistos em:

Overlays

segunda-feira, maio 07, 2007

Problemas atualizando Kubuntu edgy para o feisty

Atualizei meu kubuntu da versão edgy para a feisty usando o comando "do-release-upgrade". A atualização ocorreu sem problemas, sem eu parar de usar a máquina enquanto ela estava sendo feita. Porém tive alguns problemas, simples de resolver mas que requeriram intervenção manual:

- o cdrom parou de funcionar;
para resolver isso, basta mudar no /etc/fstab a entrada do cdrom/dvd para /dev/scd0

- vmware-player
para adicionar o vmware-player, adicionar o seguinte repositório em /etc/apt/sources.list:
deb http://archive.canonical.com/ubuntu feisty-commercial main

- usb disks
meu i-pobre antes era reconhecido em /dev/usbdisk, agora mudou para /media/disk. Apenas atualizei no amarok para gerenciar esse dispositivo.

- ssh lento
as conexões ssh demoravam para pedir a senha. Para resolver isso, editar o arquivo /etc/ssh/ssh_config e comentar as seguintes opções:
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
Fonte: Fix for SSH slow to ask for password in Ubuntu Feisty Fawn

sexta-feira, abril 20, 2007

Mailgraph com SPF+greylisting, etc.

Realizei algumas alterações no mailgraph para ele mostrar em seus gráficos: SPF, greylisting, helo rejects e domain not found.

Caso se interesse, pode pegá-lo em:

http://rapidshare.com/files/27005031/mailgraph-1.12-MODIFICADO.tar.gz.html

Abaixo uma imagem dele trabalhando:

segunda-feira, abril 16, 2007

Theo de Raadt


Foto com Theo de Raadt, criador do OpenBSD.

Ao contrário do que eu havia escutado por aí, o cara é gente fina.

sábado, abril 14, 2007

Slides da Palestra no FISL8

Você pode pegar os slides da minha apresentação no FISL 8 sobre técnicas e ferramentas de código aberto para combate ao spam no link abaixo:

http://rapidshare.com/files/26029499/slides.pdf.html

Se você tiver alguma sugestão/crítica sobre os slides, ou para inclusão no documento de "best pratices" para administradores de e-mail, por favor deixe registrado nos comentários.

Aproveito e agradeço a todos pelo comparecimento na palestra, foi uma honra muito grande ter palestrado no Forum Internacional de Software Livre de 2007.

segunda-feira, março 12, 2007

MySQL purge master logs

From the manual:

Deletes all the binary logs listed in the log index prior to the specified log or date. The logs also are removed from the list recorded in the log index file, so that the given log becomes the first.

Example:

PURGE MASTER LOGS TO 'mysql-bin.010';
PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';

The BEFORE variant's date argument can be in 'YYYY-MM-DD hh:mm:ss' format. MASTER and BINARY are synonyms.

This statement is safe to run while slaves are replicating. You do not need to stop them. If you have an active slave that currently is reading one of the logs you are trying to delete, this statement does nothing and fails with an error. However, if a slave is dormant and you happen to purge one of the logs it has yet to read, the slave will be unable to replicate after it comes up.

To safely purge logs, follow this procedure:

  1. On each slave server, use SHOW SLAVE STATUS to check which log it is reading.

  2. Obtain a listing of the binary logs on the master server with SHOW BINARY LOGS.

  3. Determine the earliest log among all the slaves. This is the target log. If all the slaves are up to date, this is the last log on the list.

  4. Make a backup of all the logs you are about to delete. (This step is optional, but always advisable.)

  5. Purge all logs up to but not including the target log.

You can also set the expire_logs_days system variable to expire binary log files automatically after a given number of days (see Section 5.2.3, “System Variables”). If you are using replication, you should set the variable no lower than the maximum number of days your slaves might lag behind the master.


source:
http://dev.mysql.com/doc/refman/5.0/en/purge-master-logs.html

domingo, março 11, 2007

sexta-feira, março 09, 2007

Con Kolivas kernel patches

These are patches designed to improve system responsiveness with specific emphasis on the desktop, but suitable to any workload.

http://members.optusnet.com.au/ckolivas/kernel

quinta-feira, março 01, 2007

Useful one-line scripts for sed

http://sed.sourceforge.net/sed1line.txt

quinta-feira, fevereiro 01, 2007

Winamp presets in xmms

Old tip, just for remember:

wget http://www.xmms.org/misc/winamp_presets.gz && gunzip -c winamp_presets.gz > ~/.xmms/eq.preset