Outro beeep

Publicado em 3 de fevereiro de 2010 por Alessandro Santos

Dando sinal de vida, já que não apareço aqui desde setembro =P

A propósito, não tô dando continuidade ao Interceptor (veja dois posts abaixo). Ao invés disso pretendo apresentar um conjunto de métodos JavaScript pra facilitar a vida de quem trabalha com JS.

ScrapBooster

Publicado em 16 de setembro de 2009 por Alessandro Santos

ScrapBooster é um processador de texto feito em JavaScript para aplicar estilos CSS em textos para o Orkut. Clique aqui para acessar.

Muita gente me perguntava como eu fazia para deixar os textos coloridos, com fundo e borda e tal, e demorava muito tempo para explicar como usar algumas linhas CSS, então criei esse processador para facilitar a vida dessas pessoas e não perder mais tempo ensinando/fazendo.

Por enquanto não tive a oportunidade de testar no Internet Explorer (ei, eu uso linux!), mas funcionou bem legal aqui no Chrome, Firefox e Opera. Aliás, no Opera ele funcionou bem melhor, pois ele tem suporte a alguns elementos HTML5 que os outros ainda não têm. Você pode fazer o download do Opera aqui.

Feedbacks nos comments, please. ;)

Apresentando o Interceptor JS Library

Publicado em 19 de agosto de 2009 por Alessandro Santos

Ok… vamos lá…

Esta é uma coleção de funções e classes que desenvolvi e que me ajudam bastante quando estou trabalhando.

Sei que existem os jqueryes da vida, mas nada como aprender a fazer a roda não é mesmo?

Então vai lá!

PHP, MySQL e UTF-8 (o guia)

Publicado em 18 de agosto de 2009 por Alessandro Santos

Trabalhar com UTF-8 no PHP pode dar algumas dores de cabeça pra quem é novo, e até mesmo para alguns mais velhinhos… O PHP trabalha por padrão com ISO-8859-1, que são os caracteres latinos que estamos acostumados. Entretanto, o UTF-8 tem uma abrangência maior de caracteres e o ideal seria que nos acostumássemos a usar este charset nas páginas.
Este pequeno tutorial tem como objetivo deixar bem claro quais os passos a se tomar para construir uma aplicação totalmente baseada no charset UTF-8, desde as páginas HTML, passando pelo PHP e por fim no MySQL.
Antes de tudo, aconselho que aprenda a criar os seus arquivos utilizando o UTF-8 sem BOM, que evitará dores de cabeça futuras quando estiver trabalhando com cookies, sessões e headers.
O segundo passo é definir, no PHP que o charset dos arquivos que serão gerados terão a codificação UTF-8, com o seguinte código:
<?php
ini_set('default_charset','UTF-8');
?>

Só setar o charset no PHP não adianta muito, pois alguns navegadores usam a codificação padrão da região do usuário, a não ser que o seguinte código esteja entre as tags <head> e </head>:
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
Com isso, você já pode trabalhar tranquilamente com UTF-8 e PHP sem ter problemas com os caracteres.
Alguns cuidados são necessários quando for trabalhar com o MySQL, entretanto. Vou ensinar como se faz pelo PHPMyAdmin, que acredito que todos que começaram a trabalhar com MySQL estão acostumados.
Em primeiro lugar, ao criar o seu banco de dados, já crie usando o collation utf8_general_ci. Se o banco de dados já tiver um collation definido, não é necessário definir o collation das tabelas, pois elas herdarão o do banco. Mas mesmo assim é bom especificar o charset e collation de cada tabela. Como? Assim:
CREATE TABLE Clientes (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nome VARCHAR(60) NOT NULL,
PRIMARY KEY(id)
)
TYPE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;

Ok. Nossa tabela está trabalhando com UTF-8 agora. Podemos começar a programar e relaxar porque nossos problemas com charset estão resolvidos, certo?
A resposta é não.
Se você continuar a programar com o sistema assim, os dados do banco serão inseridos e consultados de maneira correta, mas você vai perceber problemas quando tentar fazer buscas com palavras acentuadas insensível a maiúsculas, por exemplo: Água, água e agua serão palavras totalmente diferentes, sem contar que a ordenação de resultados com palavras que começam com letras acentuadas sairá bem bagunçada, coma letra Ó vindo antes de B, por exemplo.
Esse é o problema que eu tive e que demorei eras pra descobrir. O banco estava OK, o PHP também, o mesmo com as páginas HTML… e quando eu inseria algum dado pelo PHPMyAdmin, este era inserido corretamente, o que significava que o problema não era no banco e sim na aplicação.
Depois de meses na verdade foram apenas algumas horas de pesquisa, desconfiei que havia algo na conexão com o MySQL que estava dando esse problema. Fui fuçar no Manual do PHP e encontrei a seguinte solução:
<?php
ini_set('default_charset','UTF-8'); // Para o charset das páginas e
mysql_set_charset('utf8'); // para a conexão com o MySQL
?>

Com isso todos os meus problemas foram resolvidos. Na verdade não, pois tive que alterar todos os campos acentuados da tabela…
Dá para usar a função mysql_client_encoding para identificar o charset da conexão com o MySQL, mas não acho necessário pra quem quer trabalhar diretamente com UTF-8 e não com vários charsets.
Acho que por enquanto é só. Até o próximo semestre! Brincadeira…

Beeep!

Publicado em 19 de junho de 2009 por Alessandro Santos

Como esse blog anda parado ¬¬

Dica: Musicovery + Firefox + Linux

Publicado em 21 de maio de 2009 por Alessandro Santos

Para quem gosta de ouvir música mas não quer ficar baixando MP3 por algum motivo (o meu é que não tenho paciência de procurar), não existe nada como ouvir rádios on-line. Uma dessas rádios é o Musicovery, que toca os ritmos que eu gosto de acordo com o meu humor.

Fiquei um tempo sem ouvir e quando voltei, por alguma razão não conseguia clicar nos controles do rádio (uso Firefox/Linux). Analisando o código, descobri que a layer que acomoda o player do Musicovery está com um estilo CSS z-index: -100;. Lógico que não ia funcionar, o Firefox bloqueia todas as layers com z-index abaixo de 0, diferente de um certo navegador que não convém citar aqui.

Eu sabia dessa característica Firefox/z-index desde que o Aurélio, meu ídalo! emoticon, criou o CSS Sandbox. Na ocasião, eu o ajudei a solucionar esse problema, motivo pelo qual ele gentilmente acrescentou meu nome no código-fonte, com o endereço do meu blog antigo. O Aurélio não tinha percebido o bug porque estava usando Safari/Mac (se não me engano).

Voltando ao Musicovery, para "levantar" a layer do player, basta, na barra de endereços, colar o seguinte código, e depois pressionar Enter:

javascript:document.getElementsByTagName('div')[0].style.zIndex=101;void(0);

Deve resolver o problema. Resolveu aqui. ;)

Update: Pode acontecer de o Musicovery carregar dentro de um iframe, nesse caso clique em algum espaço entre a borda do navegador e o player (um espaçamento em torno de 7 pixels) com o botão direito e pedir para exibir apenas o frame.

RPGs que me tomam o tempo

Publicado em 6 de abril de 2009 por Alessandro Santos

Uma das coisas que me mantém afastado deste blog é a minha paixão por games RPG. O primeiro que joguei foi Diablo, quando saiu para Playstation e devorava 10 blogos do memory card (e demorava uma eternidade para salvar). Mais tarde conheci o famosíssimo Final Fantasy VII, que ainda considero um dos melhores sistemas e também uma das histórias mais cativantes que já vi. Perdia horas e horas tentando conseguir todas as Materias, derrotar os Weapons, elevar a Knights of the Round até o nível master… foi com ele que comecei a ter uma noção de inglês, coisa que nunca consegui aprender na escola.

Minha paixão por Final Fantasy me levou a baixar o emulador do Super Nintendo só pra jogar o FF VI, aclamadíssimo pela sua história, músicas e sistema de jogo. Os personagens são muito cativantes, cada um com uma história única e bem detalhada, bem diferente de alguns personagens de algumas versões posteriores (a Penelo do FF XII, por exemplo, só sei que ela é órfã). As músicas são excelentes. Aliás, na minha opinião, FF VI foi o auge do trabalho do Nobuo Uematsu, que aproveitou muito bem a baixa qualidade do som do Super Nintendo e compôs clássicos que foram até reaproveitados nas versões posteriores (o tema da Aeris de FF VII, por exemplo). Shadow era o meu personagem favorito, mas não pude deixar de me apaixonar pela Celes e seu sonho de cantar numa ópera. Quando ela cantou na Opera House, confesso que caiu uma lágrima do olho direito…

De lá pra cá, joguei também o FF VIII, mas o sistema de draw/cast era um pouco complicado porque a cada magia gasta os status dos personagens caía. A solução era confiar nos GFs. Foi nesse game que os personagens começaram a ficar um pouco descaracterizados, com uma história mais superficial (quando foi que o Zell fez aquela tatuagem?). Mas mesmo assim, grande jogo. Não falo de FF IX e XI porque confesso que não joguei.

Falemos do FF XII? Alguns cenários somados com a jogabilidade são de tirar o fôlego. Apesar de os summons não terem muita força e faltarem alguns elementos (Tonberry é o nome de uma nave!), a Square inovou muito na jogabilidade, mas, como eu disse, muita porrada e pouca história dos personagens. Não muda o fato de ser um excelente game.

Aliás, é justamente essa versão que tem uma enorme comunidade brasileira aqui na internet. São vários detonados, sites dedicados, databases… o cara que quiser jogar vai encontrar muita informação quando estiver "travado" em algum ponto. Se você caiu de pára-quedas neste post, eu recomendo a comunidade Final Fantasy XII Brasil no Orkut, que além de muita gente versada no jogo ainda tem um database para pesquisas.

Além de FF, tive meus momentos com outros RPGs, que pretendo falar aqui nos próximos posts…

Até ;)

Updates

Publicado em 18 de fevereiro de 2009 por Alessandro Santos

Olá, creônças. Faz tempo, não? Ainda estou vivo, ok?

Estou um tempo longe do blog, o final do ano foi bem corrido, mas estou de volta (acho).

Vamos a alguns updates:

Update 1

O Windows Live Hotmail eliminou aquele enooorme banner no topo da página que espremia os nossos e-mails. Eu tinha até feito um post com um pequeno JS Injection para aumentar o espaço útil. Parece que agora o script é inútil, mas vamos ficar de olho. ;)

Update 2

Depois de aproximadamente 6 meses, parece que finalmente o site do Itaucard corrigiu a falha grotesca do formulário e agora consigo pagar as contas normalmente usando o Firefox. ;)

…e desta vez não fui ao Campus Party!

Publicado em 20 de janeiro de 2009 por Alessandro Santos

Com um misto de arrependimento e indiferença, estou acompanhando notícias e posts sobre o primeiro dia no Campus Party Brasil. Na primeira edição, participei juntamente com a galera da Rede de Projetos do Programa Acessa São Paulo. Foi quando voltei a entrar em contato com o Linux (fiquei a semana toda usando o Ubuntu) e pude ver a evolução do SO desde os tempos em que eu tinha utilizado o Slackware. Como todo bom caipira na cidade grande, fiquei embasbacado com tudo, e sinceramente não consegui acompanhar o ritmo com tantas palestras e oficinas. Mas fiz o possível.

Da primeira edição do CP, eu destaco uns pontos positivos que influenciaram a minha vida durante o ano passado:

Comecei a usar o Linux
Eu já tinha usado o Slackware antes, como já disse. Foi quando trabalhava num provedor de acesso à internet e precisei aprender por necessidade. Escolhi o Slack por ser a distribuição mais cool, mais difícil de aprender, coisa de hacker. Voltei para o Windows (pirata) depois que comecei a trabalhar numa gráfica e necessitava de programas como CorelDRAW, Photoshop e Illustrator. Ainda assim, o Slackware me quebrou um galhão na composição de uma lista telefônica local para a qual criei um sistema em PHP/MySQL para cadastrar os dados. Quando comecei a trabalhar no Acessa SP, voltei a ter contato com o Linux e a participação no CP2008, com toda aquela galera do Software Livre por todos os lados, foi fundamental para eu decidir voltar a trilhar o "caminho das pedras". Comprei um notebook e desde então só tenho usando o Ubuntu (com algumas raras ocasiões em que o Windows foi necessário).
Desenvolvi o SGA
O Sistema Gerenciador de Atendimentos já vinha sido desenvolvido desde 2007, mas eu não estava lá muito com pique. Para mim era uma brincadeira, já que gosto de programar. Durante as oficinas e conversas com o pessoal da Rede de Projetos, eu pensei "opa! acho que dá para usar o SGA como um projeto no Acessa SP!" Voltei para casa pensando nisso e uma semana depois já tinha cadastrado o projeto na Rede. Comecei a ter mais contato com os monitores, fui vendo suas necessidades e já no fim do ano, depois de diversas pausas no desenvolvimento, cheguei a um ponto onde o SGA estava usável, com tudo que os monitores precisavam. Tenho mais alguns planos para ele, mas vou falar disso em outro post.
Comecei a ficar mais atento ao mundo
Quando a gente fica no meio de uma penca de campuseiros, com tanta coisa acontecendo ao mesmo tempo, começa a querer ficar mais ligado. Já durante o CP comecei a usar o Google Reader para organizar as notícias que costumava ler diretamente no site. Viciei na coisa. Leio muito todos os dias pra ficar atualizado. A minha amiga Zana até brinca com esse fato neste post. Realmente tem dias que quero terminar de ler todos os feeds antes de conversar com ela no MSN. :D

Enfim, entre outras coisas, a primeira edição do CP serviu para mudar alguns dos meus costumes. Infelizmente não aproveitei como deveria. Eu até estava com vontade de ir ao deste ano, mas ando meio pobre ultimamente…

Não fico arrependido. Como disse, o garoto aqui é acostumado com a vida mansa do interior e reluta em ir para a cidade grande a não ser que isso seja estritamente necessário. Os maiores traumas da CP2008 ficaram por conta do sistema de ar condicionado (voltei para cá com uma puta gripe!) e o tal do banho (gosto de privacidade né?).

Enfim, vou acompanhar pelos feeds o movimento do pessoal que já está por lá. E me preparar financeiramente (desde já) para participar em 2010.

As crianças de Gaza

Publicado em 8 de janeiro de 2009 por Alessandro Santos

Olá, pessoas.

É certo que fiquei um bom tempo sem postar, visto que tem certas épocas que eu não tenho saco para mais nada além de ficar sentado lendo os feeds. Sem contar que com todas estas tragédias que andam acontecendo. Gostaria de comentar uma que me chama a atenção.

War na faixa de Gaza, onde até o momento quase 700 pessoas morreram, sendo 1/3 delas crianças. Aliás aqui cabe lembrar que morreram "apenas" 10 israelenses, 4 deles por "fogo amigo", ou seja, 700×10 para os israelenses, que tomou 4 gols contra.

Seria inocência minha supor que Israel quer se livrar dessas crianças para que no futuro elas não se tornem "terroristas"? Depois que li esta matéria, começo a pensar que não é uma idéia tão tola. O texto basicamente fala sobre os traumas sofridos pelas crianças (de hoje) em Gaza, sendo acordadas pelo barulho das explosões, tendo pesadelos, ouvindo tiros… além de passar fome e sede.

Um psiquiatra infantil de Gaza, Dr. Abdel Aziz Mousa Thabet, vem estudando há 20 anos os efeitos dos traumas desse tipo nas crianças. Segundo ele, "…Elas sentem que não há esperança, que o mundo não pode fazer nada por elas e elas não podem fazer nada por si próprias." Triste isso, não? Ainda segundo o próprio doutor, as crianças já se sentem preparadas para morrerem cedo.

Quer algo mais? Algumas crianças (as que sobreviveram, claro) que ele estudou no começo dos anos 90 são agora adultas e adivinha? são elas quem estão lutando contra os israelenses!

Se for olhar por esse ângulo, essa palhaçada nunca vai acabar. Sempre vai ter crianças na faixa de Gaza crescendo em meio a corpos e sangue, vendo seus parentes e amigos sendo massacrados sem poder fazer nada, a não ser tentar sobreviver e alimentar o ódio para, um dia, revidar.

E o ciclo se reinicia…

[Update]: "As crianças vêem seus pais sendo assassinados na sua frente, o que você esperaria?", disse o doutor.

Eu
Eu

Alessandro Ramos dos Santos, 29 anos, técnico em web design e desenvolvedor web com PHP, XHTML Strict, CSS e JavaScript.

Assine os Feeds
Marcadores
Blogs
Arquivo

© 2008 | Alessandro Santos | alessandrosantos.com.br

Imagens de fundo por squidfingers.com