Tim Web em Acer Aspire 5720-6497 utilizando o Ubuntu 8.04

Agosto 22nd, 2008

Fiquei bem curioso a respeito da tecnologia 3G e sua usabilidade. Após uma certa reluta, acabei adquirindo o Minimodem Onda MSA501HS da Tim.
Para quem está costumado com alguns megas de banda, aconselho visitar o site da operadora e consultar os planos e localidades, pois a frequência ainda não chega a tanto, o que é óbvio. Porém para quem no máximo faz um streamer no youtube e consulta um pouco de documentação, está muito bom.
Após pesquisar um pouco, encontrei tutoriais que falharam, e alguns que me ajudaram a configurar e entender o funcionamento da conexão. O grande lance(e o que estava me deixando cansado) era fazer com que o Ubuntu reconhecesse o minimodem como modem e não como um disco. E como fazer isso ?? Através do udev. Ao iniciar o sistema o udev procura no /sys que dispositivos foram encontrados pelo Kernel e os adiciona /dev. O daemon continua rodando para adicionar novos dispositivos assim que estes aparecerem. O diretório das regras onde adicionamos arquivos de texto para dizer o que queremos fazer com cada dispositivo que é adicionado ao sistema é o /etc/udev/rules.d. Para saber mais, acompanhe aqui.
Voltando ao Minimodem, antes de plugá-lo ao seu computador, baixe o módulo usb_modeswitch e seu arquivo de configuração, colocando-os em seus respectivos diretórios. Instale também o wvdial.
Assim que fizer isso, crie esta regra em etc/udev/rules.d e salve-a como 10-onda-msa501hs.rules

ACTION!=”add”, GOTO=”ONDA_End”
# Is this the ZeroCD device?
SUBSYSTEM==”usb”, SYSFS{idProduct}==”2000″,
SYSFS{idVendor}==”19d2″, GOTO=”ONDA_ZeroCD”
# Is this the actual modem?
SUBSYSTEM==”usb”, SYSFS{idProduct}==”0001″,
SYSFS{idVendor}==”19d2″, GOTO=”ONDA_Modem”
LABEL=”ONDA_ZeroCD”
# This is the ZeroCD part of the card, change
# the usb_modeswitch kernel module to the
# right vendor e product
RUN+=”/usr/sbin/usb_modeswitch -d 1 -v 0×19d2 -p 0×2000 -V 0×19d2 -P 0×0001″
LABEL=”ONDA_Modem”
# This is the Modem part of the card, let’s
# load usbserial with the correct vendor
# and product ID’s so we get our usb serial devices
RUN+=”/sbin/modprobe usbserial vendor=0×19d2 product=0×0001″,
MODE=”660″, GROUP=”tty”
LABEL=”ONDA_End”

Agora plugue o minimodem esperando alguns segundos. Acompanhe esse movimento pelo:
sudo tail -f /var/log/messages (assim que plugar o modem), onde você terá algo parecido com:

Aug 22 21:13:33 Ermac kernel: [ 2120.239704] usb 3-1: new full speed USB device using uhci_hcd and address 6
Aug 22 21:13:33 Ermac kernel: [ 2120.247767] usb 3-1: configuration #1 chosen from 1 choice
Aug 22 21:13:33 Ermac kernel: [ 2120.249655] scsi7 : SCSI emulation for USB Mass Storage devices
Aug 22 21:14:02 Ermac kernel: [ 2122.529425] usb 3-1: USB disconnect, address 6
Aug 22 21:14:08 Ermac kernel: [ 2122.666821] usb 3-1: new full speed USB device using uhci_hcd and address 7
Aug 22 21:14:08 Ermac kernel: [ 2122.672047] usb 3-1: configuration #1 chosen from 1 choice
Aug 22 21:14:08 Ermac kernel: [ 2122.673853] usbserial_generic 3-1:1.0: generic converter detected
Aug 22 21:14:08 Ermac kernel: [ 2122.673988] usb 3-1: generic converter now attached to ttyUSB0
Aug 22 21:14:08 Ermac kernel: [ 2122.703560] usbserial_generic 3-1:1.1: generic converter detected
Aug 22 21:14:08 Ermac kernel: [ 2122.703657] usb 3-1: generic converter now attached to ttyUSB1
Aug 22 21:14:08 Ermac kernel: [ 2122.705896] usbserial_generic 3-1:1.2: generic converter detected
Aug 22 21:14:08 Ermac kernel: [ 2122.705958] usb 3-1: generic converter now attached to ttyUSB2

Para verificar se o driver foi configurado corretamente digite:
ls -l /dev/ttyUSB* e você terá:

crw-rw—- 1 root dialout 188, 0 2008-08-22 21:15 /dev/ttyUSB0
crw-rw—- 1 root dialout 188, 1 2008-08-22 21:14 /dev/ttyUSB1

crw-rw—- 1 root dialout 188, 2 2008-08-22 21:14 /dev/ttyUSB2

Feito isso(…eu sei, mas só assim nós aprendemos…), configure o discador editando o arquivo /etc/wvdial.conf:

[Dialer tim]
Init2 = ATZ
Init3 = AT+CGDCONT=1,”ip”,”tim.br”
Stupid Mode = 1
ISDN = 0
Phone = *99***1#
Ask Password = 0
Modem = /dev/ttyUSB0
Username = tim
Dial Command = ATD
Password = tim
Baud = 460800

Agora sim, vá ao terminal e faça a ligação (Certificando que o PIN do chip esteja desativado. De fábrica já vem assim).

gustavo@Ermac:~$ sudo wvdial tim
–> WvDial: Internet dialer version 1.60
–> Cannot get information for serial port.
–> Initializing modem.
–> Sending: ATZ
ATZ
OK
–> Sending: ATZ
ATZ
OK
–> Sending: AT+CGDCONT=1,”ip”,”tim.br”
AT+CGDCONT=1,”ip”,”tim.br”
OK
–> Modem initialized.
–> Sending: ATD*99***1#
–> Waiting for carrier.
ATD*99***1#
CONNECT

E pronto, você está conectado à rede 3G.

CRÉDITOS:
http://tiagomadeira.net/udev-e-suas-regras-maravilhosas
http://www.fre.eti.br/livio/2008/04/timweb-no-linux-onda-msa501hs.html

Modelando UML através do ArgoUML

Agosto 11th, 2008

Ultimamente venho dando uma “olhada” em UML para aprender a construir diagramas. Depois de um pouco de leitura, estava praticando com o Dia cujo é uma ótima ferramenta para modelar, possibilitando a construção de vários diagramas, porém nem todos disponíveis para a UML, onde esta possui 13 (UML 2). Como leitura e prática é a melhor forma de aprendizado, pesquisei sobre outras ferramentas CASE(Computer-Aided Software Engineering – Engenharia de Software Auxiliada por Computador), que são softwares que de alguma maneira colaboram para a execução de uma ou mais atividades realizadas durante o processo de Engenharia de Software. Hoje, a maioria das Ferramentas CASE suportam UML. Dentre as principais, encontrei duas livres: ArgoUML e Umbrello Uml.
Como a Umbrello utiliza a Qt e eu sou usuário Gnome, haveria um certo confronto, logo estou utilizando a Argo.
O projeto ArgoUML constitui-se em um projeto acadêmico, sob a licença BSD. No entanto, o projeto exige que quaisquer que utilizarem seus códigos como base para uma nova ferramenta com o intuito de algo proprietário, disponibilizem uma edição para a comunidade gratuitamente.
Ainda sim o ArgoUML não oferece suporte a todos os diagramas UML, alcançando 7 destes e não é tão completo como por exemplo a Rational Rose ou a VP-UML – ferramentas bem conhecidas pelo mercado de desenvolvimento - entretanto é uma ferramenta livre, não precisando de nenhum crack, ou uso determinado por certo tempo, e para uso acadêmico atende àqueles que estão aprendendo como é o meu caso e é bem superior ao Dia para modelar UML (não estou discriminando o Dia, pois o utilizo). Para quem se interessar, visite o site do projeto.

Começando em Ruby

Julho 21st, 2008

Com o término da faculdade, venho tendo mais tempo para aprofundar bastante leitura e prática em programação - foco em minha carreira profissional.
Após algumas pesquisas, pude notar que os programadores adotam uma linguagem padrão e uma linguagem “preferida”. A linguagem padrão que estou conhecendo além do que foi passado na faculdade é C (falta aprender algumas coisas ainda). No começo do ano, por indicação do Gabriel comecei a estudar Python, mas por algum motivo faltava algo. Pesquisei e “encontrei a pedra preciosa(…)” Ruby !
Utilizando algumas palavras do livro do Eustáquio Rangel ( Taq ) - uma das referências brasileira no assunto, e do Yukihiro Matsumoto ( Matz ) - Criador de Ruby, digo:
“Ruby é uma linguagem de script interpretada para programação orientada a objetos de um modo rápido e fácil. Ela tem muitos recursos para processar arquivos de texto, para fazer tarefas de gerenciamento de sistema, engenharia, programação comercial e etc. É simples, direto ao ponto, extensível, e portável.”
Matz admite que se inspirou em linguagens como Perl, Python e Smalltalk, porém queria uma linguagem mais orientada a objetos, que por exemplo Python.

Um exemplo seria:
5.times {puts “Ruby é fantástica”}
5.class -> Fixnum ; ou seja, 5 é uma instância da classe Fixnum. Em muitas linguagens, números e outros tipos de dados não são objetos. Em Ruby é atribuído métodos e variáveis de instância a todos os seus tipos de dados, provando sua quase totalidade em orientação a objetos.

A comunidade Ruby vem crescendo mundialmente, e agora que se tem o framework Rails (Logo logo, posto sobre o assunto) para programar aplicações web, a linguagem vem ganhando mais seguidores a cada dia. Desde que foi tornada pública em 1995, Ruby arrastou consigo programadores devotos em todo o mundo. Em 2006, Ruby atingiu aceitação massiva, com a formação de grupos de utilizadores em todas as principais cidades mundiais e com as conferências sobre Ruby com lotação esgotada.
Ah, é totalmente livre, o que significa não apenas a título de gratuidade, mas também a liberdade de usar, copiar, modificar, e distribuir.

Algumas características sobre Ruby;
Sobre a licença.

Para instalar, digite no terminal(Presumo que você esteja usando GNU/LINUX):
sudo aptitude install ruby rdoc ri ruby-gnome2 rubygems ,sendo rubygems um gerenciador de pacotes onde você pode baixar alguns módulos bem úteis para seus programas, ri para consulta através da documentação e ruby-gnome2 para desenvolver aplicações GTK.

Ficou curioso(a), pesquise mais no site oficial
Mais fontes:
* Comunidade Ruby brasileira;
* Documentação sobre a linguagem;
* Repositório de Módulos/Trechos de códigos de Ruby para download;
* Pratique Ruby pelo seu web browser;
* Ruby-GTK;
* Ruby-OpenGL.

Tutoriais:
* Apostila do Taq;
* Tutorial de Gustavo ( kov );
* Tutorial Chris Pine.

3 programinhas para download para inicializar em Ruby.

Até a próxima, Rubyanos !

Tabs everywhere ? Please, no!

Julho 12th, 2008

Eu particularmente não gosto do que tenho visto ultimamente: programas “Gnômicos” usando abas onde não é necessário, ou mesmo possível.
O primeiro programa que vi com abas foi o Nautilus, e já não gostei. O Nautilus possui o modo convencional, que permite comportamentos separados para cada diretório do filesystem, assim, a cada pasta acessada pode-se ter uma janela do Nautilus com tamanho e posição diferente, e também possui o modo browser, que é o que eu utilizo.
A coisa das abas no Nautilus não me fizeram sentido, mas achei até razoável. Mas eis que vejo a GCalctool com abas! Puxa! Pra que, alguém quer abas numa calculadora??

Quando já achava que tudo estava ficando “abado” demais, vejo o Banshee, o Totem e o Empathy com abas!
É… o mundo está perdido !
Um dos motivos de eu usar GNOME é pela sua preocupação com simplicidade para o usuário, usabilidade pura e simples. Mas poxa, realmente essas abas estão me deixando um tanto chateado…

Enfim, hoje vi um post muito engraçado do John Palmieri, que faz sátiras sobre toda essa situação “tabística” que o GNOME está adotando.

Atualizado!

Vi outro post aqui e outro aqui, ambos muito engraçados. O primeiro fala sobre o gnome-panel usar abas, o segundo propõe um método para a GtkWidget que automaticamente a faz usar abas. Hahahaha!

Atualizado denovo!

Putz! Eu nem notei que exceto o Nautilus, todos os outros foram apenas brincadeiras… ufa!
Valeu JDahlin e todos os outros que comentaram.

Colação de Grau

Julho 11th, 2008

Revisão histórica de uma data importante!

Quando comecei o curso de Tecnólogo em Gestão de Software Livre, não esperava que minha visão do mundo tecnológico, da computação principalmente fosse mudar. E esta mudança e amadurecimento foi acompanhado pela possibilidade de trocar informações e fazer grandes amigos. Foi no curso, que hoje se chama Gestão da Tecnologia da Informação, que nasceu o Nação Livre, frutos dos amigos Gabriel, Julio, Michael e Matheus, este ultimo ausente deixando espaço para o amigo Gustavo.

Vale lembrar a curta participação do Antônio Hezir.

Hoje estarão colando grau, Eu, Gustavo, Michael e Gabriel. Realmente parece que somos outros, mais maduros e capazes de ir adiante com as idéias que não deixam de surgir em nossas mentes.

Parabéns a todos!

julio-convite.jpg