terça-feira, fevereiro 19, 2008

Dev-PT - Desenvolvimento de Software em Português

Nasceu o Dev-PT.net, um blog de programadores para programadores, onde serão abordados temas relacionados com a Engenharia de Software. Se estão interessados no tema, visitem e dêem o vosso feedback.

Aproveito para relembrar que este blog já mudou de endereço para blog.rogeriopvl.com !

terça-feira, fevereiro 12, 2008

New Home

O blog mudou de endereço para http://blog.rogeriopvl.com, mais informações no endereço indicado. Actualizem os vossos bookmarks please :) e feeds também.

quarta-feira, fevereiro 06, 2008

terça-feira, fevereiro 05, 2008

Mudanças II

Com isto das mudanças acabei por ter mais trabalho do que o esperado. No novo alojamento vou utilizar Wordpress como plataforma para o blog.

Acontece que os posts importados directamente do blogger não respeitam os standards W3C. Pode parecer preciosismo da minha parte, mas é importante para mim que o blog tenha o XHTML e o CSS válidos, por motivos que não vou agora descrever (leiam este artigo e este para perceberem).

E devido a isto vou acabar por demorar um pouco mais do que o esperado a repor o blog em actividade na sua nova casa, pois irei fazer uma selecção dos posts mais relevantes e editá-los manualmente de modo a retirar todas as tags xhtml / html inválidas colocadas pelo editor de posts do blogger.

segunda-feira, fevereiro 04, 2008

Mudanças


De momento o open core encontra-se em mudanças para um domínio e alojamento dedicado. Por isso os posts vão ser poucos, mas brevemente haverá novidades.

quinta-feira, janeiro 31, 2008

Controlar as portas abertas no sistema

Para controlar as ligações que o computador estabelece e/ou saber as portas que estão a escutar por ligações num sistema Linux:

sudo netstat -tulp

Com este comando obtemos uma listagem das ligações. Este comando já é conhecido pelos utilizadores de windows (não sei se os argumentos serão os mesmos).

Existe outro comando mais complexo mas bastante poderoso na informação que oferece:

sudo lsof -i -n | egrep 'COMMAND|LISTEN|UDP'

Com este conjunto de comandos a informação é mais detalhada e melhor organizada. O comando principal é o lsof. O egrep apenas serve de filtro para o output conter apenas a informação que nos interessa. Este é o meu favorito juntamente com este:

sudo nmap -vO localhost

Este comando é nada mais nada menos que um port scanning à própria máquina. Provavelmente uma das melhores maneiras de saber que portas a máquina tem abertas. O parâmetro O é para tentar adivinhar o sistema operativo que está a correr na máquina, o que é sempre interessante. Além de localhost podem fornecer como argumento o IP da rede interna, se estiverem numa, ou também fornecer o IP externo. De notar que se puserem localhost  ou endereço interno poderão ver portas que externamente não se encontram abertas.

Nota: como já devem ter reparado pelo sudo, todos estes comandos para funcionarem na totalidade necessitam de privilégios root na máquina onde são executados.

quarta-feira, janeiro 30, 2008

Comunicar através do proxy no terminal

Quando uma máquina se encontra atrás de um proxy e é necessário utilizar o terminal para aceder a comandos que utilizam a rede (o apt por exemplo) faz-se o seguinte no mesmo terminal:

export http_proxy="http://username:password@endereco_proxy:porta"
export https_proxy="http://username:password@endereco_proxy:porta"
export ftp_proxy="http://username:password@endereco_proxy:porta"

Esta configuração apenas ficará válidade para a sessão corrente. Assim que o terminal for fechado as configurações perdem-se. Para o caso de necessitarem de manter  essas configurações basta adicionar estas linhas ao ficheiro .bashrc e reiniciar a consola.

segunda-feira, janeiro 28, 2008

Cores no vim em Mac OS X

Para habilitarem as cores do vim (syntax highlighting) no terminal do Mac OS X (qualquer versão deverá funcionar), basta criar na vossa home o ficheiro .vimrc e inserir o seguinte no mesmo:

syntax on

Para mudar o tipo cores (existem cores para fundo escuro e fundo claro, facilitando a visibilidade das mesmas de acordo com o fundo) basta adicionar a seguinte linha ao ficheiro:

set background=dark

Aqui podem colocar dark ou light ao vosso gosto. E finalmente se gostam de programar com o vim podem também habilitar a opção para indentar código:

set autoindent

Agora basta gravarem o ficheiro e abrir o vim no terminal, ele vai ler o ficheiro ao iniciar, e efectuar as configurações definidas :)

PS. Isto também funciona para qualquer sistema *nix.

Mais informação:

domingo, janeiro 27, 2008

Mac OS 10.5 Leopard - Os bugs encontrados


Estes foram os bugs que encontrei ao fim de uma semana de utilização do recente Mac OS 10.5 Leopard, para o qual a Apple já tem previsto um update (10.5.2) com cerca de 450Mb.
  • O primeiro foi logo encontrado na segunda vez que descarreguei por completo a bateria. O Macbook em vez de fazer sleep quando a bateria descarregou, fez shutdown forçado, fazendo-me perder tudo o que estava a fazer. Isto aconteceu cerca de 3 vezes. A partir daí quis poupar a máquina de shutdowns forçados e passei a ligar o carregador assim que o aviso de bateria fraca aparecia. Por mais estranho que pareça, testei um dia mais tarde e não voltou a acontecer até hoje...
  • O segundo, que provavelmente é relacionado com o primeiro, o sistema que indica a carga da bateria não acerta nem por sombras do tempo restante de bateria nem o tempo restante para carregar por completo a bateria. Má gestão de energia por parte do Leopard? Checked. Digo isto porque depois de uma pesquisa encontrei pessoas a queixarem-se do mesmo, tendo apenas acontecido após o upgrade do Tiger para o Leopard.
  • Terceiro, no Thunderbird e Firefox, o ponteiro do rato tem um comportamento estranho ao passar repetidamente por texto. Fica durante uns milisegundos com o dobro do tamanho e desfocado. Além de que o Firefox por si só tem um comportamento pouco fluído, o que para já me faz utilizar o Safari como browser de eleição em Mac OS.
  • Quarto e último, o problema que já tinha referido sobre os ficheiros .dmg não ejectarem e misteriosamente não volta mais a acontecer depois de um reboot.

Este foram os únicos bugs com que me deparei até agora, não são muitos mas os primeiros que mencionei são um pouco graves (mas habituais?) quando se fala de um produto vindo da Apple.

Em relação aos problemas com a bateria no Leopard também existe a possibilidade de o problema ser mesmo da bateria e não do sistema operativo, e por esse mesmo motivo vou estar atento, para no caso de essa possibilidade se confirmar ir direito à loja :)

De resto posso dizer que o Leopard tem coisas muito boas como por exemplo as Stacks, que a vida sem elas já parece mais complicada :D, a Time Machine que apesar de ainda não a ter usado parece-me muito bem conseguida, o Spaces que era algo que eu já procurava à muito no Mac OS (no Tiger tinha uma aplicação parecida, mas esta é muito melhor), e a rapidez de resposta geral do OS. Entretanto também já me habituei à transparência da menu bar e à dock 3D.

Venha de lá esse update!

Irssi + Screen + SSH = IRC em todo o lado

O Irssi é um cliente de IRC open source que corre em modo de texto e consequentemente bastante leve no sistema. Como tal tem sido muito utilizado para ficar a correr 24h por dia numa máquina e acessível exteriormente por SSH.

Como é possível aceder exteriormente ao irssi que temos a correr naquele momento na máquina? Utilizando o comando Screen. O Screen quando chamado com um programa como argumento faz com que esse programa possa ser passado na íntegra para uma sessão remota. Quando digo na íntegra quero dizer que o que fizermos e escrevermos remotamente, está a ser escrito na máquina que corre o programa e pode mesmo ser visto em tempo real.

Mas isto apenas é possível se tiverem instalado um servidor SSH e fizerem port-forwarding da porta no router. Brevemente também irei falar sobre configurar de modo seguro o SSH server.

Passando à prática, o que precisamos então é de ter o screen instalado (já vem por omissão no Ubuntu Gutsy 7.10), precisamos também do irssi e do servidor SSH a correr (como já referi, sobre este falarei noutro post).

Depois de tudo instalado fazemos na linha de comandos:

screen irssi


O programa abre e a partir de agora passa a ser possível aceder à sua utilização remotamente, para isso basta fazermos SSH à máquina e depois assim que aparecer a shell, escrever:

screen -x


E agora sim, estão a ver o irssi tal e qual como ele está a correr no vosso servidor, podendo utilizá-lo. Isto tem várias utilidades e uma delas é poderem utilizar o IRC no trabalho ou na faculdade caso o protocolo seja bloqueado :)

Precisam de correr irssi de forma anónima (como já foi falado para o x-chat no post sobre o tor)? O irssi não suporta proxies SOCKS, mas o tor tem uma ferramenta que resolve o problema:

screen torify irssi


O torify é um simples wrapper que faz com que as comunicações do irssi passem pelo proxy anónimo do tor.

Have "phun"!

sábado, janeiro 26, 2008

Arte para geeks


Este profile do flickr dedica-se a fazer montagens de obras de arte mundialmente conhecidas de modo que sejam facilmente compreendida pelos geeks.
Algumas delas estão hilariantes e até mesmo compreensíveis por non-geeks.

Aqui fica o link para a galeria:
- http://smallr.net/artforgeeks

sexta-feira, janeiro 25, 2008

Ficheiros .dmg que não ejectam no OS X Leopard

Não conseguem ejectar um ficheiro .dmg no Leopard por muito que tentem? Este é um dos muitos bugs do Leopard, e niguém sabe como nem porquê, mas este bug só acontece uma vez e depois desaparece por completo... pelo menos até agora.
Se por muito que cliquem no eject para desmontar um .dmg, ele insiste em ficar no ambiente de trabalho e no Finder basta abrirem um terminal e fazer:

hdiutil detach /Volumes/nome_do_dmg/


E pronto, mais uma vez a linha de comandos resolve :) Assim que tiver tempo vou postar uma "pequena" lista de bugs que tenho encontrado até agora no Mac OS X Leopard (10.5).

Nota: Nalguns casos um reboot também resolve o problema, mas caso não tenham paciência para reboots nem queiram perder muito tempo, a linha de comandos is the way to go!

quarta-feira, janeiro 23, 2008

Gravar CD/DVD na linha de comandos em Linux

Em continuação do post anterior, se quisermos gravar a imagem criada para um CD ou DVD, basta então executar o seguinte comando no terminal:

cdrecord -v -pad speed=1 dev=0,0,0 imagem.iso


Podem omitir o parâmetro dev. Nesse caso é utilizado como destino da gravação o device que estiver na variável ambiente CDR_DEVICE.

segunda-feira, janeiro 21, 2008

Criar e montar ISO's em Linux / Unix

Não esperem que vos vá falar de um programa todo bonitinho clone do Nero que vos faça a papinha toda.
Criar ISO's em Linux é muito mais simples e eficaz utilizando a linha de comandos.

Basta para isso abrir então o dito terminal e utilizar o comando dd. Assim desta forma:

dd if=/dev/dvd of=ficheiro.iso


Mais simples que isto é impossível. O if significa o input file. Em Linux / Unix tudo é considerado um ficheiro, incluindo um cd-rom ou uma impressora. Por isso no parâmetro if é só por o que desejam copiar. O of significa output file ou seja, será a imagem criada do input file. O /dev/dvd é o caminho para o ficheiro que representa a drive de DVD's, isto é se tiverem uma instalada. Poderão também usar /dev/cdrom ou /dev/sda1 (disco), podem ser inúmeras opções.
Com esta simplicidade é possível fazer backups de discos inteiros utilizando este comando.

De seguida podem fazer o mount dessa ISO como se de um CD se tratasse, sem precisarem de gastar um CD. Basta para isso fazer:

mount -o loop -t iso9660 ficheiro.iso /pasta_do_mount


É preciso ter em atenção que a pasta onde vão fazer o mount da ISO tem de existir, caso contrário o comando não funcionará.

sábado, janeiro 19, 2008

Nova aquisição - Macbook Black


Foi desta que fiz o upgrade ao meu iBook G4, que apesar de não ser muito velho (2 anos) já estava a precisar de reforma. Colocar mais memória era uma boa hipótese, mas dada a dificuldade para encontrar memória para um Mac com PowerPC (processador IBM), os seus preços absurdos e também o facto de os novos Macbooks serem máquinas com bons processadores e bastante atraentes, não hesitei muito na altura de comprar.

Depois veio a parte difícil. Escolher a cor do Macbook. Passado muito tempo a decidir e com algum incentivo da minha menina, acabei por escolher a versão em preto, pois já estava farto do branco ao fim de 2 anos a usar o iBook. A diferença de preços só pela cor não se justifica (a versão em preto tem mais 40Gb de disco), mas para a Apple a tinta preta paga-se mais caro :P


Falando da máquina, é bastante boa, o processador core 2 duo 2.2Ghz deixa os G4 a comer pó e 1Gb de ram para já é mais que suficiente para o Leopard deslizar à vontade, mesmo cedendo 144Mb para a gráfica (partilhada). No entanto acho que a Apple podia muito bem deixar de ser "comilona" e colocar os 2Gb por defeito.



Este post já foi escrito no novo brinquedo, e ainda estou em processo de descoberta do Leopard (aquela menu bar transparente... sucks!) e nos próximos dias vai ser para reposição do software que já tinha no iBook.

Nota: curiosamente fiquei a saber que sem o Quicksilver fico um pouco à nora em Mac OS, logo foi a primeira app a ser instalada :)

Mais fotos no meu Flickr: http://flickr.com/photos/rogeriopvl/

sexta-feira, janeiro 18, 2008

XSS - Demonstração em vídeo

Este link vem do blog do professor Miguel Correia do qual já fui aluno na cadeira de Segurança.

Trata-se de um vídeo que mostra como funcionam alguns tipos de ataques XSS, dos quais já tenho falado ao longo deste blog.

E o principal propósito do vídeo é alertar os web developers para algo que nunca é demais realçar: nunca confiar nos dados que vêm do exterior da aplicação, nunca confiar nos inputs dos utilizadores, tratar sempre esses inputs. E isto serve também para os programadores.

Link para o vídeo:
http://smallr.net/inside_xss

xserver-xorg-core - 403 forbidden

Para quem usa Ubuntu, já deve ter reparado que hoje durante a tarde surgiram novos updates e provavelmente obtiveram um erro ao tentar descarregar um dos pacotes, o xserver-xorg-core.

W: Falha ao obter http://security.ubuntu.com/ubuntu/pool/main/x/xorg-server/xserver-xorg-core_1.3.0.0.dfsg-12ubuntu8.1_i386.deb
403 Forbidden


Isto acontece porque foi bloqueado o acesso ao pacote devido a existirem conflitos com alguma aplicações, mais frequente com aplicações Java. Neste momento já está a ser corrigido o problema e não deverá demorar muito até poderem completar o update.

Aqui fica o link para a informação relativa a este problema no launchpad.

quarta-feira, janeiro 16, 2008

SUN compra MySQL

A SUN comprou a base de dados open source mais utilizada no mundo - MySQL - por, imaginem só, 1 bilião de dólares. Isto é um enorme passo para a empresa que assim entra directamente no top do mercado das DBMS e igualmente outro importante passo para o MySQL e o software livre.

Aqui fica o link para a notícia completa:
http://mysql.com/news-and-events/sun-to-acquire-mysql.html

Agora é só esperar que a SUN continue do lado dos "good guys".

terça-feira, janeiro 15, 2008

Macworld sem grandes surpresas


Já terminou a Macworld e parece que um dos grandes rumores sempre se veio a confirmar, estragando um pouco o efeito surpresa.
Macbook Air é o novo brinquedo da Apple e surpreende bastante pelo seu aspecto ultra fino.

Aqui vão as características:

  • 1.3 Kg de peso
  • Multitouch pad
  • 1.6 GHz Standard, 1.8 GHz Option — Intel Core 2 Duo
  • 80 GB hard disk standard ou 64 GB SSD (mais $900)
  • 1.8" Hard Drive
  • 45 Watt MagSafe
  • 1 USB 2.0 port
  • Micro-DVI
  • Audio Out
  • 802.11n + Bluetooth 2.1/EDR
  • Bateria com duração 5 horas
  • 2 GB Memory standard
  • A partir de $1799

Parece-me um preço razoável para um portátil com estas características, dado que outras marcas têm parecidos (não tão finos) por bastante mais.

A falta de drive DVD pode parecer uma grande desvantagem, mas no fundo se formos ver cada vez menos se utilizam. As pens e discos externos vierem tomar conta do armazenamento móvel.

Uma desvantagem certa é o facto de apenas ter uma porta USB, se bem que o conceito deste portátil acenta no uso completo de tecnologias wireless.

Ainda não vi o vídeo da keynote mas pelo que já li soube a pouco, e pessoalmente gostava que o rumor dos Macbook silver fosse verdade.

Vídeos:
- Anúncio do Macbook Air
- Macbook Air guided tour

segunda-feira, janeiro 14, 2008

Macworld 2008

Amanhã por volta das 17h em Portugal iremos saber então que novidades traz a Apple pelo "ar"...

Podem acompanhar em directo os relatos por escrito em www.macworld.com e depois do evento ver os vídeos no site da apple.