Arquivo da categoria: Computadores

It's all DNS's fault

English version below.
Retirado de http://www.debian-administration.org/users/lykwydchykyn/weblog/18:

I remember reading somewhere recently (and my experiences in the past pay testament to it):
If you see a baffling problem, it’s surprising how often its down to DNS or host name resolving.

Tradução livre do texto acima:

Eu me lembro de ter lido em algum lugar recentemente (e minhas experiências passadas confirmam isso): se você encontrar um problema que você não faça idéia de qual seja a causa, é surpreendente o quão comum que a causa seja DNS ou resolução de nomes.

Basicamente, o camarada atualizou o Debian e então um programa passou a ficar incrivelmente lento ao conectar com o MySQL. No final o problema era com o DNS.
Eu me lembro alguns anos atrás, quando minha máquina com Debian de uma hora para outra começou a levar vários minutos pra dar boot, quando antes ela iniciava em cerca de um minuto apenas. No fim o problema era o exim (configurado como servidor local), que tentava resolver o nome da máquina durante sua inicialização, e por causa de algum motivo estranho de que não me lembro agora, o arquivo /etc/hosts perdeu a entrada da própria máquina.
Então eis a lição… ao encontrar problemas estranhos sobre lentidão súbita e inexplicável, confira se a resolução de nomes está funcionando (DNS, arquivo hosts, WINS ou o que quer que seja)
(e eu acabei de me lembrar que esse tipo de problema já me deu muita dor de cabeça com o Tivoli Framework em várias ocasiões…)


Taken from http://www.debian-administration.org/users/lykwydchykyn/weblog/18:

I remember reading somewhere recently (and my experiences in the past pay testament to it):
If you see a baffling problem, it’s surprising how often its down to DNS or host name resolving.

Basically, this guy updated Debian and then some app started behaving very slow when connecting with MySQL. Turns out it was a name resolution problem (DNS).
I remember some years back ago, when my Debian machine suddenly started taking several minutes or so to boot up, when previously it just booted in a minute or so. Turned out the problem was with exim (configured as local server only), which tried to resolve the machine name during start up, and because of some weird reason that I can’t remember now, the /etc/hosts file lost the entry for the own machine.
So here’s the lesson… if facing weird problems concerning suddenly, unexplainable slowness, check if the name resolution is working (DNS, hosts file, WINS, or whatever)
(and I just remembered that these issues give me a lot of headache with Tivoli Framework in several occasions…)

Rogue'm Up

English version below.
Linux Application Development book
Uns dois anos atrás, comprei numa promoção o livro Linux Application Development, e até hoje não consegui acabar de lê-lo. Acontece sempre isso com todo livro técnico que compro. Nunca consigo ler pelo menos um parágrafo de uma só sentada, sempre perco o interesse e vou fazer outra coisa.
Resolvi então mudar de estratégia: vou lendo os capítulos fora de ordem, procurando por temas que me interessem no momento. Vi então que o livro tem um capítulo sobre uso da lib S-lang, que serve para abstrair o acesso ao terminal (console). Tradicionalmente se usa a biblioteca ncurses, mas a S-Lang parece ser mais moderna.
Enfim, não só finalmente li um pouco mais do livro, como comecei a brincar com as funções da S-Lang e fiz um pequeno jogo, um shooter lateral, com o mesmo. Como a nave é representada pelo caracter @ e os inimigos são, digamos, familiares para quem já jogou um certo jogo em modo caractere, resolvi chamar este de Rogue’m Up – mistura de Roguelike com Shoot’em Up.
Ou seja, é um shooter para se jogar em modo caractere. Não espere nada muito bem feito, afinal foi só o resultado de uma tarde brincando com as funções da lib S-Lang. Movimente-se com as teclas wasd ou hjklyubn (todas minúsculas), atire com o espaço, saia com Q (maiúsculo). Cada colisão com um inimigo tira 2 pontos de HP.
Atualizado: agora com mais de uma versão e usado como exemplo de programação em C, aqui.


Linux Application Development book
Two years or so ago I bought the book Linux Application Development at bargain price, but I still didn’t finished reading it. This always happens with all technical books I bought: I sit down to read the book, and before I finish even a chapter, I shift my attention to something else and drop the book.
I decided to change my strategy: now I’ll try reading the chapters out of order, selecting chapters by its themes, looking for something I’m interested in reading at that moment. Then I found that this book had a chapter about the S-lang lib. S-Lang provides an abstraction of the terminal (console), easing the programming of console applications. Traditionally the ncurses lib is more used and talked about, but S-Lang seems to be updated more often.
So I’ve finally advanced a little more in reading this book, and also spent some time playing with the S-Lang functions, enough to make a small game – a lateral shooter. The ship is an @ character and the enemies are, let’s say, somewhat familiar to anyone who ever played a certain character-mode game. And so I named this little experiment Rogue’m Up – from the wordsRoguelike and Shoot’em Up.
In other words, it’s a character-mode shooter. Don’t expect anything nice, this was just a result of an afternoon’s play with the S-Lang lib functions. Move the ship with the keys wasd or hjklyubn (all lowercase), shoot with the spacebar, quit with Q (uppercase). Every time an enemy collides with you, you lose 2 HP.
Updated: now with more than one version and used as example of C programming, here.

Things to do in Emacs 22: regexp

Stevey’s Blog Rants: Shiny and New: Emacs 22

It’s just like a normal M-x {query-}replace-regexp, but you’ll prefix any lisp expressions in the replacement string with the sequence `\,’ (i.e., a backslash and a comma). In this case, we match the whole word, and invoke the Emacs-Lisp function `capitalize’ to capitalize the word we just matched:
M-x replace-regexp
Replace regexp: \(\w+\)
Replace regexp with: \,(capitalize \1)

Plonq

English version below.
Faz um tempo que encontrei por acaso um joguinho chamado Qonk. Simples, pequeno, mas criativo. Exige estratégia e rapidez. Basicamente, o objetivo é conquistar um sistema solar, eliminando os concorrentes, conquistando outros planetas, e usando as naves espaciais produzidas por esses planetas para conquistar outros.
Também faz um tempo que conheci a linguagem Lua. Simples, pequena, mas criativa e bem flexível. E para conhecer melhor a linguagem e brincar um pouquinho com ela, instalei uma variante da mesma no meu Palm Tungsten: Plua. Como a melhor forma de aprender uma linguagem de programação é escrever um programa nela, resolvi tentar fazer um joguinho: um pequeno clone do Qonk. O jogo ainda não está completo mas já está funcional. Coloquei o jogo e o código fonte aqui:
Plonq


Some time ago I found a little game called Qonk. Simple but creative, it requires strategy and quick thinking. Basically, the goal is to conquest a solar system, eliminating the adversaries, conquering more planets, and using the spaceships produced by those planets to conquer others.
Some time ago, I also knew the Lua language. Simple, small, but creative and flexible. And in order to know it better, I installed a variant of it in my Plam Tungsten: Plua. Since the better way to learn a new programming language is to write a program in it, I decided to try making a little game: a Qonk clone. The game isn’t complete yet but already works. I’ve uploaded the game and its source code here:
Plonq

Pac-man, o filme

Pac-man ao vivo.Vão fazer um filme baseado no jogo de Pac-man.
Sem sacanagem. É sério.
Vão fazer um FILME sobre o PAC-MAN.
Não, não é primeiro de abril. Clique aqui e leia a notícia, original em inglês.
E depois de ficar estupefato por alguns minutos, tente pensar comigo que raio de roteiro um filme desses poderia ter. Um personagem redondinho, correndo em um labirinto escuro, engolindo pílulas atrás de pílulas e assombrado por fantasmas. Infantil? Terror? Comédia? Trash? Nenhuma das anteriores? Meu Deus.
Isso me lembra um comentário que vi no Slashdot.org uns dez anos atrás, em uma discussão sobre a influência dos videogames no comportamento dos jovens (principalmente no tocante à influenciar a violência): um camarada argumentou que, se os videogames influenciassem os jovens, eles estariam “andando por aí em salas escuras, ouvindo música eletrônica repetitiva e chata, e engolindo pílulas” (obviamente se referindo ao jogo de Pac-man). Imediatamente alguém respondeu: “isso aí não é uma rave?”
Até onde eu saiba, o Uwe Boll não está envolvido no projeto.

Código fonte disponível é coisa antiga

Ao ouvir hoje em dias os termos “software livre” e “código aberto”, geralmente se pensa que são idéias recentes, de apenas alguns anos atrás, e para muitos trata-se apenas de uma “moda passageira” ou apenas mais “buzzwords”, coisa que não seria novidade no ramo da informática. Os mais desavisados provavelmente vão pensar que isto é uma moda que se iniciou no fim dos anos 90. Os ainda mais desavisados devem achar que é uma moda de “um pessoal aí” sobre “esse negócio de todos os programas serem de graça”. Mas não é de conceitos mal compreendidos que eu queria falar ainda – é da idade dessas idéias. A origem disso está mais distante que os anos 90.
Continue lendo