quinta-feira, 15 de fevereiro de 2007

Ubuntu Rulez

Hum é difícil começar um post com esse nome depois de ter maltratado o Ubuntu por tanto tempo. Mas a vida anda e as coisas mudam certo?


Há uns dois meses instalei o Ubuntu 6.10 em meu notebook para ensinar minha namorada utilizar o sistema, mas fique apenas nisso, não atualizei e nem coloquei novos programas, ele ficou lá apenas de "enfeite". Esses dias precisei utilizar o note e a primeira coisa que pensei foi "O que vou colocar no lugar do Ubuntu", mas então me veio à mente algo estranho "Vou utilizar esse Ubuntu por uns dias depois troco". Sempre fui fã do KDE e do Blackbox e lá estava o Gnome, "coisa esquisita", "cade as barras transparentes", "e esses menu estranhos?"... Frases comuns quando se está diante de algo "novo".


Então o primeiro passo foi fuçar nas configurações dele e deixá-lo com uma cara mais agradável à meu gosto. Depois de uns ajustes e da instalação do GDesklets ele ficou com uma cara bem amigável, aí veio a utilização do sistema, é incrível como as coisas simplesmente "funcionam" no Ubuntu, tudo bem feito e bem configurado, o gerenciador para instalar novos programas é tipo um aptitude, é bem legal, mas ainda prefiro o aptitude. Quando fui instalar o Apache, por exemplo, ele não estava no gerenciador apenas no aptitude. Lembrando que até aqui nem toquei na sources.list dele, pois tudo o que precisei eu encontrei.


Estou usando o Ubuntu e está sendo um período agradável, no pc uso o Debian e no note o Ubuntu. Então, hoje recebi um e-mail de um amigo (O sr. Emphasis in Metal "diego-mendes at prodesan com br") com uns "links interessantes" para o Ubuntu. E aí vão eles:


Source-O-Matic: Aqui você pode montar sua source.list. Como? Funciona assim, você entra no link escolhe o seu país, a versão do Ubuntu, a arquitetura do processador, e se quiser checa a caixinha de que quer adicionar a source dos fontes dos programas, então clica em "send". Depois disso você pode escolher os tipos de pacotes que quer, já ficam marcados os pacotes desenvolvidos pela equipe Ubuntu e pela comunidade Ubuntu. E há mais opções como pacotes KDE, Wine, Opera, etc. Após selecionar os pacotes você clica em "create source.list" e pronto tens uma lista nova em folha. Agora copie o conteúdo gerado no seu browser e substitua o conteúdo do arquivo /etc/apt/sources.list por ele, atualize o apt ("# apt-get update") e abra o seu gerenciador de pacotes favorito =).


Ubuntu Games: Esse eu fiquei bem impressionado, é um projeto brasileiro onde foi desenvolvido um cara chamado IUG (Instalador Ubuntu Games), no site há instruções de como instalar. Após a instalação do IUG você pode executá-lo e navegar pelos estilos de jogos e escolher os que você quer instalar, ele faz todo o trabalho para você apenas se divertir depois. Esse é bem legal mesmo.


Ubuntu Screencasts: Aqui temos vídeos ensinando a fazer coisas como baixar e queimar a iso do Ubuntu, instalar em dual-boot com Windows(r), custumizar o desktop, etc. Esse vale a pena para quem está começando.


Bem, é isso agradeço ao sr. Emphasis in Metal pela dica sobre os links, que, aliás, eu não conhecia, e espero que aproveitem =)


InFog

Shell Free

Para quem quer aprender um pouco de linux antes de instalar em casa ... segue um site com uma lista de links de shell free.

Shell Free

Uso muito isso quando não quero deixar o ftp aberto em casa pra ficar brincando !!!.

segunda-feira, 12 de fevereiro de 2007

Montando Servidor XDCC (IROFFER)

IRC - Como configurar e usar o iroffer

Se você sempre foi um leecher nos canais de irc e têm banda larga, chegou a sua vez de contribuir! :-)

As instruções abaixo são para o Debian/GNU/Linux, mas, basta instalar o programa em qualquer distribuição ou se você gosta de correr riscos no Windows que o arquivo de configuração é o mesmo.

1° Passo - Instalação.

- Para Debian e derivados como Ubuntu, Kubuntu e Kurumin:
#aptitude install iroffer
- Para OS rpm's como Redhat, Suse, Mandriva e outros derivados:
Procure e instale o pacote iroffer (quem quiser mandar update com detalhes do procedimento da sua distribuição preferida, eu agradeço)
- Para Windows:
Sinceramente não sei, mas, da uma olhada na pagina oficial http://www.iroffer.org

--------------

2° Passo - Configuração.

- Criar na sua pasta home uma pasta exclusiva para a configuração (aconselho que seja iroffer mesmo, como usarei em meus exemplos):
$mkdir ~/iroffer

--------------

3° Passo - Criar o arquivo de configuração:

- Para Debian e derivados como Ubuntu, Kubuntu e Kurumin:
#gunzip /usr/share/doc/iroffer/examples/sample.config.gz
#cp /usr/share/doc/iroffer/examples/sample.config ~/iroffer/nomedobot.config
- Para OS rpm's como Redhat, Suse, Mandriva e outros derivados:
Procure o arquivo sample.config.gz que foi instalado pela sua distribuição e proceda como explicado acima (quem quiser mandar update com detalhes do procedimento da sua distribuição preferida, eu agradeço)
- Para Windows:
Sinceramente não sei, mas, da uma olhada na pagina oficial http://www.iroffer.org

--------------

4° Passo - Editando o arquivo de configuração:

- Nesta etapa não importa sua Distribuição :-) - Há menos é claro que você ainda não tenha entendido que Windows não é seguro e seja teimoso a esse ponto, então! http://www.iroffer.org de novo pra você :-P

- Abrindo o arquivo
$seueditorpreferidograficoounão ~/iroffer/nomedobot.config

O arquivo é todo comentando e tem exemplos em cada sessão, sendo que as sessões são bem separadas, só que ingles não é nem de longe meu forte :-(
Segue abaixo uma configuração adquirida com minha esperiência em canais de irc e com muinto google translator e achometro :-)

- Seção - pid file -:
pidfile nomedobot.pid
- Seção - log file -:
logfile nomedobot.log
logstats yes
logrotate weekly
- Seção - state file -:
statefile nomedobot.state
- Seção - xdcc listing file -:
xdcclistfile nomedobot_packs.txt
- Seção - connection method -:
connectionmethod direct
- Seção - nickserv -:
nickserv_pass senha_do_seu_nick_no_servidor_de_irc
- Seção - server information -:
server servidor_de_irc 6667 senha_do_seu_nick_no_servidor_de_irc
- Seção - channels (upto 50) -:
channel #nomedocanal
channel #nomedocanal2
channel #nomedocanalXXXXXXXXx (e assim vai, sendo uma linha pra cada canal dentro do servidor)
- Seção - user information -:
user_nick nomedonick_do_Bot
user_realname Nome_real_do_Bot
user_modes +i
- Seção - incoming TCP connections -:
tcprangestart 4000 (ou 5000 ou 6000 qualquer faixa de porta que você quer receber seus arquivos, muito útil atrás de firewall)
- Seção - manual dcc ip translation -:
usenatip COLOCAR_O_IP_REAL_DA_SUA_NET (Caso esteja atrás de um firewall ou seu modem seja router - vai ser útil a configuração anteiror ;-)
- Seção - maximum xdcc slots -:
slotsmax numero_da_quantidade de arquivos que podem ser enviandos simuntaneo (4 por ex)
- Seção - Queue Information -:
queuesize numero_da_quantidade de arquivos que podem ser colocados na fila de espera! (12 por ex)
- Seção - max transfers per person -:
maxtransfersperperson numero_da_quantidade de arquivos que uma pessoa pode baixar ao mesmo tempo! (1 por ex)
- Seção - max queued items per person -:
maxqueueditemsperperson numero_da_quantidade de arquivos que podem ser colocados na fila por uma pessoa! (3 por ex)
- add/chfile command helper directory -:
filedir /home/suapastadearquivos (Util para abreviar caminho nos comandos do bot!)
- restrict xdcc list and xdcc send -:
restrictprivlist
restrictprivlistmsg Para obeter os packs digite: !seucomandopreferido (isto ira impedir que seu bot caia direto por excesso de flood)
- Seção - channel xdcc commands -:
respondtochannelxdcc (se for pro bot responder ao comando xdcc) - Aconselho
#respondtochannelxdcc (se não for pro bot responder ao comando xdcc list)
- Seção - channel !list command -:
respondtochannellist (se for pro bot responder ao comando !list) - Aconselho
#respondtochannellist (se for pro bot responder ao comando !list)
- Seção - bypass queue for small files -:
smallfilebypass 100 (Assim o arquivo de packs será enviado de imediato desde que ele seja menor do que 100k, caso contrário aumente um pouco)
- authorized download hosts -:
downloadhost *!*@* (Assim todo mundo pode baixar :-)
- transfer min speed -:
transferminspeed 2 (Assim quem tiver querendo baixar o mundo junto com seu arquivo não fica empatado o Bot)
- transfer max speed -:
transfermaxspeed 15 (Ou o tanto de upload que você quiser limitar, para que alguém com uma super banda não consuma todo o seu upload e pare sua net)
- bandwidth limiting -:
overallmaxspeed 15 (O mesmo acima, mas, controlando todos os usuários)
- autosend feature -:
autosendpack 1 !seucomandopreferido meus packs. (envia o arquivo de packs pra quem der o comando especificado como !seucomandopreferido)
- headline -:
headline "Aquela msg especial que ficará no topo do seu arquivo de packs" (sem ")
- credit line -:
creditline Packs = Escreva o que você quiser para ser a linha de créditos do seu bot sempre que alguém der um comando de list no canal.
- log notices -:
lognotices (Assim saberemos pelo log o que os OPs e servidores tem a nos dizer ao entrar no canal)

--------------

5° Passo - instalando programa auxiliares que serão úteis.

- Instalando o screen para Debian e derivados como Ubuntu, Kubuntu e Kurumin:
#aptitude install screen (não precisa configurar mais nada)
- Instalando o screen para OS rpm's como Redhat, Suse, Mandriva e outros derivados:
Procure e instale o pacote screen (quem quiser mandar update com detalhes do procedimento da sua distribuição preferida, eu agradeço)
- Para windows:
Não tenho nem noção se existe screen pra windows, dançou :-P

--------------

6° Passo - iniciando o bot.

- Iniciando o screen com sessão exclusiva para o bot (terminal, konsole, xterm, etc.:
$screen -S bot (vai cair novamente no console)
- Iniciando o iroffer dentro da sessão screen:
$cd ~/iroffer
$iroffer nomedobot.config
- vai aparecer o bot logando no servidor e nos canais, após isto você estará no console do iroffer, onde tudo é via comando, tanto do iroffer, quanto de irc.
- querendo sair do console do iroffer sem fechar o bot basta digitar juntamente as teclas:
Ctrl + a + d (dessa forma sairá somente da sessão screen)
- querendo voltar ao console do iroffer:
screen -r bot (vai abrir a sessão do screen com o bot iroffer rodando)

--------------

7° Passo - utilização dos principais comando do bot.

Para saber os comandos do bot, basta digitar help no console do iroffer, dentre todos que aparecerão, eis os principais e que mais uso:

** HELP - Shows Help
Ou seja, help no console do iroffer, mostra todos os comando possíveis.
** XDL - Lists Offered Files
Ou seja, xdl mostra a lista de packs no console do iroffer. Uma dica, quando a lista estiver muito grande, veja a mesma em outro terminal com o comando "less ~/iroffer/nomedobot_packs.txt" (sem ")
** DCL - Lists Current Transfers
** DCLD - Lists Current Transfers with Details
Ou seja, dcl ou dcld mostra todas as transferências em andamento, so que com dcld, ele mostra mais detalhes.
** QUL - Lists Current Queue
Ou seja, qul mostra todos os arquivos na lista de espera.
** REMOVE n - Removes Pack n
Ou seja, remove numerodopack remove o pack que vc escolher do bot
** REMOVEDIR
- Remove Every File in
Ou seja, o mesmo de cima, só que para todos os arquivos da pasta especificada.
** RENUMBER x y - Moves Pack x to y
Ou seja, renumber numeropack numerodopacknovo vai trocar o numero dos packs (util para organizar sua lista de packs)
** ADD - Add New Pack With
Ou seja add arquivo_que_voce_quer_por_no_bot adiciona um novo arquivo ao seu bot, sendo que deve ser sempre um caminho valido para o arquivo.
** ADDDIR - Add Every File in
Ou seja adddir pasta_que_voce_quer_por_no_bot adiciona todos os arquivos de uma pasta ao seu bot, sendo que deve ser sempre um caminho valido para a pasta.
* ADDNEW - Add any new files in
Ou seja addnew pasta_que_voce_quer_por_no_bot adiciona todos os arquivos NOVOS de uma pasta ao seu bot, sendo que deve ser sempre um caminho valido para a pasta. (eu prefiro utilizar sempre este, assim não preciso me preocupar se estou colocando arquivos em duplicidade no bot)
** MSG - Send a message to a user
Ou seja, msg nickdousuario mensagem Envia mensagem a um usuário especifico.
** MESG - Sends msg to all users who are transferring
Ou seja, mesg mensagem Envia mensagem a todos usuários baixando do bot.
** MESQ - Sends msg to all users in a queue
Ou seja, mesq mensagem Envia mensagem a todos usuários na fila do bot.
** MSGREAD - Show MSG log
Ou seja, msgread mostra o log do bot (quando quiser monitorar)
** MSGDEL - Delete MSG log
Ou seja, msgdel Deleta o log
** STATUS - Show Useful Information
Ou seja, status Mostra a situação global do bot
** REHASH - Re-reads config file(s) and reconfigures
Ou seja, rehash recarrega as configurações do bot (util quando você altera o arquivo nomedobot.config e não quer parar o bot)
** BOTINFO : Show Information about the bot status
Ou seja, botinfo mostra informações detalhadas sobre a situação do bot.
** SHUTDOWN : Shutdown iroffer, is "now", "delayed", or "cancel"
Ou seja: shutdown now fecha o bot na hora; shutdown delayed fecha o bot quando não tiver mais nenhum arquivo sendo baixado e shutdown cancel Cancela o comando "shutdown delayed"

E isto ai! qualquer duvida mandem comentários!
Quando montei a primeira vez foi com o Ubuntu , mas essa configuração funciona com qualquer distribuição só editar o arquivo de conf como esta no tutorial e tudo funciona

Fonte: Devia Ter Previsto.

sábado, 10 de fevereiro de 2007

Ajude a manter a Wikipédia no ar - mesmo sem colocar a mão no bolso!

Ajude a manter a Wikipédia no ar - mesmo sem colocar a mão no bolso!
O BR-Linux.org lançou uma campanha para ajudar a Wikimedia Foundation a manter a Wikipédia no ar. Se você puder doar diretamente, é sempre a melhor opção. Mas se não puder, veja as regras da promoção do BR-Linux e ajude a divulgar - quanto mais divulgação, maior será a doação do BR-Linux, e você ainda concorre a um pen drive!

terça-feira, 6 de fevereiro de 2007

Trabalhando com datas usando PHP e MySQL

Há uns dias atrás resolvi desenvolver um pequeno sistema em PHP+MySQL para controle de contas. E quando se fala em controle de contas é fundamental que o programa "te avise" das contas que estão vencidas ou vencem no dia. Aí veio a preocupação como farei isso no MySQL? Como tratarei as datas se o formato do MySQL é diferente do formato usado no Brasil?




Pesquisando um pouco descobri duas funções fantásticas do MySQL (4.1>): DATE_FORMAT() e SRT_TO_DATE().

A DATE_FORMAT() é para a saída (usando o select) e recebe os parametros
campo e formato. Se você tem um campo de data chamado dt_saida por exemplo,
para exibir a data no formato dd/mm/YYYY faça assim:

SELECT *, DATE_FORMAT(dt_saida,'%d/%m/%Y) as Saida FROM tabela;

Já a SRT_TO_DATE() é para a gravação (insert) e é bem simples também:

INSERT INTO Tabela (dt_saida) values (STR_TO_DATE('09/03/2007','%d/%m/%Y'));

Caso você queira trabalhar com os campos das datas separadamente use a função EXPLODE() do PHP. Ela fuciona assim:

$DataSeparada = EXPLODE("/",$Data);

Se a variável $Data tiver o formato dd/mm/YYYY a variável $DataSeparada fica com os seguintes valores:

$DataSeparada[0] = dd

$DataSeparada[1] = mm

$DataSeparada[2] = YYYY

Isso é muito útil para desenvolver scripts de validação de datas ou no meu caso usei para cadastrar parcelamentos de contas.

Prontinho, simples rápido e fácil.

Porque troquei o Slackware pelo Debian Parte1

Bem, começo aqui meu relato sobre a decisão de abandonar o Slackware e rumar em direção ao Debian, pois é não foi do dia para a noite e nem foi uma decisão fácil.

Tudo começou com meu estágio na Ética Tecnologia, chegando lá tudo era Debian, e eu sempre fui meio avesso a essas "facilidades" do Debian. Usei o Kurumin por um bom tempo, aliás foi com ele que comecei a aprender GNU/Linux, mas sempre pensei "Esse tal de apt-get pra lá e apt-get pra cá não leva a nada, o negócio é baixar os fontes, compilar e instalar..." Por isso comecei a utilizar o Slackware.

E assim foi por um bom tempo, estudando esse tipo de instalação, me matando para resolver as dependências, e isso era muito bom, aprendi muito sobre o sistema e sobre as famosas dependências. Foi uma fase bem divertida haviam uns "./configure" com muitas opções, e quando digo muitas opções eu quero dizer que ocupavam linhas e mais linhas do meu bash =). Mas depois de um tempo comecei a sentir falta de algo como um "Gerenciador de Pacotes" e até tentei usar o tal do "Slap-get", que não é ruim, mas senti falta de bons repositórios e ele não resolve as dependências.


Então fui reapresentado ao Debian, e é claro eu li isso e foi algo muito legal, foi como "Seus problemas (com dependências) acabaram". Depois de aprender algumas mágicas do APT eu entrei em contato com o Aptitude, e mais uma vez fiquei surpreso. Somando o APT, Aptidude e bons repositórios oficiais a vida de "Linuxer" melhorou muito =).

Próximo passo: Um "tour" pelo Aptitude.


Heroes a nova modinha !!!!!!!!

O drama épico Heroes faz a crônica das vidas de pessoas comuns que descobrem possuir habilidades
extraordinárias. À medida que um eclipse solar cobre com sua sombra todo o globo, os espectadores acompanham um professor de genética na Índia cuja morte de seu pai o força a investigar uma teoria secreta: há pessoas com poderes vivendo entre nós.

Um jovem sonhador tenta convencer seu irmão político que ele pode voar, uma líder-de-torcida descobre ser totalmente indestrutível, uma stripper de Las Vegas, lutando para sustentar seu filho, percebe que sua imagem no espelho tem um segredo, um fugitivo da polícia descobre poder atravessar paredes, um talentoso artista, cujo vício nas drogas está destruindo sua vida e sua relação com a namorada, é capaz de pintar o futuro e um policial azarado consegue ouvir o pensamento das pessoas - inclusive os de um terrorista capturado. No Japão, um jovem desenvolve um jeito de parar o tempo.

Os seus destinos? Nada menos do que salvar o mundo.

Dia 5 foi Lançado o Episódio 14
Que pode ser Baixado pelo IRC no canal #tvfree do server irc.irchighway.net
Série Lançada Toda Segunda,e a Legenda pode ser baixada pelo site
http://www.9thwonders.net

segunda-feira, 5 de fevereiro de 2007

E o Vista chegou!

Bem, demorou mas a MS lançou o Vista, eu acho que esta imagem diz muita coisa sobre este "fantástico" lançamento:

Image Hosted by ImageShack.us

Nossa são tantas as opções para você ficar pensando que deveria ter escolhido uma "melhor". Que todas elas vão te proibir de um monte de coisas isso todo mundo sabe, afinal de contas o melhor jeito de evitar cagadas de usuários é "pensando por eles". Isso me lembrou uma frase que li há um certo tempo não lembro onde "A MS pensa por você, mas o mundo precisa de pessoas inteligentes".


Ah, e quem não lê inglês me desculpe =), fiquei com preguiça de traduzir.