Symantec Q&A – Enterrando de vez um banco de dados antigo

18 Julho, 2009

Achei que deveria escrever este artigo sobre esse banco de dados, para ajudar outras pessoas que algum dia possam ter o mesmo problema.
Como não encontrei muito pela internet sobre como converter os dados dele para algum banco de dados atual, escrevo aqui como fiz.
O Symantec Q&A (Questions & Answers) foi um banco de dados usado lá por meados de 1985-1990 e algo, e rodava em MS-DOS (credo).

Q&A

Recentemente comecei um projeto: estou desenvolvendo um sistema para uma empresa de venda de Navios, e esse sistema substituirá o Q&A por PHP/MySQL nessa empresa. Então tive que exportar os dados do Symantec Q&A deles para um formato que pudesse ser importado para o MySQL.

Como aqui no meu notebook uso o Arch Linux, primeiro abri o programa dentro do Prompt do MS-DOS no Windows XP instalado no Virtualbox. Depois, me lembrei do dosemu, que emula o MS-DOS no Linux, e me daria a possibilidade de abrir o Q&A sem precisar rodar o Windows XP no Virtualbox. Então instalei aqui o dosemu, e passei a utilizá-lo. Funciona da mesma forma que o Wine, ou seja, no Wine o comando seria “$ wine Programa.exe“; no dosemu, para rodar um programa, é da mesma forma: “$ dosemu Programa.exe“, e só.

Após rodar o Q&A pelo dosemu, para exportar o banco de dados de DTF (Formato do Q&A) para algum formato a ser importado para o MySQL, primeiro tive que ir em File->Utilities->Export data, e ali selecionei o formato dBase III. Em “Export to”, é só entrar com o filename para exportação e colocar a extensão .dbf (Extensão do dBase).

À partir daí, comecei a pensar em como abrir esse arquivo do dBase e exportá-lo para algo como .CSV ou .ODS (.xls do MS-Excel para os que não conhecem o OpenOffice.org).
Como no Arch Linux temos o ótimo AUR à nossa disposição, fui buscar algum pacote para fazer isso pra mim. Acabei encontrando os pacotes dbf e libdbf, que estavam como órfãos (Sem nenhum mantenedor). Então, notei também que o PKGBUILD deles estava com alguns erros, e acabei adotando esses pacotes, me tornando mantenedor dos mesmos, e pude modificar seus PKGBUILDs para ficarem corretos.

Após dar o $ makepkg e gerar os pacotes, com o simples comando

$ dbf –csv 1CLIENTS.csv 1CLIENTS.dbf

pude converter de dBase para .csv, podendo assim posteriormente abrir no OpenOffice.org, editar e organizar os campos.
Obs: –csv tem dois traços. O WordPress junta esses dois traços em um só, por isso ficou errado acima

Depois disso foi só modelar o banco de dados usando o PowerArchitect, criar as tabelas no phpMyAdmin, organizar tudo no OpenOffice e importar os arquivos .csv com os dados pelo phpMyAdmin.

Obs: Existe uma forma mais simples de converter o .dbf para .csv, que é abrindo o .dbf diretamente pelo OpenOffice.org Calc e salvando como .csv. Porém, fazendo isso alguns campos não ficaram tão corretos para mim. Então, preferi usar o .csv gerado pelo pacote chamado dbf.

Adeus Symantec Q&A.
Fiz uma boa ação ao mundo ;)


Jude, a IDE para modelagem UML, no Linux

14 Fevereiro, 2009

Hello people! Após quase um ano sem postar no meu blog, vi que ele continua sendo bastante acessado, e resolvi tentar voltar a postar nele.. tive que parar por falta de tempo (Faculdade, Estágio, etc..), mas agora vou tentar voltar a postar regularmente.

Enfim, esse semestre, tranquei minha faculdade (voltarei semestre que vem), pra poder fazer uma formação em Java na Infnet aqui no Rio de Janeiro, que é de Segunda a Sexta, de noite.. uns 3 meses e pouco.. essa formação contém 7 cursos:

- Projeto de Sistemas e Orientação a Objetos com UML
- Java Programming
- Java Web Applications
- Java Enterprise Applications
- Java Security
- Java Mobile
- Java Workshop

Mais sobre o curso:
http://tinyurl.com/dlw9fq

Então, como comecei essa semana o curso, comecei a ver UML.
O professor recomendou uma ferramenta para trabalhar com UML, chamada Jude, e nos passou a versão dela para Windows. Como eu uso Arch Linux aqui em casa, fui procurar saber se existia versão pra Linux.. Acabei descobrindo que ele é em Java, e no site tem disponíveis os arquivos .jar, ou seja, roda também no Linux. Obs: Não é OpenSource, é Freeware.

Site do Jude: http://jude.change-vision.com

Então, como um bom post para meu retorno ao mundo dos bloggers, resolvi escrever aqui sobre como fazer ele funcionar no Linux.

Instalando o Jude no Linux

Para poder baixar o programa, tem que ser feito o cadastro no site:
http://jude.change-vision.com/jude-web/download/index.html

Após ter se cadastrado e entrado na página de Download, procure onde tem o Jude Community, e baixe o arquivo ZIP, como por exemplo: jude-community-5_4_1.zip

Após feito o download, descompacte o arquivo e mova a pasta descompactada para /usr/local, por exemplo…

# mv jude_community /usr/local

Agora, abra seu gedit, kwrite, kate, vi, emacs, mousepad, leafpad, or whatever, e vamos criar um shell script pra inicializar o programa.

Esse arquivo que estamos criando tem que ter o seguinte conteúdo:

#!/bin/bash
java -jar /usr/local/jude_community/jude-community.jar &

Salve o arquivo com o nome “jude”. Vamos supor que você o salvou no Desktop.

Agora, temos que dar permissão pra esse arquivo poder rodar. Vamos fazer isso com o seguinte comando:

chmod +x /home/seunomedeusuario/Desktop/jude

Agora, vamos mover o arquivo pra pasta /usr/bin:

# mv /home/seunomedeusuario/Desktop/jude /usr/bin

Então, para rodarmos o programa, é só simplesmente apertar ALT+F2, e digitar jude

Depois também pode ser criado um ícone na área de trabalho e um no menu, as you wish.. Não abordei essa parte aqui, pois sempre abro pelo ALT+F2 mesmo.


Transformando site em Tableless

24 Julho, 2007

Resolvi fazer uma coisa interessante como passa-tempo nas minhas férias da faculdade.
Peguei um site q tinha sido feito no Dreamweaver, usando tabelas para o layout, e transformei em Tableless, pra seguir padrões do W3C (World Wide Web Consortium).

O site é esse: http://www.adbetel.com.br

Lembrando q eu não sou um Designer, pois se fosse, o site estaria melhor. Eventualmente cairei mais pro lado da programação do q pra design.

O site foi reformulado em XHTML Strict 1.0, e as tabelas antes usadas para seu layout e posicionamento, foram substituídas por posicionamentos através de CSS (Cascading Style Sheets). Também foram usados alguns códigos em PHP pra agilizar no processo de atualização do site, como na parte do informativo, q se atualiza sozinho, mostrando os eventos de acordo com o mês atual. Também foi usado JavaScript para agilizar a edição de alguns links das páginas.

Os únicos programas q eu usei foram:

- Quanta Plus (para escrever XHTML, CSS e PHP)
- GIMP (para edição de algumas imagens)

Tudo desenvolvido aqui no Debian GNU/Linux, e depois transferido pra um servidor Red Hat com Apache, PHP e MySQL.
100% livre (ou quase), pois precisei usar ainda umas antigas animações em Flash, q já estavam prontas desde quando eu usava Windows e fazia elas no Flash e no SwishMax.
Quando precisar mexer agora, usarei o Flash emulado no Linux, através do Wine.
O SwishMax não consegui emular ainda, mas não tem importância. Vou usar só o Flash, e tentar diminur o número de coisas em Flash no site. Fica mais rápido de carregar, mais leve.

Uma grande sacada, foi poder pegar umas imagens q tinham antes como botões, q davam efeito de rollover e tudo, e substituí-las simplesmente por links com background-color, através do uso do CSS.
Isso com certeza deixou o site mais rápido

Posso dizer q fazer um site todo, sem utilizar um editor visual (WYSIWYG), como o Dreamweaver, é bem melhor, pois o código fica mais limpo, mais legível, e mais organizado. O posicionamento através de CSS é muito mais preciso e interessante de se fazer, do q o por tabelas.

Um site q me ensinou muito sobre CSS e XHTML, foi esse: http://www.w3schools.com
Altamente recomendado!


Script para montar DVD no Debian Etch

3 Fevereiro, 2007

Estarei postando aqui uma pequena solução q criei para resolver de alguma forma um problema q está ocorrendo aqui no Debian Etch…

mais informações sobre o problema, estão nesse link:
http://www.forumdebian.com.br/topico-1520.html

O q acontece aqui no meu PC, depois de instalado o Debian Etch, é q eu tenho dois drives da LG…
um deles lê e grava DVD e CD (hdd)
o outro lê DVD, e grava CD, ou seja, é um combo… (hdc)

Quando colocado um DVD no hdd, o DVD monta automaticamente, abre a pasta com os arquivos q estão dentro dele, e mostra o ícone de DVD montado no Desktop.

Mas quando colocado um DVD no hdc, o DVD não monta automaticamente… é preciso abrir um terminal e dar o comando pra montar o DVD:

# mount /dev/hdc

Após pensar um pouco, decidi criar um script para fazer esse processo de montar o DVD automaticamente (ou quase), e abrir a pasta com o conteúdo.

—————————-Começa aqui——————————-

#!/bin/bash
# Por: Jonathas Rodrigues
# 03 de fevereiro de 2007
# Descrição: Script para fazer o Debian Etch montar e mostrar
# (usando o Konqueror) o conteúdo de um DVD colocado em hdc

# http://www.jonathasonline.cjb.net

echo
echo ‘Montando DVD em hdc’
echo
echo ‘——————————–’
echo
echo ‘Entre com a opção desejada:’
echo
echo ‘1 – Montar DVD em hdc’
echo ‘2 – Desmontar DVD em hdc’
echo
echo ‘Opção:’
read option
echo
echo ‘——————————–’
echo

if [ $option != 2 ]; then
echo ‘Montando DVD em hdc’
mount /dev/hdc
echo ‘Abrindo…’
konqueror /media/cdrom0
exit
elif [ $option != 1 ]; then
echo ‘Desmontando DVD em hdc’
umount /dev/hdc
exit
fi

—————————-Termina aqui——————————-

se vc enfrenta o msm problema q eu no seu Debian Etch, para fazer esse script rodar aí no seu PC, é só vc copiar o conteúdo ae após a linha “Começa aqui”, e antes da linha “Termina aqui”, abrir o seu editor de textos favorito ae, como o “Kwrite”, e colar. Salvar sem extensão msm, ou com a extensão “.sh”.
aí é só vc abrir o terminal, ir até o lugar onde está o arquivo q vc salvou, e alterar as permissões, para q ele se torne executável:

chmod +x arquivo (onde “arquivo”, é o nome do arquivo q vc salvou ae)

feito isso, é só vc executar o arquivo:

./arquivo


Ou vc pode baixar o arquivo pronto aqui:
mount-hdc.tar.gz

Obs: Script feito pra rodar no KDE, usando o Konqueror. Se vc usa o Gnome, onde tem escrito “konqueror” no código, substitua por “nautilus”.

É isso ae, pessoal.. até a próxima…