28 de mai. de 2010

PostgreSQL + pgAdminIII no linux

Se você não me conhece:

Se você quer saber como criar um banco de dados e usar o pgAdminIII para brincar com ele, clique nesse link. O resto do post é só um comentário sobre o que houve comigo quando precisei fazê-lo =D

(escrevo isso porque sei que possivelmente alguém vá cair aqui tentando resolver algum problema com ambos os programas e vai querer me mandar a algum lugar feio por descobrir que isso é somente um post sobre o que me aconteceu quando fui usar esses programas)

Se você me conhece:

Diferentemente do que pareceu ser lá na UFRGS, quando eu fui tentar instalar o PostgreSQL no meu windows, só tive problemas. Descobri que, por algum motivo, o "Microsoft C++ Redistributable" (seja lá pra que exatamente ele sirva) estava com sérios problemas, e tudo o que necessitasse dele pra executar dava um erro bizarro, do qual, tendo procurado-o na internet, pouco ainda sei.

Depois de uma hora e meia descobrindo, procurando na internet e tentando resolver o problema, concluí que isso não era coisa pra hoje, já que tenho que estudar pra prova de Fundamentos de Bancos de Dados de uma vez. Vim pra o Linux, no que me encontrei em mais um problema: por algum motivo, diferentemente do que um colega meu tinha dito, o pgAdminIII simplesmente não estava conseguindo encontrar o tal banco default que o Postgres cria direto quando é instalado (ao menos, pelo que tinha entendido, ele só tinha adicionado o banco e tudo tinha se resolvido magicamente D=). Assim, tive de procurar na internet como criar um banco novo a mão.

Foi um tanto frustrante num primeiro momento, já que eu não agüentava mais simplesmente não estudar - é uma droga quando tu tem tempos pré-definidos pras coisas e não consegue fazê-las acontecer dentro desse tempo -, mas, depois de um tempo lendo a maravilhosa documentação do Postgres (sério, eles têm uma documentação muito boa \o/), concluí que isso não estava me levando a lugar algum: quando eu tentava o comando createdb, ele dava um erro fatal e não fazia nada D=.

Enfim, depois de um tempo, encontrei esse link, que resolveu o meu problema. Agora posso estudar FBD feliz e saltitante.

Uma pena eu ter perdido a manhã inteira com esses contratempos D= (e ainda depois de tudo ter resolvido vir aqui postar isso no blog).

É isso...

R$

24 de mai. de 2010

Teste do Apache

Estava precisando testar o Apache2 lá na bolsa pra fazer umas coisas e, para ver se estava tudo funcionando, resolvi fazer uma página simples e colocar alguma citação que tenha sido importante na minha vida. Não sei por que motivo, mas rapidamente me veio à cabeça isso:

"Good morning, and welcome to the Black Mesa Transit System. This automated train is provided for the security and convenience of the Black Mesa Research Facility personnel. The time is eight-forty seven A.M... Current outside temperature is ninety three degrees with an estimated high of one hundred and five. The Black Mesa compound is maintained at a pleasant sixty-eight degrees at all times. This train is inbound from Level Three dormitories to Sector C Test Labs and Control Facilities. If your intended destination is a high security area beyond Sector C, you will need to return to the Central Transit hub in Area Nine and board a high security train. If you have not yet submitted your identity to the retinal clearance system, you must report to Black Mesa personel for processing before you will be permitted into the high security branch of the transit system. Due to the high toxicity of material routinely handled in the Black Mesa compound, no smoking, eating, or drinking are permitted within the Black Mesa Transit System. Please keep you limbs inside the train at all times. Do not attempt to open the doors until the train has come to a complete halt at the station platform. In the event of an emergency, passengers are to remain seated and await further instruction. If it is necessary to exit the train, disabled personnel should be evacuated first. Please, stay away from electrified rails, and proceed to an emergency station until assistance arrives. A reminder that the Black Mesa Hazard Course decathlon will commence this evening at 1900 hours in the Level Three facility. The semi-finals for high security personnel will be announced in a separate secure access transmission. Remember, more lives than your own may depend on your fitness. Do you have a friend or relative who make a valuable addition to the Black Mesa team? Immediate openings are available in the areas of "Materials Handling" and "Low Clearance Security." Please contact Black Mesa personnel for further information. If you have an associate with a background in the areas of "Theoretical Physics," "Biotechnology," or other high-tech disciplines, please contact our civilian recruitment division. The Black Mesa Research Facility is an equal-opportunity employer. A reminder to all Black Mesa personnel: Regular radiation and biohazard screenings are a requirement of continued employment in the Black Mesa Research Facility. Missing a scheduled urinalisys or radiation check-up is grounds for immediate termination. If you feel you have been exposed to radioactive or other hazardous materials in the course of your duties, contact your radiation safety officer immediately. Work safe, work smart. Your future depends on it. Now arriving at Sector C Test Labs and Control Facilities. Please stand back from the automated door and wait for the security officer to verify your identity. Before exiting the train, be sure to check your area for personal belongings. Thank you, and have a very safe, and productive day."

Creio que seja uma pergunta de bem fácil resposta, mas será que alguém que ler isso sabe de onde é (a dica "permeia" o texto =D)?!!? (Sério, eu ouvi isso no mínimo umas 40 vezes durante a minha vida. Adoro a primeira frase, de paixão!!!)

Bom... era isso...

Abraços!!!

R$

22 de mai. de 2010

Campo Minado

Ultimamente, um jogo me tem atrapalhado a vida. Mais do que foi o Super Mario Bros. 3, quando eu era criança - naquele tempo os jogos não me atrapalhavam em nada -, mais do que o Final Fantasy 5, no ano passado - droga, no fim nem terminei o jogo -, mais do que o Kingdom Hearts - esse não me deixava dormir pensando no que viria depois daquela parte que eu tinha jogado "hoje" -, esse jogo está presente em todos os computadores, é acessível a um número de cliques infinitamente pequeno e surge como atrativo especial para qualquer 2 minutos que eu tenha de tempo "livre": o Campo Minado.

O problema é que, apesar de o tempo livre parecer suficiente pra jogar Campo Minado (parece um jogo tão inocente), eu sempre acabo me passando. Um exemplo é agora: já são 2h22 da manhã (que número legal =D), e eu estava jogando isso D=. Quando mando instalar alguma coisa através de alguma ferramenta "synaptic" aqui no Ubuntu, o que que é que eu faço enquanto espero?!?! Quando eu mando compilar algum programa relativamente grande ou mesmo quando eu estou cansado das coisas que esteja fazendo no momento (quando tem trabalho de ORGB pra entregar no dia posterior é um bom exemplo), a melhor forma de relaxar é jogando um pouco de Campo Minado.

Agora agora acabei de bater meu recorde. Estava normalmente terminando o jogo na faixa dos 3 minutos, o que considero um tempo bom (infelizmente, no Ubuntu a contagem do tempo se preocupa com os minutos, mas o jogador de Windows deve considerar 180 segundos =D). Jogando, agora, fiz uma partida com 3 minutos e meio cravadinho (210 segundos), no que, tendo ficado com raiva (fala sério, isso é um retrocesso absurdo!!!), resolvi jogar denovo, tendo conseguido ganhar uma partida em 2 minutos e 41 segundos (161 segundos!!! \o/ \o/ \o/). Até agora, certamente essa é a minha marca, mas considero que eu deva melhorar: ainda perco algum tempo quando vejo os números 5 e 6, já que eles não são muito freqüentes e eu sou obrigado a contar quantas bombas já encontrei na volta deles. Em compensação, acho que já posso dizer o que os caras bons do campo minado que conheci (Jaque Lepkoski e o meu irmão Thiago) me disseram logo que falaram do jogo pela primeira vez pra mim: "Eu sou especialista no Campo Minado =D =D".

O que mais me deixa absurdado [tá tá, neologismo meu. Vocês entenderam o sentido] é que há pouco mais de dois anos [atrás] eu consideraria uma pessoa jogar esse jogo uma falta de boa vontade pra viver (sei lá... tentei não repetir a palavra absurdo, mas não consegui um resultado muito bom D=). Quando soube que o meu irmão jogava, o crucifiquei, condenando-o, reclamando "como é que tu consegue jogar um jogo desses!?!?!?!?". Ele me mostrou a sua tremenda habilidade no jogo (sério, ele é tri bom!!!) e eu fiquei abismado. Pedi a ele que me dissesse o que que é que ele faz pra tirar conclusões tão rápidas e ele me explicou algumas coisas no que criei um "algoritmo mental" que me ajuda hoje a resolver problemas quando encontro números muito grandes reduzindo-os a números menores (basicamente, eu resolvo o jogo com base em indução =D). Como ele era infinitamente melhor do que eu (na primeira vez em que joguei e terminei, demorei mais do que 999 segundos. Com o tempo fui melhorando, estagnando durante um tempo na faixa dos 300 a 360 segundos, por aí), resolvi que tinha de jogar. Não queria que ele fosse melhor do que eu D=. E acho que estou quase conseguindo =D =D se é que já não consegui =D~~.

O engraçado é que não foi por querer: durante um tempo eu tinha algumas coisas pra fazer que me geravam tempo livre, como compilar, recompilar, recompilar denovo, etc. Como isso era chato de esperar, resolvi pegar algum joguinho pra jogar, no que encontrei esse.

Infelizmente, ainda encontro gente "preconceituosa" que me xinga quando me vê jogando esse jogo D= D= (credo, tá parecendo que falo isso como se estivesse admitindo homossexualismo ou pedofilia, ou mesmo que eu matasse crianças em sacrifício a algum ser do mal, ou qualquer outra barbaridade ------- sim, no caso de algum homossexual vir me reclamar, eu estou sim igualando o homossexualismo aos outros dois atos ali citados), mas creio que isso não vá mudar: poucos são os que realmente se divertiriam clicando em quadradinhos como eu =D

Bom... tá... era isso... preciso dormir que amanhã tem prova de alemão...

R$

(bom... aí abaixo vai um screenshot do meu joguinho com a pontuação. Como eu não sei usar o GIMP pra cortar a parte de fora da janela, vocês vão ter de clicar na imagem pra ver tudo =D)

18 de mai. de 2010

Schala Theme

1h47 da manhã... hora de já estar dormindo há tempo. Nem tomei banho ainda. Queria ter estudado um pouco de SQL, mas nem...

Não posso ir dormir sem ao menos escrever um pouco sobre a música que me tem enlouquecido nos últimos dias. Hoje no ônibus, dado um tom arbitrário, até comecei a pensar na partitura da música enquanto olhava pra os lados e ouvia uma gurias conversando alto sobre as professoras ruins do curso de letras da UFRGS (reclamaram bastante de uma tal de Cornélia e elogiaram uma tal de Naira, ou Laira, uma coisa assim - monte de nome de velho =D [também falaram de uma Hélida]).

Essa música é o tema da Schala, do Chrono Trigger. Anteontem, enquanto lia e esperava o meu computador voltar a funcionar, me veio a música na cabeça e, para minha surpresa (isso não tem sido tão incomum assim, por mais assustador que possa dar a impressão de ser), no tom certo, coisa que comprovei depois ao ouvir. Pra quem não conhece a música, ela é bastante viciante (mas sou suspeito pra falar):



E aqui vai uma versão do tristemente desistido Chrono Trigger Ressurection:



O mais legal foi que, ao abrir os videos pra postar aqui agora, consegui sincronizar direitinho as duas músicas. Como elas são em tons diferentes, ficou sinistrão O.o Garanto que se eu quisesse não teria conseguido =D

Ouçam e se viciem \o/

R$

Instalando o driver da G210M/G230M no Ubuntu (9.10)

Faço esse post não pra o leitor, mas para mim. Já passei um bom tempo tendo de procurar na internet como é que faz pra instalar o driver da minha placa de video (GeForce G210M) no Ubuntu duas vezes e sempre encontro algum problema. Minha sorte foi que, por acaso, me lembrava do nome do programa que utilizei e consegui instalá-la hoje denovo [quase] sem problemas.

Me baseei, ao fazer esse tutorial, nesse blog e nesse forum.

PROBLEMA

Depois de instalar o driver da NVIDIA para a placa G210M/G230M (soube que a G230M alguns PCs com a G230M tem tido o mesmo problema) no Ubuntu (estou usando o 9.10), por algum motivo, o "monitor" - estou num notebook, por isso as aspas - simplesmente desliga e não mostra nada na tela (ou então mostra vários riscos verticais em tons de cinza). O que provavelmente acontece é que o driver da placa de video não "encontrou" o monitor.

SOLUÇÃO

Dizer explicitamente no arquivo xorg.conf qual é o monitor. Para isso, sigamos os seguintes passos:

(A sugestão dada pelo blog que eu linkei ali em cima pra extrair o EDID foi usar o programa softMCCS, que é muito bonito, mas, infelizmente, não roda - de acordo com o que eu andei lendo na internet - no Windows 7. Tentei rodar e tive sérios problemas. Linkei aquele forum ali porque justamente ele me apresentou o programa que resolveu o problema: usar o phoenix)

A primeira coisa a fazer é ter uma forma decente de avisar ao driver qual é o monitor que estamos usando. A maneira canônica para fazer isso é através de um arquivo EDID (clique no link para saber mais). Para conseguir esse arquivo EDID, podemos usar vários programas. Aqui, vou usar o Phoenix.

Ao abrir o Phoenix, clique em Tools -> Extract Registry EDID, e clique duas vezes na linha que indica o seu monitor (provavelmente, só vai haver uma linha). Depois disso, vá em File -> Export (imagem ao lado) e selecione o tipo de arquivo .raw. Escolha o nome do seu arquivo, clique em salvar, e vá pra o Linux. Se estiver usando o softMCCS (o programa que eu disse que dava pau no Windows7), grave o arquivo no formate .bin. Esse é o formato que ele usa pra gravar EDIDs "de verdade" (o arquivo binário com as informações que a gente realmente quer).

No linux, baixe o driver da sua placa de video no site da NVIDIA (vai perguntar o seu sistema operacional, e alguns dados daqueles que todo mundo sabe). Abra o terminal e digite

$>sudo /etc/init.d/gdm stop

Isso
deve fechar o X para que você possa instalar o driver da NVIDIA (dá erro se você não fechar o X e tentar instalar o driver D=). Agora vamos instalar o driver. Vá até o endereço onde você baixou o driver e digite (obviamente, o nome do arquivo pode ser diferente, dependendo de qual seja o seu computador especificamente)

$>sudo sh NVIDIA-Linux-x86_64-195.36.24-pkg2.run

Uma instalação vai começar. Aceite tudo =D (se você estiver em um PC de 64 bits, ele vai perguntar se você quer instalar as bibliotecas de compatibilidade com OpenGL, por exemplo).

Ao término da instalação, estaremos naquele momento em que a tela fica preta (ou com linhas verticais em tom de cinza) do qual não gostamos. Para resolver o problema, abra o terminal (se você reiniciou o computador - para ver se a tela preta aparece ou não -, utilize o liveCD para acessar a partição do linux e utilizar o terminal) e vá até o endereço onde você guardou o seu arquivo EDID (aquele que nós gravamos com a extensão .raw ou .bin, lembra?) e o copie para /etc/X11/ da partição do linux.

[pausa para um problema de desambiguação]

No caso de você estar utilizando o LiveCD, o endereço /etc/X11 do qual eu acabei de falar será diferente. O caso é que o liveCD emula um sistema de arquivos "novo" e monta as partições do HD nesse sistema. Falando de uma forma mais simples, é com se o Linux (quando rodado pelo liveCD) tratasse as partições do HD de maneira não diferente daquela que ele trata CDs ou DVDs inseridos no driver: tudo isso vai parar na pasta /media (ou /mount, dependendo do caso). Assim, para acessar o endereço /etc/X11 **do HD**, você deverá ir para (provavelmente):

/media/{nome estranho que vai ser dado ao seu HD}/etc/X11
Onde o nome do seu HD normalmente será um monte de números

[/pausa para um problema de desambiguação]

Lá em /etc/X11, faremos um backup do arquivo xorg.conf (pra o caso de acontecer qualquer coisa de errado), apagaremos ele (dane-se ele: até agora não vi diferença ter ele "minimalista" ou com um monte de coisas [se alguém quiser me explicar melhor as diferenças, ficarei grato =D]) e colocaremos um novo no lugar, com as informações do EDID. Assim, digite as seguintes linhas de comando:

$> sudo cp xorg.conf xorg.conf.bkp # Cria um backup do xorg.conf
$> sudo rm xorg.conf # Apaga o arquivo xorg.conf


Agora, de alguma forma (milhares de forma de fazer isso - apesar de todo mundo dizer que é bom, eu admito que sou n00b e que não sei usar o vi), crie um novo arquivo contendo o seguinte:

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "ConnectedMonitor" "DFP-0"
Option "CustomEDID" "DFP-0:/etc/X11/seuEDID.raw
EndSection


Onde "seuEDID.raw" é o nome do seu arquivo (se você usou o softMCCS ele será .bin, em vez de .raw). Pronto. Agora reinicie o computador e cruze os dedos: se tudo estiver certo, você verá inclusive o logo da NVIDIA ao iniciar o Linux =D

15 de mai. de 2010

Desperta!!!

Como disse no meu último post, ultimamente tenho ouvido muito a trilha sonora do Kingdom Hearts. Normalmente o faço enquanto tenho de ler alguma coisa - como os trabalhos de categorias - ou enquanto estou respondendo aos e-mails, ou mesmo enquanto escrevendo nesse blog =D

Mas uma música que me chamou a atenção, dentre todas as da trilha do Kingdom Hearts, é a chamada Destati (Awaken, no inglês, pelo que eu pude ler na internet). Destati, em italiano, significa "Desperta" (por isso o nome do post =D).

A música aparece pela primeira vez no início do jogo, no tutorial que ensina como movimentar, atacar, usar o lock da câmera, etc. Nesse primeiro momento, o nome da música na OST é "Dive into the Heart". [possível spoiler] Depois disso, ela some durante um tempão pra - pelo que entendi (ainda não cheguei lá) - voltar a aparecer no fim do jogo. [/possível spoiler]. Exemplos de outros nomes com os quais ela reaparece são o próprio Destati (música número 76 da trilha sonora), e as três músicas consecutivas "End of the World", "Fragments of Sorrow" e "Guardando nel buio" (números 66, 67 e 68 da trilha). Na real, não sei se ela aparece em mais algum lugar =D

Quando a ouvi pela primeira vez, não me liguei nos detalhes, mas a música começa extremamente calma e, com o tempo, cresce, se expande, e tem seu auge quando entra o instrumental. Ela não muda muito, apesar disso. Meu irmão a ouviu e não gostou: esperava que melhorasse depois de uma certa parte. Reclamou que ficava sempre na mesma coisa. Acho que, como ultimamente tenho ouvido mais músicas "calmas", tenho ficado mais "sensível" (juro que tentei achar uma palavra melhor) a essas variações pequenas durante a música.

Procurando pela partitura da música (queria tocar a parte das vozes no teclado, já que, num primeiro momento me pareceu bem simples), encontrei um MIDI que considerei significativamente bom. Tanto que, em três sites em que procurei, o MIDI era o mesmo. Pra quem quiser ouvir o MIDI, é só clicar aqui

Infelizmente, por algum motivo, o MIDI não tava tocando direito (tocava só o piano repetitivo com sua única nota tônica a cada dois tempos) no Token (do Linux) e, quando eu tentava pegar a partitura pelo TuxGuitar, algumas notas ficavam burramente esquisitas (elas **DESAFINAVAM!!!**), além de eu simplesmente não conseguir fazer sair o som de uma das staffs. Mas quando tentei rodar no Finale, no Windows, funcionou MUITO bem: o Finale não usa um sintetizador ruinzão pra rodar as suas partituras, mas uns sons feitos por pessoas mesmo. Aí, quando ouvi no Finale, quase parecia de verdade \o/. AAA... e o Windows Media Player também rodou tudo direitinho e com sons bons.

Bom... caso alguém não queira procurar na trilha sonora pela música, acho que vale bastante a pena ao menos clicar nesse link e ouvir ao menos a música Dive Into the Heart, que é aquela pela qual tenho ficado louco nos últimos dias.

13 de mai. de 2010

Protoman

Nos últimos 3 dias, passei boa parte do meu tempo (nem tão livre: isso acontecia enquanto fazia outras coisas úteis também) ouvindo boa parte da trilha do jogo que tenho jogado ultimamente: Kingdom Hearts.

Kingdom Hearts certamente me envolveu. A idéia de juntar personagens da Disney com personagens do Final Fantasy é certamente algo que eu não esperava - apesar de o jogo ser até bem velinho pra eu dizer que eu não já conhecia a idéia. Lucro certo. Diversão garantida. Não vejo a hora de terminar o 1 pra poder continuar com o 2 (quero ver se jogo esse nas férias, entre um FISL - me inscrevi hoje mesmo - e um estudo sobre redes - to querendo ver se aprendo sobre redes nessas férias =D).

Agora há pouco, estando eu significativamente inspirado pelas músicas não só do Kingdom Hearts, como de vários outros jogos (estava na frente do teclado e, a cada nova nota que tocava, me lembrava de alguma música de algum jogo onde ela certamente era tocada), vim para o computador, quando, tendo visto o meu Wallpaper (é uma imagem do Protoman, no canto direito da tela, muito tri!!!), resolvi dar uma procurada pela música do Protoman no youtube (um colega meu tinha dito que era muito boa): eu nunca tinha ouvido nada além do iniciozinho, aquela parte em que toca uma whistle anunciando a sua chegada. Como joguei principalmente os Megaman de SNES (os 4 que saíram pra SNES eu joguei direitinho =D) e como o Protoman (o meu personagem preferido do Megaman) só aparece no Megaman 7, dentre os Megaman de SNES, eu não tive a oportunidade de ouvir a música tão aclamada por vários dos meus colegas.


Ao procurar - e encontrar =D - pela música do Protoman no youtube, fiquei admirado. MUITO TRI!!! Além de ser o cara mais tri disparado de toda a franquia do Megaman, a música dele é extremamente viciante. Até parei de ouvir a trilha do KH, de tanto que gostei da música. Abaixo vai um video da música que encontrei. O mais tri de tudo é que é 8 bits. Dava até pra eu arrumar (dar uma arranjada) e tocar depois no teclado - tenho tentado aprender, mais ou menos, um pouco de teclado, ultimamente.



Tem várias versões com instrumental já criado no youtube, mas quase todas as que achei eram um lixo (tá, não é pra tanto, mas não gostei D=) e se prendiam muito ao ritmo "trancado" da harmonia. Acho que, se eu fosse inventar alguma coisa, mudaria isso, é claro, tentando não tirar a característica da música: acho que se ao menos eles tivessem suavizado esses saltos grandes com uns ligados mais "expressivos" o som já seria outro, por exemplo.

Procurando, agora, encontrei uma versão da qual gostei. Parece que é de um desses jogos fora da linha "principal" do Megaman (e, pelo comentário do cara ali embaixo, dá a impressão de que até dá pra jogar com o Protoman \o/ \o/). Abaixo pra quem quiser ouvir =D



Certamente, se nessas férias eu não jogar algum Megaman (tava querendo jogar o 3. É onde aparece o Protoman e dizem que é muito bom \o/), eu não vou estar preparado pra o próximo semestre D=

(Pena que não tenho mais o que falar... se eu estivesse numa conversa, teria ficado repetindo várias e várias vezes o quanto o personagem é tri e tentando sugar mais uma palavra de alegria do interlocutor por isso................. até que ele mudasse de assunto =D)

É isso...

R$

10 de mai. de 2010

Programming Language!??!

Procurando por Emacs, para saber mais sobre o assunto (estava lendo o GNU Coding Standards e achei que eles referenciavam muito o tal do Emacs de forma que eu poderia estar perdendo alguma coisa ao não saber direito do que que é que se tratava), encontrei o manual dele, disponível na página:

http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Program-Modes

Lá, dando uma olhada no manual, e tendo tido a impressão de que o Emacs seria algo como um gedit++ (desculpa a minha ignorância sobre o assunto, leitor que conhece o Emacs; eu, até então, como diria Jó, "só conhecia de ouvir falar" - me disseram que Emacs era coisa de viadinho e que o fodão era o VI quando eu fui fazer funcionar o driver da minha placa de video no meu computador um tempo atrás), resolvi procurar por a quais linguagens de **programação** o Emacs me daria suporte, caso quisesse baixá-lo e dar uma usadinha pra ver qualé a dele. Lá, encontrei esse trecho:

"The existing programming language major modes include Lisp, Scheme (a variant of Lisp) and the Scheme-based DSSSL expression language, Ada, ASM, AWK, C, C++, Delphi (Object Pascal), Fortran, Icon, IDL (CORBA), IDLWAVE, Java, Metafont (TeX's companion for font creation), Modula2, Objective-C, Octave, Pascal, Perl, Pike, PostScript, Prolog, Python, Ruby, Simula, Tcl, and VHDL."

=D

Acho que até vou passar o link do meu blog pra alguns da engenharia de computação pra ver o que que é que eles acham do TERRÍVEL erro dos caras da GNU \o/ \o/

(tomo mundo entendeu!?!? Se não entendeu, comenta que eu explico ;D)

R$

Trígrafos

Vocês sabem o que são trígrafos (em inglês, trigraphs)?!!? [sim, eu me dei ao trabalho de traduzir a palavra pra o meu maravilhoso português]

Tá tá... todo mundo sabe: se dígrafo é um conjunto de duas letras pronunciadas juntas uma com a outra, então trígrafo deve ser o análogo relativo a três letras. Mas o que eu não sabia é que existem trígrafos no C (a linguagem de programação \o/ \o/).

Os tais trígrafos são uma forma de escrever alguns caracteres "diferentes" de maneira alternativa no padrão ISOC98. Alguns países do mundo simplesmente não têm algumas letras e, por isso, necessitam dessas formas mágicas para escrever tais caracteres. A seguir vai a lista dos caracteres que tem uma segunda notação "trigráfica" no C (ou, ao menos, os caracteres que eu descobri):

??= <==> # pound sign
??( <==> [ left bracket
??) <==> ] right bracket
??< <==> { left brace
??> <==> } right brace
??/ <==> \ backslash
??’ <==> ^ caret
??! <==> | vertical bar
??- <==> ~ tilde

A seguir vai um programa exemplo que fiz pra ver se funciona. Incrível: é só rodar o código

gcc teste_trigraphs.c -o teste.exe -trigraphs

e o programa compila perfeitamente substituindo todas as aparições dos caracteres trigráficos do código pelos caracteres comuns.


// teste_trigraphs.c
//
// Programa cujo único intuito é verificar se os caracteres
// trigráficos vão se tornar os "normais" após a compilação
#include <stdio.h>

int main ()
{
puts("teste dos tais trihgrafos: ??' deve virar ^ \n");
int a = 2,
b = 255,
c;

c = a ??! b;
printf("%d\n", c);

puts("Sera que vao funcionar esses tais de trihgrafos??!!\n");
return 0;
}


Infelizmente (ou felizmente, porque, pelamorde Deus, esse negócio é significativamente feio) esse treco tá pra ficar "deprecado" logo e, se já não era conhecido hoje em dia, daqui a uns tempos, se bobear, vai ser até insultado (e os professores de Técnicas de Construção de Programas vão tirar nota quando virem esses trecos no trabalho final, dizendo que isso diminui a legibilidade do código). Importante, porém, é ler esse link aqui:

http://www-949.ibm.com/software/rational/cafe/blogs/cpp-standard/tags/trigraph

Parece que tem lugares no mundo que, sem os trígrafos, vão acabar ficando sem as backslashes. D= D= Certamente isso vai ser uma grande tristeza pra eles...

Bom... eras isso...

Tomara que também tenham gostado dessa minha descoberta encantadora \o/ \o/

R$

7 de mai. de 2010

Natação |X| (dia_da_dor_de_ouvido) Teclado

Decidi que quero fazer natação. Procurei na internet sobre as piscinas aqui em Porto Alegre, me informei de preços, perdi algumas horas procurando (e indo aos locais pra ver como eram) cada um dos lugares, me informei também de horários, até mesmo me dei ao trabalho de ver os preços dos "materiais" pra poder fazer natação, ou seja, toca, óculos, sunga (sim, em 5 dos 7 lugares onde fui me disseram que era necessário que se usasse sunga, e que NÃO dava pra ser qualquer outra coisa D=), protetor auricular (não sei o motivo, mas me interessei, quando estava olhando os preços, em anotar no meu celular o preço do protetor auricular que tinha na loja onde o vi), etc. Estava um certo tanto ansioso pelo assunto, e tinha meio que decidido começar com isso assim que terminasse a "época de provas" (época compreendida entre quinta-feira passada - dia 29 de abril de 2010 - e segunda-feira que vem - dia 10 de maio de 2010). Achei que o melhor lugar seria a PUC (báá... lá tudo pareceu tão tão tão tão legal!!!), mas fiquei especialmente desacorçoado quando o cara começou a dizer os únicos horários em que ainda havia vagas. Desisti. Pensei: bom, vamos pra a minha carta na manga: o Clube dos Caixeiros Viajantes. Me pareceu um lugar bem legal e ainda por cima era somente 5 pila a mais que o valor da PUC (o que que é um peido pra quem já tá todo cagado!?!?).

Já tinha decidido tudo pra ir lá na segunda-feira dia 10, depois da aula de FCG (Fundamentos de Computação Gráfica, pra quem lê isso e não é da computação........... oi mãe \o/), quando me acontece a coisa mais sem noção que poderia ter acontecido: segunda-feira dia 3, acordei com uma estranha sensação no ouvido. Fui ao médico na quarta-feira e ele me disse que eu não poderia nadar enquanto não resolvesse isso. Também me deu um prazo: disse que em 10 dias estaria bom.

Os religiosos mais fanáticos e os ateus mais debochados possivelmente digam "aaa... foi Deus que não quis [cara de debochado]||[cara de triste por mim] ", mas pra mim foi uma simples coincidência =D. Posso dizer, mesmo assim, que estou satisfeito: o cara da PUC me disse pra ligar entre os dias 20 e 24 de maio, porque achava que abririam vagas (acho que acabo de dar um tiro no pé, certo?!?!).

Acho que o leitor deve ter percebido que no título do meu post (sei que não ficou muito bom de entender, principalmente porque fiz um bom tanto de força pra o título dar (somente) mais ou menos certo: primeiro tinha posto só um "x", mas achei que o "|X|" era mais "correto" no meio em que me encontro) tento fazer uma equi-junção pela coluna "dia_da_dor_de_ouvido" das "tabelas" Natação e Teclado. Isso provavelmente queira dizer que eu vá falar sobre o meu teclado também neste post, certo!?!?

SIM!!! O que acontece é que, como eu fui ter essa dor de ouvido justamente na semana em que eu tinha duas provas (umas das quais foi aplicada em pseudo-surpresa, já que, até onde metade - sim, metade ¬¬ - da turma sabia, a prova deveria ser aplicada dois dias depois do dia em que foi aplicada) e justamente na semana em que eu tinha de dar uma olhada numas músicas pra um grupo do qual faço parte na igreja (por isso, trusce (tentei transcrever meu modo de falar, mas ficou complicado: a palavra aqui tenta ser a conjugação na primeira pessoa do singular do pretérito perfeito do indicativo do verbo trazer, ou seja, trouxe) o meu teclado (musical) para o apartamento onde "moro", aqui em Porto Alegre), passei boa parte do meu tempo tocando um pouquinho de teclado essa semana. Percebi que, por algum motivo, tocar teclado não me incomodava quando meu ouvido doía (ele ainda dói, mas não a ponto de me atrapalhar em alguma coisa), diferentemente do que acontecia quando eu tentava estudar ou mesmo dormir (que noite ruim de sono que eu tive de terça pra quarta-feira essa semana D= D=). Comprei, durante a semana, um adaptador para o meu fone de ouvido, de forma que pudesse pôr o plug dele dentro da saída do teclado (para quem entende, a saída do teclado é P10 e o "macho" do fone é P2), e o tenho usado todos os dias sem exceção desde então para, a qualquer hora, dar uma tocadinha no meu mais novo brinquedinho quase-favorito =D.

Enfim... decidi, por causa disso, que tocar teclado é uma brincadeira (sim, brincadeira: nada que deva me tirar a felicidade, impondo compromissos ou exigindo que eu deva sacrificar algo da minha vida para tocar alguma música) à qual eu devo me dedicar um pouco mais nos próximos tempos. Não creio que vá durar MUITO tempo, já que, logo, terei vários trabalhos fodões pra fazer que me deverão tirar a vida social (e o prazer em fazer qualquer outra coisa diferente dos próprios trabalhos) durante alguns dias. Mas acho que vale a pena se dedicar um pouquinho a isso nos próximos tempos [pra infelicidade do meu amigo André, se ele estiver lendo isso D= D=].

Oi André \o/ \o/

Enfim... acho que vou procurar umas partituras bem bem bem bem bem bem bem bem fáceis em primeira instância pra dar uma brincada. Mas que isso fique claro: não devo colocar o teclado acima do Kingdom Hearts xD

AAA... e... se isso deixa meus colegas felizes, agora, sim, poderei tocar alguma coisa quando me convidarem pra tirar alguma música pelo puro prazer nostálgico de fazer as pessoas à nossa volta felizes com músicas maravilhosas dos desenhos e jogos dos tempos de ouro de SNES (bons tempos).

Enfim......... achei que o produto cartesiano ía dar sérios problemas de inconsistências com a realidade na tabela resultante =D

R$

5 de mai. de 2010

Black Eyed Peas x Chrono Trigger

Por ter assistido ao video do post passado, para incorporar à postagem, fiquei com a música "Where's the love", do Black Eyed Peas na cabeça durante alguns dias. Por algum motivo, sempre que fico com essa música na cabeça, me lembro de um solinho de guitarra que tem na música. Infelizmente, quando pus o video no blog, não me liguei que faltava esse solinho. O video a seguir tem a música com o solinho (exatamente aos 2 minutos e 58 segundos do video).



Felizmente, apesar de o solinho (convenhamos) ser um lixo, ele me lembra a música da luta contra o Spekkio, no Chrono Trigger. Quando aprendi a tocar a musiquinha do Spekkio, não estava jogando o jogo. Por isso, sempre que a toco na minha flautinha, toco no tom errado: o tom original é E, enquanto eu toco em F. Por acaso, o iniciozinho do solo do Where's the Love se encaixa (Where's the love engole o primeiro F da música do Spekkio; em compensação, se encaixa até no tom =D) com a "minha" versão da música do Spekkio: [Fá engolido] Fá, dó, lá, mi (aqui começam as diferenças: no Chrono Trigger, a nota seria ré; em compensação, o ritmo é bem parecido, até \o/).

Tá, eu sei que são só 3 notas... mas é incrível como eu consigo ficar aturdido com essas 3 notas e querer tocar a música do Spekkio na flauta todas as vezes que eu ouço o solinho do Where's the Love.

Pra quem quer ouvir, aí vai a música do Spekkio pra darem uma olhada:



(A parte que eu toco é a parte da flauta =D)

Não é maravilhosa essa música?!?!

R$

1 de mai. de 2010

Onde está o amor?!!?

Estava me perguntando sobre isso há algum tempo, antes de criar esse blog. Tinha vontade de escrever sobre o que eu pensava, mas não teria cara de pedir pra usar algum blog de alguém que já conheço. Gostaria de escrever isso pra um público maior do que as pessoas que aqui vêm, mas, hoje esse assunto me veio à cabeça denovo e não quis adiar mais o escrever =D

Aviso que esse texto deve se assemelhar ao conteúdo da disciplina de Matemática Discreta, no sentido de que, apesar de introduzir alguns fragmentos aparentemente desconexos, ao término, todos eles saberão (ou ao menos na minha cabeça eles parecerão saber) "como se juntar".

1 - Um tempo atrás, estava voltando pra Guaíba, logo depois de uma aula na UFRGS, e prestei atenção, como sempre, na quantidade de mendigos que se acumulavam nas extremidades do "túnel" que passa por debaixo da avenida da Conceição, ligando o lado da Rodoviária ao lado onde está a IURD (Igreja Universal do Reino de Deus). É extremamente triste pensar que existem tantos passando fome, mendigando, se humilhando por alguns centavos. É mais triste ainda pensar que muitos deles, por falta de cultura/conhecimento/acesso à informação, gastam do pouco dinheiro que conseguem em drogas, bebidas, ou qualquer outra coisa que, certamente, só afunda mais ainda o coitado na sua miséria.
Algo que me incomoda é eu nunca ter visto (apesar de não poder dizer com certeza de se não acontece) algum dos caras da IURD ali do lado demonstrar algum tipo de gentileza ou prestar algum tipo de ajuda aos pobres diabos do lado de fora do seu majestoso "templo" (ou catedral, como eles gostam de dizer), apesar de com freqüência já tê-los visto abordar pessoas acompanhadas de cadeirantes (na verdade, a pessoa de quem eu melhor me lembro ter visto era uma mulher cuja filha tinha paralizia cerebral) ou mesmo pessoas "normais", aparentemente, ao menos =D.
Onde está o amor a essas pessoas?!?! Foi embora?!?! Não quero julgar os caras da IURD: eu passava por eles todos os dias. Onde está o amor a essas pessoas!??!

2 - Por algum motivo, ouvi, algum tempo atrás, que os cristãos pregam "o ódio às minorias" (ouvi isso de uma pessoa contra quem poderia facilmente usar a falácia do argumento ad hominem ¬¬, o que, de qualquer forma, não mudaria a veracidade do fato) e, infelizmente, depois de um pouco pensar, fui obrigado a, concordar. Fiquei envergonhado ao notar isso e percebi que, fundamentalmente, o cristão, andando por esse caminho, não está seguindo os preceitos que prega. Afinal, o cristão prega o amor incondicional a todos, não importando de onde venha ou quais as condições do próximo (lembrando da parábola do bom samaritano). A pergunta que me faço, quando penso nessa história toda, novamente é a mesma da "história 1": onde está o Amor?!!?
Frequentemente tenho a impressão de que (creio que verdadeira), diferentemente dos ditos evangélicos - grupo do qual eu faço parte =D -, muitos outros grupos sociais, relacionados ou não a alguma crença, são muito mais "amorosos", no sentido de que, mesmo (às vezes) com muito menos condições, se doam em prol de outrem.
Não sei por que, mas, por algum motivo, gosto de relacionar esse pensamento a uma frase proferida por Jesus: "aquele que quiser salvar a sua vida, perdê-la-á, e quem perder a sua vida por amor de mim, achá-la-á". Sei que, contextualmente, essa parte não tem tanto a ver com esse assunto (Jesus estava falando somente sobre o seguir a ele, nesse contexto), mas, penso que o alvo do evangelho é o próximo, e que, pegando os conselhos dados por Tiago2 e 1João3 em relação ao próximo, deveríamos, sim, nos doar mais às pessoas à nossa volta (digo isso de maneira hipócrita e envergonhada, já que eu, apesar de pensar nisso, admito não fazer nada disso).

3 - Semana passada, quando eu estava esperando na parada o Agronomia, me abordou um homem falando numa voz fraca e especialmente aguda. Ele me perguntou se poderia me dizer uma coisa, no que eu fui inicialmente relativamente rude respondendo com um simples sim, um tanto amedrontado. Quando ele começou a falar foi quando eu percebi que se tratava de um mendigo que me pedia apenas algumas moedinhas pra comer. Eu não acreditei num primeiro momento, tendo ficado com absurdo medo de abrir a mochila - a parada estava meio vazia - e, rapidamente, inventei uma desculpa pra não fazê-lo: disse que não tinha moedas na mochila. Enquanto dizia isso, minha consciência categoricamente me alertava sobre o troco do RU, de 40 centavos, que jazia ao fundo do menor bolso da mochila. Fiquei infeliz com o acontecido, mas, tendo falado, ele foi embora, clamar pela ajuda de um outro que estava um pouco mais ao lado. Cheio de remorso, revirei pelos 40 centavos aquele bolso, no que descobri que tinha mais de 1 real dentro da mochila. Dei um real, nada mais nada menos, de consciência um pouco mais limpa D=.
O que me incomodou nessa história no fim das contas foi principalmente que eu neguei ajudar ao próximo simplesmente por medo de que eu o ajudasse mais do que estava realmente disposto a fazê-lo (ou seja, no caso de ele me roubar \o/). Não dei o meu lenço, tendo ele me pedido o manto. Fui indesejavelmente cristão, naquele momento... D=

Enfim... o que essas três historinhas me ensinam é que, apesar da minha infinda tentativa de tentar fazer valer aquilo que ponho como características fundamentais do meu caráter, baseado na bíblia, infelizmente sou falho ao tentar fazê-lo. Definitivamente, não sou bom em ser cristão. Estou certo de que a graça de Deus me basta e me ajuda com esse sério problema (no sentido de que isso não vai me levar à perdição =D), mas certamente não consigo ser bom o suficiente. Penso em fuzilar os índios quando eles tentam tomar para si áreas industriais de Guaíba, ou penso em bombardear casas de multimilionários capitalistas quando eles não se preocupam com o "bem-estar" da natureza, destruindo, por exemplo (como o meu boné, que não tiro da cabeça, lembra), áreas de desovas de tartarugas marinhas nas praias do nosso litoral. Gosto de lembrar de quando espanquei até a morte (eu era criança) uma galinha pendurada na árvore do pátio da casa da minha tia e de quando o mano apertou a casca de bergamota no olho de outro. Frequentemente percebo ser da minha natureza ser mal com as pessoas, com os animais, e com muitas outras coisas (utilizando isso para minha simples e pura diversão, até mesmo), e vejo que isso não é bom, no que fica a pergunta, mais uma vez, martelando na minha cabeça e me incomodando, acusando a mim e ao meu cristianismo (e a todos aqueles que, teoricamente, o seguem): "Onde está o amor?!?!"

Abaixo, fica a música que me "inspirou" a escrever sobre isso, também. A letra é MUITO boa, muito condizente com a maldita realidade. Por algum motivo, ela me lembra daquele cara do Rio de Janeiro, cujo título recebido era o de "profeta", que dizia e repetia que "gentileza gera gentileza", querendo fazer com que a sociedade vivesse melhor, de maneira mais unida, feliz e "amorosa", nesse sentido. A música reclama de guerras e racismo. Ela me lembra muito a minha historinha número 2, ali.



O que mais frustra é pensar que, apesar de ter escrito sobre isso, NADA vai mudar (inclusive eu seguirei a minha vida egoísta sem ajudar ninguém, porque sou mais hipócrita do que tenho vontade de mudar, de alguma forma, a vida das pessoas), todos permaneceremos agindo do mesmo modo egoísta de sempre (até porque só uma ou duas pessoas vão ler isso =D).

-----------------------------------------------
Enfim... certamente esse post não serve pra nada e eu só escrevi pra dizer alguma coisa e pra reclamar da minha falta de atitude quanto à vida dos outros... mas ao menos eu publiquei alguma coisa hoje =D

R$