PyConBrasil III

•Maio 17, 2007 • 1 Comentário

Esta’ chegando!!!

Script para bilro do FD.

•Abril 4, 2007 • 1 Comentário

Esse post é uma resposta para a pergunta do bilro, um user do FD (leia FórumDebian).

A questão:

Sou novo por aqui e nesta programação e caso cometa alguma falha peço desculpa!!
A minha duvida é a seguinte: eu queria apartir de um shell script ir ler dados a um outro ficheiro em que os dados se encontram divididos por ‘:’
exemplo:
casa:123:12:14
carro:123:1223:132
etc….

eu gostaria de criar um vector ( ex: coisa[i] ) em que cada indice fosse cada dado da 1º coluna , outro vector para a 2º coluna ( serie[i] ) , etc…
neste caso, coisa[1]= casa ; coisa[2]= carro ; serie[1]= 123….
Caso alguem me podesse dar uma dica agradeço!!

Se quiserem verem o resto do post clique aqui. Lá tu veras o que teve entre a “pergunta” e “resposta” .

Bem… Vamos lá.

Primeiro vou falar o que eu fiz. Temos dois arquivos.

script.sh – Nosso script.
txt — Nossa lista de argumentos.

O nosso arquivo txt contem:

:haus:123:casa:
:bier:456:cerveja:
:welt:789:mundo:
:ein:1:um:

E o nosso script tem isso:

#!/bin/sh

function getInfo() {

cat -n txt | egrep “^ *$1″ | cut -f$2 -d”:”

}

function getLines() {

echo “$(cat -n txt | tail -n1 | cut -f1 -d”:” | cut -f6 -d” “) + 1″ | bc

}

function main() {

NLINES=$(getLines)
X=1

while [ $X != $NLINES ]; do

INFO=$(getInfo $X $1)
echo $INFO
X=$(echo “$X + 1″ | bc)

done

}

main $1

Pronto vou falar de cada fun¢ão seguindo a lista da fun¢ão main.

A getLines retorna quantas linhas o arquivo tem. O comando cat -n txt pega o conteudo do arquivo e gera o número da linha na frente de cada linha de dados, com o | (pipe) jogamos o resultado dele para o tail. O tail -n1 mostra a ultima linha do arquivo e passando para o cut -f1 -d”:” . Cut é o que o nome diz, ele recorta o resultado que queremos na linha. Nesse caso ele vai pegar tudo que estiver atras do primeiro : que ele achar. No caso o nosso número gerado pelo cat -n txt. Depois ainda recortamos as 6 casa em branco geradas pelo cat -n txt retornando apenas o número da ultima linha.

Essa fun¢ão não irá funcionar com um arquivo maior ou igual a 10 linhas. Estou fazendo esse script para mostrar como fazer o trabalho e não a solu¢ão completa.

Ok. Pegamos o número de linhas do arquivo txt e jogamos o valor na variável NLINES. Geramos um “counter” chamado X já com valor 1. Depois fazemos um while simples, ele irá fazer aquela lista de comandos até quando aquela afirma¢ão ($X != $NLINES) for verdade. Chegamos na getInfo.

A getInfo nos mostra qual argumento da linha que apontamos. Comando cat -n txt já falei sobre. O egrep “^ *$1″ é um comando para mostrar as linhas que come¢ão (^) com um ou mais espa¢os em branco e que venha com o valor que eu escolher e fornecer primeiro para a fun¢ão ($1), no nosso caso o número da linha que queremos apontar. Com isso o cut -f$2 -d”:” pega o argumento que estiver atras do valor que nossa variável ($2) fornecerá.

Rodando o script (sh script.sh 2) irá aparecer isso na tela:

haus
bier
welt
ein

Bem dei a dica e meio que apontei o caminho. E lembre-se, esse script não roda perfeito. Ele só aceita 9 linhas no arquivo txt. É apenas uma dica de como fazer o seu programa lá.

Your programmer personality type is: DLSC

•Março 7, 2007 • Deixe um comentário

Your programmer personality type is:

DLSC

You’re a Doer.
You are very quick at getting tasks done. You believe the outcome is the most important part of a task and the faster you can reach that outcome the better. After all, time is money.

You like coding at a Low level.
You’re from the old school of programming and believe that you should have an intimate relationship with the computer. You don’t mind juggling registers around and spending hours getting a 5% performance increase in an algorithm.

You work best in a Solo situation.
The best way to program is by yourself. There’s no communication problems, you know every part of the code allowing you to write the best programs possible.

You are a Conservative programmer.
The less code you write, the less chance there is of it containing a bug. You write short and to the point code that gets the job done efficiently.

http://www.doolwind.com/index.php?page=11

Log Itelefonica

•Fevereiro 1, 2007 • 5 Comentários

Redpill = Leandro.

iTelefônica. Em que posso ajudar ?
Thiago Sanches: Boa tarde Senhor Leandro .

Leandro: Boa tarde, o Dns informado anteirmente não funciona.
Leandro: Ao me conectar ele fecha a conexão automaticamente

Thiago Sanches: Aguarde um momento por gentileza.

Leandro: Ok.

Thiago Sanches: Por gentileza senhor, qual a versão de seu windows ?

Leandro: Só um momento.
Leandro: Microsoft Windows XP Professional Versão 2002 Service Pack 2

Thiago Sanches: Tudo bem .

Leandro: Mas eu também uso Ubuntu 6.10 edgy e Debian 3.1 Sarge e slackware11
Leandro: Só passa as configs do windows que o resto eu me viro ^^

Thiago Sanches: Aguarde um momento por gentileza.

Leandro: Ok.

Thiago Sanches: *** CONFIG. DE DNS NO WIN XP ***
Clique no botão Iniciar e depois em Painel de Controle. Clique em
conexões de Rede e de Internet e em seguida em Conexões de Rede.
Quais as conexões que aparecem ?
Clique com o botão direito do mouse sobre a conexão do iTelefonica e
selecione “Propriedades”
Thiago Sanches: Clique na guia “Rede” na parte superior.
Selecione a opção TCP/IP e clique em Propriedades.
Na parte de baixo, selecione a opção “Usar os seguintes endereços de
DNS”, pois vou passar os números.
Os números devem ser digitados exatamente com está, sendo que cada
campo é separado por um ponto.
DNS Primário 200.176.2.10
DNS Secundario (ou Alternativo): 200.176.2.12

Leandro: Depois vai na aba de protocolos procure por tcp/ip e altere
o dns :) , até aí tudo bem, agora eu quero saber porque ele me
desconecta

Thiago Sanches: Senhor nesse caso entre em contato com um técnico de
sua confiança .

Leandro: eu estou usando o mesmo computador, mas com discador

Thiago Sanches: Entendo .

Leandro: e quero usar sem, porque eu troquei a shell do windows e na
nova shell não aparece o discador itelefonica no tray

Thiago Sanches: Senhor deseja realizar uma conexão manual, correto ?

Leandro: Não tem como o senhor me fornecer alguma informação de
“possíveis” causas, por exemplo o discador itelefonica ao ser
instalado configura automaticamente a conexão dial para SOMENTE
conectar no dns por via do mesmo. Ou alguama coisa parecid
Leandro: Isso, conexão manual, via dial up, tá tudo configurado como
o senhor falou, porém, ele permanece alguns segundos e depois
desconecta automaticamente.

Thiago Sanches: Senhor nesse caso entre em contato com um técnico de
sua confiança .

Leandro: Bom tudo bem, pensei que soubessem do software que fazem nós
usar, obrigado mesmo asism :)

Thiago Sanches: A equipe do Suporte Online iTelefonica agradece seu
contato, tenha uma Boa Tarde.

Leandro: Boa.

Cretinagem…

•Fevereiro 1, 2007 • Deixe um comentário

E dizem que o povo pensa.

Dilbert sux desta vez…

•Janeiro 30, 2007 • Deixe um comentário

Russos Ninjas

•Janeiro 30, 2007 • Deixe um comentário

O cara é o ninja da verdade.

Nova lib geek – HTGW

•Janeiro 29, 2007 • Deixe um comentário

1. O que é HTGW?

Uma lib para programadores, geeks, hackers, nerds e webmasters, todos da class hoemem, para manipular dados “from women”.

2. O que significa HTGW?

How-to get women.

3. De quem foi a brilhante ideia de criar essa super lib?

Umgeher e Redpill.

Agora chega de topics e vamos ao code.

## htgw.lib <0.1>##

/* ## *no* fuck language – compile this on “brain fuck system”## */

global string obj getWomenList[];

int main() {

string place = getTerminal();

selectWoman(place);

for row.getWomanList[] {

if (womanCheck(getWomanList[row]) == “1″) {

toDoList(getWomanList[row];

}

}

}

void savePhoneForHardDays(string phone) {

if (connectDB() == “1″) {

string sqlQuery = “insert intro phonelist (phone) values (”. phone .”)”;

SQLquery(sqlQuery);

} else {

print “Go out and buy playboy magazine or something like it”;
exit();

}

}

void selectWoman(string place) {

if (connectDB() == “1″) {

string sqlQuery = “select * from “. place .” where class = `woman` and drunk = `on`”;

return getWomenList[] = SQLquery(sqlQuery);

} else {

print “Get out from computer and search fun-woman places!”;
exit();

}

}

void womanCheck(obj objWoman) {

if (objWoman.yearsOld >= “15″) {

if (objWoman.butt > “100″) {

print “Get!!!”;
return 1;

} else {

savePhoneForHardDays(objWoman.phone);

}

} else {

print “Get out! Police is comming!”;
exit();

}

}

void toDoList(obj woman) {

import “system.commands”;int wish_full = 0;
int ejected = 0;

while (wish_full != “1″) {

strip;
unzip;
protect on;

while (ejected != “1″) {

mount /dev/yourDevice /dev/herDevice;
umount /dev/yourDevice;

if (eject) {

ejected = “1″;

}

}

protect off;
clear;

if (wish_full) {

wish_full = “1″;

}

}

sleep;
exit();

}

Design???

•Dezembro 27, 2006 • Deixe um comentário

Papo com meu amigo Rodrigo…

[21:54:37] «umgeher» Mas de um modo mais GNU.
[21:54:44] «rodrigo» e o que se faz um?
[21:54:49] «umgeher» Tipo...
[21:54:53] «umgeher» Tu tem uma empresa.
[21:54:57] «umgeher» Nela tem 3 departamentos.
[21:55:07] «umgeher» Dev, Venda e Design (leia-se gay).
[21:55:15] «rodrigo» ahehaeiuhaeia
[21:55:18] «umgeher» Dai cada trabalhador fica em cada um destes.
[21:55:21] «rodrigo» sauna gay
[21:55:23] «rodrigo» aeiuhiuaheaiuaheaihiheihuehuae
[21:55:31] «umgeher» Lá vai ter wiki para cada grupo, agenda... Contatos.
[21:55:35] «umgeher» Isso mesmo sauna gay.
[21:55:35] «umgeher» ahuahua

Ubatuba – 19/12/06

•Dezembro 20, 2006 • Deixe um comentário

Ubatuba - 19/12/06

São Paulo – 12/12/2006 a 17/12/2006

•Dezembro 19, 2006 • Deixe um comentário

PEB – Projeto Emacs Brasil

•Dezembro 6, 2006 • Deixe um comentário

Projeto Emacs Brasil

 

Projeto para centralizar documenta¢ão, artigos, arquivos e outras coisas sobre Emacs em português.

Formatura da Ana e do Fernando – 01/12/06

•Dezembro 6, 2006 • Deixe um comentário

Formatura da Ana e do Fernando - 01/12/06

Excalibur PUB – 25/11/06

•Dezembro 6, 2006 • Deixe um comentário

Projeto homepage: 01

•Novembro 27, 2006 • Deixe um comentário

O primeiro software da mitgnu vai ser um sistema de homepages! :D Legal. Primeiro de tudo estão trabalhando no sistema (até agora) duas pessoas eu e o Thiago Tiveron (jabber: thiago_tiveron@jabber.org). Eu cuidando da programa¢ão e o Tiveron no design.

O projeto 0.1 está ai em baixo.

O sistema vai contar com um blog ao modo wordpress, sim isso diz que um dia vou sair daqui e ir para o sistema ai, um frontend para o flickr e guarda links. O resto está em formato “teste/planejamento” e talvez com muito certeza entre mais fun¢ões para o sistema.

100 miséria – 24/11/06

•Novembro 27, 2006 • Deixe um comentário

Excalibur PUB – 11/11/06

•Novembro 12, 2006 • Deixe um comentário

Uma noite fraca mas cheia de coisa doidas de se contar ou para encher esse blog de alguma coisa além de informática. Ao nosso amigo Loiz, uma super homenagem.

 

Veja o video do filme estrelado por ele clicando aqui. Qualidade 70% ruim.

Fotos da bebedeira…

 

 

E para fechar… Video do casal do ano, qualidade 100% ruim.

mitgnu

•Novembro 8, 2006 • 2 Comentários

mitgnu Software

tun – 0.1

•Novembro 7, 2006 • Deixe um comentário

Tun, o novo brinquedo, é um script para lembrar de coisas a fazer de uma forma bem simples, apenas anotando o que tem de fazer sem horários, anota¢ões e outras coisas. Depois de rodar o comando para “configurar” o script (-i) ele estará pronto para receber e apagar as tarefas. Vamos passo a passo…

rafael@viking:~/tmptun$ wget umgeher.org/tun/tun
–16:18:54– http://umgeher.org/tun/tun
=> `tun’
Auflösen des Hostnamen »umgeher.org«…. 72.52.136.57
Verbindungsaufbau zu umgeher.org|72.52.136.57|:80… verbunden.
HTTP Anforderung gesendet, warte auf Antwort… 200 OK
Länge: 2.684 (2.6K) [text/plain]

100%[====================================>] 2.684 14.09K/s

16:18:55 (14.05 KB/s) – »tun« gespeichert [2684/2684]

rafael@viking:~/tmptun$ chmod a+x tun
rafael@viking:~/tmptun$ tun -i

Agora vamos colocar uma nova tarefa. Melhor vamos ver o que já temos a “fazer”.

rafael@viking:~/tmptun$ tun -l
(1, ‘tarefas…’)
(2, ‘ajudar em algo no tun’)

Ninja né? Ele mostra o id seguido da tarefa. Vamos colocar algumas novas tarefas…

rafael@viking:~/tmptun$ tun -n “escrever sms para dnt”
rafael@viking:~/tmptun$ tun -n “coompras – terminar adminspace”
rafael@viking:~/tmptun$ tun -n “tun – criar pagina”

Vamos listar as tarefas para dar uma olhada em que fazer…

rafael@viking:~/tmptun$ tun -l
(1, ‘tarefas…’)
(2, ‘ajudar em algo no tun’)
(3, ‘escrever sms para dnt’)
(4, ‘coompras – terminar adminspace’)
(5, ‘tun – criar pagina’)

Legal nossas tarefas listadas e tal. E poxa… Terminei já o adminspace do coompras, vamos apagar essa tarefa!

rafael@viking:~/tmptun$ tun -r 4
rafael@viking:~/tmptun$ tun -l
(1, ‘tarefas…’)
(2, ‘ajudar em algo no tun’)
(3, ‘escrever sms para dnt’)
(5, ‘tun – criar pagina’)

Olha lá ela não está mais lá… Legal o script é simples e funcional! Ele é feito em python usando sqlite para guardar as informa¢ões, está na versão 0.1 deve estar cheio de erros, quem quiser ajudar…. Modifique e envie suas modifica¢ões para umgeher@gmail.com.

Porque o Frango atravessou a estrada?

•Novembro 3, 2006 • Deixe um comentário

Professora Primária
Porque o frango queria chegar ao outro lado da estrada.

Crian¢a
Porque sim.

Platão
Porque buscava alcan¢ar o Bem.

Aristóteles
É da natureza do frango cruzar a estrada.

Marx
O atual estágio das for¢as produtivas exigia uma nova classe de frangos capazes de cruzar a estrada.

Martin Luther King
Eu tive um sonho. Vi um mundo no qual todos os frangos serão livres para cruzar a estrada sem que sejam questionados seus motivos.

Freud
A preocupa¢ão com o fato de o frango ter cruzado a estrada é um sintoma de inseguran¢a sexual.

Darwin
Ao longo de grandes períodos de tempo, os frangos têm sido selecionados naturalmente, de modo que, agora, têm uma predisposi¢ão genética a cruzar estradas.

Einstein
Se o frango cruzou a estrada ou a estrada se moveu sob o frango, depende do ponto de vista. Tudo é relativo.

Heloisa Helena
A culpa é das elites estelionatárias, caucasianas e aristocráticas que usurpam a popula¢ão de frangos e mostra a sua capacidade de luta em defesa dos seus direitos.

Severino Cavalcanti
Desafio alguém que possa provar que o frango atravessou a estrada… É mentira… É tudo mentira.

Zeca Pagodinho
Porque do outro lado da rua tinha uma Brahma gelada.

Amir Klink
Para ir aonde nenhum frango jamais esteve.

Nelson Rodrigues
Porque viu sua cunhada, uma galinha sedutora, do outro lado.

Feministas
Para humilhar a franga, num gesto exibicionista , tipicamente machista, tentando, além disso, convecê-la de que, enquanto franga, jamais terá habilidade suficiente para cruzar a estrada.

Datena
É uma pouca vergonha… Uma barbaridade… Pôe no ar… Pôe no ar ai as imagens do frango atravessando a estrada.

Fernando Henrique Cardoso
Porque ele atravessou a estrada, não vem ao caso. O importante é que , com o Plano Real, o povo está comendo mais frango.

Paulo Maluf
O meu governo foi o que construiu mais passarelas para frangos. Quando for eleito novamente vou construir galinheiros deste lado para o frango não ter mais que atravessar a estrada.

Caetano Veloso
O frango é amaro, é lindo, uma coisa assim amara. Ele atravessou, atravessa e atrevessará a estrada porque Narciso, filho de D. Canô, quisera comê-lo… Ou não!

Luiz Inácio Lula da Silva
Porque queria se juntar aos outros mamiferos.