RSS

Ubuntu 9.04 no Itautec W7635

Como vocês todos devem saber, no último dia 23 foi lançado o Ubuntu 9.04. E quem me conhece sabe que eu sou um (in)feliz proprietário de um notebook Itautec Infoway Note W7635.

Quando eu instalei nele o Ubuntu 8.04, pensei em não tirá-lo tão cedo. Um motivo é por ele ser LTS e o outro é que já passei da fase de estar instalando todas as versões, principalmente o Ubuntu que tem uma a cada seis meses.

Não vi motivo para migrar para o Ubuntu 8.10, mas com o 9.04 foi diferente. Se falou tanto coisa boa dele, incluindo a ótima notícia de compatibilidade nativa com a placa de vídeo VIA Chrome, o que pude comprovar durante o Flisol em Natal rodando um live-cd, mas não cheguei a fazer a instalação. E hoje chegou o grande dia.

Ubuntu 9.04 no Itautec W7635

Ubuntu 9.04 no Itautec W7635

Sem fazer configuração alguma após a instalação, a compatibilidade foi a seguinte:

  • Video – OK
  • Saída para datashow – não testado
  • Som – sai nas caixas e no fone de ouvido. Mas quando está com fone de ouvido continua saindo nas caixas. Porém o som está ruim. Depois vejo o que pode ser feito.
  • Microfone – não testado
  • Tecla Fn – OK (com exceção do controle de brilho)
  • Touchpad – OK
  • USBs – OK
  • Placa de rede – OK
  • Rede sem fio – OK
  • Modem – nem enxerga o modem
  • Hibernar – OK

Ao longo dos dias vou relatando outras coisas boas e ruins que encontrar por aqui.

Anúncios
 
15 Comentários

Publicado por em 14/05/2009 em Geral

 

Conversão de MySQL para PostgreSQL – Parte II

No artigo anterior, eu falei que um pequeno problema no script mysql2pgsql impedia de executar no pgAdmin III o arquivo gerado. E que a saída foi gerarmos o arquivo sem os ‘DROP TABLE’s. Finalizei perguntando o que fazer se precisássemos dos benditos DROP’s.

Bom, nós podemos:

  • Gerar com os DROP’s e corrigir o problema manualmente substuindo o ‘\g’ por ‘;’. Usar o recurso de um editor de texto para Localizar e Substituir também ajudaria muito;
  • Esperar sair uma nova versão com a correção desse erro;
  • Informar aos desenvolvedores do erro, o que seria uma ajuda para o item acima;
  • Desistir do mysql2pgsql e pedir novamente ajuda ao Amigoogle;
  • além das anteriores, xingar o software (livre) e seus desenvolvedores
  • O que mais?

Lembremos da definição de software livre. Um das liberdades é:

A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade nº 3). Acesso ao código-fonte é um pré-requisito para esta liberdade;

Pronto. Todos os nossos problemas acabaram-se. Basta pegar o código-fonte e fazer as alterações. Lindo isso, né? O mysql2psql é um script Perl. E eu nunca andei de camelo. 😦 Mas foi aí que eu soube que sabia programar em Perl. 😀

Vamos pensar um pouco. A linha que continha o erro era algo do tipo:

DROP TABLE “nome_tabela” CASCADE\g

O DROP TABLE e o CASCADE são comandos SQL, portanto são fixo. Então, basicamente bastava encontrar o comando Perl que joga as coisas na tela, que no caso é print (descobri quando abri o arquivo), contendo esses termos com alguma variável no meio deles, que seria o nome da tabela, e o famigerado “\g”.

Eu gosto muito do (ou da) Geany e com ele(a) pesquisei por “DROP TABLE”, depois de alguns encontros em comentários cheguei na linha 344.

$pre_create_sql .= “DROP TABLE $table CASCADE\\g\n”; # custom dumps may be missing the ‘dump’ commands

Repare que ela não tem o print, mas certamente essa variável $pre_create_sql será impressa. Agora é só substituir o  \g pelo ;. Fiz isso e funcionou perfeitamente.

Até aqui usei o direito de aperfeiçoar o programa. Mas e se outra pessoa também precisar disso? Então vamos liberar o aperfeiçoamento, enviando o script alterado para os autores. Como o caso é simples*, enviarei mesmo por email para o autor que pelo nome eu julgo ser brasileiro e ver no dá.

*Existem outras forma mais modernas de fazer isso.

 
Deixe um comentário

Publicado por em 02/05/2009 em Sem categoria

 

Tags: , , ,

Conversão de MySQL para PostgreSQL

Enquanto o banco de dados de código aberto mais popular do mundo é o MySQL, o banco de dados de código aberto mais avançado do mundo é o PostgreSQL.  Não é raro termos de fazer conversões de um para outro.

Depois de alguma ajuda do Amigoogle, encontrei o script mysql2pgsql. Como o nome sugere, este script faz a conversão de bancos de dados do MySQL para o PostgreSQL. Depois de baixá-lo e atribuir permissão de execução para o arquivo, para fazer a conversão é necessário gerar um dump do banco MySQL e executar o seguinte comando:

$ ./mysql2pgsql.perl [MYSQL] [POSTGRESQL]

Onde:

  • [MYSQL] é o arquivo dump que você gerou
  • [POSTGRESQL] é o arquivo que será gerado. Cuidado para não sobrescrever um arquivo que já exista

Depois disso, é só você pegar o arquivo gerado, executar no psql, ou PgAdmin III e ganhar alguns pontos com seu chefe. Em tese.

Abrindo um parênteses. Quando executei foi no PgAdmin III (que é o que eu costumo usar) ele não executou pelo problema que descrevo abaixo. Estava com este artigo praticamente pronto, quando dei ouvidos a voz do além que dizia: Você não testou isso no psql! Dito e feito. Testei e o danado não reclamou de nada. Então o problema que descrevo só acontece no PgAdmin III – eu sempre achei que o PgAdmin usava o psql por baixo. Fecha parênteses.

O arquivo gerado mysql2pgadmin é um arquivo com comandos SQL de criação (CREATE) de objetos do banco (tabelas, sequências, índices etc.) e seus respectivos comandos de INSERT.  Mas o padrão dele é também incluir comandos de remoção (DROP) desses objetos. Acontece que para os DROP’s das tabelas, ele gera a seguinte saída:

DROP TABLE “nome_tabela” CASCADE\g

O PgAdmin vai reclamar desse “\g”. Oh, céus. E agora?

Como todo software (livre) que se preze, o mysql2pgsql tem uma ajuda. Help para os íntimos.  Basta executá-lo com o parâmetro -h, como abaixo:

$ ./mysql2pgsql.perl -h

Atenção para o que diz a descrição do parâmetro –nodrop:

–nodrop: strips out DROP TABLE statements
otherise harmless warnings are printed by psql when the dropped table does not exist

Ótimo. Podemos gerar o arquivo para o PostgreSQL sem os ‘DROP TABLE’s. E sermos felizes.

Peraí. E se precisarmos que o DROP TABLE seja gerado? Isso é assunto para o próximo artigo. Nos vemos em breve. 😉

 
14 Comentários

Publicado por em 04/02/2009 em Tutorial

 

Tags: , , ,

Meme 2009

Se os últimos dias do ano são para fazermos retrospectivas, os primeiros são para renovarmos as velhas promessas que nunca serão cumpridas. #prontofalei

O @rodrigoflores tuitou um link que continha suas metas para este ano. Na verdade, era um meme para definição de 9 metas para 2009 e ele fez um convite para todo mundo. Então aqui estão as minhas (alguns itens não são exatamente metas em sua definição, mas vou deixar como tá):

  1. Tirar a carteira de motorista
    Essa talvez seja a mais realizável. Dei a entrada no Detran no fim do ano. Início de fevereiro faço os exames médicos e depois autoescola (agora é sem hífen). E antes que alguém faça aquela piadinha infame, eu mesmo faço. E finalmente, as ruas de Natal estarão mais perigosas. :p
  2. Concluir o bacharelado
    Esta é a prioridade para esta ano. Entrei no curso de Ciência da Computação da UERN na primeira turma, em 2002.2. E já passou da hora de sair. Dos que entraram comigo e não desistiram pelo meio do caminho, eu sou o último.
  3. Manter este blogue
    Que tal dois post por mês, por enquanto, e um por semana depois que cumprir o item 2?
  4. Passar no concurso para analista do Cefet-RN Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte
    Este ano o, agora, IFRN abrirá vagas para suas novas unidades. Pretendo fazer concurso para Analista de TI.
  5. Ir para o Fisl 10
    Este ano o Fisl será especial. Queremos 10 mil participantes na 10º edição do Fórum Internacional Software Livre. A organização está se empanhando fortemente para trazer Linus Torvalds. E o andamento da programação do pode ser acompanhada no Blog do Temário.
  6. Ter uma vida mais saudável
    Esse deve ser o mais difícil. Posso fazer isso dormindo melhor, comendo melhor e voltando a prática de exercício físicos. Mas pelo menos um desses 3 itens eu consigo.
  7. Perder menos tempo com coisas fúteis
    Perco muito tempo com coisas sem importância. Mas para mudar isso já tomei algumas medidas: desativei o recebimento de mensagens de diversas listas de discussão que participo, cancelei vários RSS, e desinstalei o Twitterfox (pelo menos no trabalho). Não ter televisão em casa também ajudará bastante.
  8. Ler mais
    Ano passado li muito pouco. Digamos que só a obrigação. Este ano quero ler mais. Tanto livros técnicos, quanto não-técnicos. E acho que talvez até perca um livro. Já tem um ali na fila que certamente terá esse fim caminho: Helena, de Machado de Assis.
  9. Cumprir todos os itens acima 😉
    É, eu tenho um terrível costume de não terminar o que começo. Espero começar tudo que planejar e terminar tudo que começar.

É isso. Outras coisas aparecerão no decorrer do ano, e depois que cumprir a meta 2, terei mais tempo para as demais e para outras que surgirem. Durante o ano vou atualizando o andamento de cada uma dessas metas e no fim do ano a velha retrospectiva.

E quando a você? Quais são suas metas para este ano? Coloquem o link aí nos comentários para gente ver.

 
4 Comentários

Publicado por em 10/01/2009 em pessoal

 

Olá Blogosfera

Olá internauta blogueiro (descobri a pouco que quem lê também é blogueiro),

ter um blogue era uma coisa que eu vinha adiando a bastante tempo. Confesso que sentia uma espécie de obrigação moral de retornar para a Internet o que ela tem me dado. Falar que recorro a blogues diversos para tirar dúvidas é desnecessário, mas em muitos casos era necessário a adaptação de diversos artigos para resolver o meu problema, o que fazia com que eu adquirisse algum conhecimento. E sem contar o conhecimento gerado através de estudos. Mas esse conhecimento estava ficando retido comigo. E isso não condiz com minhas idéias de liberdade do conhecimento. Como já pensava Santos Dumont, o conhecimento tem de ser livre.

Nada melhor do que aproveitar o início do ano para concretizar isso. Não é?

Além deste blogue ser o que a frase no topo diz que é. Ele também será mais um blogue que abordará software livre. Em especial distribuições GNU/Linux (certo, Stallman?), e mais especial ainda sobre o Ubuntu e softwares que rodam nele. E softwares livre que roda no Windows. Por que não? Certamente, a maioria dos artigos focarão o ambiente de trabalho dos usuários alvos do Ubuntu, os seres humanos. Não vou tão longe quanto Carlos Morimoto, mas eu acredito que o GNU/Linux está pronto para o desktop a algum tempo, principalmente na encarnação do Ubuntu. Os usuários é que não estão prontos para qualquer sistema que seja diferente do Windows. Pretendo dar minha contribuição com tutoriais recheados de capturas de telas (perceberam que estou evitando palavras em inglês?).

Também falarei de coisas para quem precisa de algum conhecimento a mais, editar alguns arquivos de configurações e fazer traquinagens diversas.

Como sou programador, linguagens de programação e afins não poderiam ficar de fora. Não iria citar nenhuma em especial porque espero falar de várias, mas terei coisas relacionadas a Python, Java, C/C++, Assembly etc. Sim, Assembly. Estou estudando Assembly por dois motivos: 1) não saber Assembly era (ainda é, na verdade) uma das minhas frustrações computacionais; 2) vou/estou precisar disso para o meu trabalho de conclusão de curso de Ciência da Computação da UERN.

Álias, o meu TCC é também uma contribuição para o uso do GNU/Linux e softwares livres em geral. Com certeza, muito que falarei aqui terá origem nesse TCC. Farei uma extensão na linguagem G-Portugol de forma que seja possível um curso completo de algoritmos em um sistema GNU com núcleo Linux.

Além disso, como o blogue é meu, darei meus pitados sobre a vida, o universo e tudo mais sem pedir licença pra ninguém. :p

Pela Internet a fora eu também posso ser encontrado nos seguintes serviços (sem nenhuma ordem em especial):

lastfmorkut_logotwitterdeliciousflickr

Certamente que não lembrei de outros, mas é só procurar por ‘adorilson’. Se achar, serei eu. Com um nome desses, para que se preocupar com sobrenomes ou gastar criatividade (que já é pouca) com apelidos? 😀

Logo este links estarão (eu acho) em um área ali na barra lateral. Como todo início de blogue que se preze, até o tema é o padrão da ferramenta, no caso o WordPress.

Bom, por hoje é só. Gastei uma tarde inteira praticamente um tarde com noite escrevendo isso (obviamente intercalado com outras coisas). Espero ser mais objetivo, produtivo e rápido nas próximas.

 
5 Comentários

Publicado por em 03/01/2009 em pessoal