quarta-feira, 19 de dezembro de 2007

Still a git...

Continuo com o git, andei a ver várias páginas no site do bazaar que não conhecia (o mercurial já conhecia) e tomei conhecimento a partir de um comentário no post anterior sobre o git, houve coisas que me afastaram do bazaar, por exemplo na página de comparação com o git diz "Directories are branches, not branch containers", uma das coisas que me agrada muito no git, o facto do bazaar ser feito em python que apesar de ser uma linguagem que me agrada bastante e que lhe permite um crescimento rápido em comparação com o git (se bem que pelos vistos numa direcção que não é a que mais me agrada) mas que digam o que disserem não terá a performance de uma aplicação em C.

Nos servidores como uso o gentoo basta fazer o emerge para ter uma versão 1.5.3.x do git, mas no meu desktop ubuntu ainda só está disponível a versão 1.5.2.x, como o git é uma aplicação em forte desenvolvimento, existem algumas features importantes na versão 1.5.3 que não estão disponíveis na 1.5.2, e como a documentação está bastante actualizada ao contrário do que pensei inicialmente (regra geral a documentação anda sempre umas versões atrás) estava sempre a esbarram em coisas que não funcionavam como descrito. Quando me apercebi do motivo fui tentar ver o que encontrava para ter a versão 1.5.3 no ubuntu e descobri esta página que explica como o fazer. No entanto a versão que é usada já não se encontra no servidor (http://ftp.debian.org/debian/pool/main/g/git-core/git-core_1.5.3.5-1.dsc). Por isso fui à directoria confirmar as versões disponíveis e descobri que a mais recente é a git-core_1.5.4~rc0-1.dsc mas esta falhou a compilação porque parece que necessita de um patch para conseguir passar um dos testes. Depois tentei a versão git-core_1.5.3.7-1.dsc que também falhou com um erro pouco explícito e sobre o qual não consegui descobrir muita coisa. Finalmente acabei por conseguir com a versão git-core_1.5.3.6-1.1.dsc, para aqueles que não precisem de integração com o SVN aconselho a usar a flag NO_SVN_TESTS pois estes testes demoram algum tempo (e num dos computadores onde compilei falhou um destes testes):

NO_SVN_TESTS=1 sudo dpkg-buildpackage -rfakeroot -us -uc

Já agora relembro que apesar de nos exemplos não haver "sudo"s pelo menos os passos 1, 4 e 5 precisam dele (no meu caso o passo 2 precisou pois estava a escrever em /usr/local/src).
No final é só instalar os .deb que são gerados.

Já agora aqui fica o vídeo da palestra que o Linus deu no google tech talk sobre o git:

domingo, 16 de dezembro de 2007

You'r a... git

Já tentei várias vezes, todas elas sem grande sucesso utilizar algum sistema de controlo de versões. Existem vários motivos que levaram a que essas tentativas não tenham tido sucesso.
Primeiro tentei implementar o CVS, não só os meus conhecimentos do CVS contribuiram para que nunca chegasse a bom porto, como a resistência daqueles que "não têm tempo" acabou por enterrar de vez a ideia.
Mais tarde, quando ouvi falar pela primeira vez de um fork do CVS chamado Subversion voltei à carga, de novo foi um falhanço pelos mesmos motivos do anterior.
Desta vez estou a tentar o git, já consegui com algum sucesso colocar um repositório em funcionamento, para a minha maneira de ver as coisas, parece-me mais intuitivo e foi mais fácil perceber a lógica por trás daquilo. Já consegui colocar isto em andamento num dos projectos em que estou envolvido, vamos a ver se nos outros a tal "resistência" não leva a melhor.

Para compreender e conhecer este git, alguma documentação deu uma grande ajuda, por exemplo este tutorial muito sucinto e straight to the point. O Git in a Nutshell é um pouco mais extenso mas também deu uma grande ajuda.
Agora vou ver como é que o emacs se porta com o git mode.

domingo, 9 de dezembro de 2007

mod_python

Tenho estado a fazer experiências com o mod_python e uma das dificuldades com que me deparei foi em apanhar raw posts. O problema no mod_python começa por aquilo não ter como objectivo criar uma maneira simples de programar para web mas sim integrar o interpretador no apache e assim não ter as perdas de tempo do system call que é o cgi.
Inicialmente é uma confusão de handlers e formas diferentes de o utilizar, o que afasta os mais fracos e explica a fraca aderência.
O grande mal do mod_python é exactamente não ter sido feito exclusivamente para programadores, para usar mod_python é preciso saber mexer nas configurações do apache e mais especificamente aquelas que o próprio mod_python implementa, e exige portanto conhecimentos de administração de sistemas.

Quanto ao problema que tive era o seguinte: quando chegava ao meu script e fazia um req.read() que é suposto devolver o raw post, este devolvia uma string vazia. O req.form trazia o POST e o GET processados (o POST todo mal processado já que o POST não vinha num formato que podesse ser decomposto em variáveis) o que dava a ideia que o próprio mod_python já tinha consumido o que havia para ler. A configuração que estava a utilizar era a seguinte:


<Directory /var/www/test>
AllowOverride AuthConfig
Order allow,deny
Allow from all

DirectoryIndex index.py
SetHandler mod_python
PythonHandler mod_python.publisher
PythonDebug On
</Directory>


Tentei ainda a seguinte configuração sem resultados:


<Directory /var/www/test>
AllowOverride AuthConfig
Order allow,deny
Allow from all

AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On
</Directory>


Depois de enviar um mail para a mailling list do mod_python fiquei a saber que utilizando o publisher handler não é possível apanhar raw posts e que devia definir para os ficheiros que precisem de o fazer um handler básico de mod_python, no meu caso isto não ajuda muito pois tenho um index.py que faz a gestão dos pedidos e não um ficheiro por página por isso criei uma subdirectoria chamada "comm", permiti o override na configuração do apache:


AllowOverride AuthConfig FileInfo


Dentro da directoria coloquei um ficheiro .htaccess com o seguinte:


SetHandler mod_python
PythonHandler index
PythonDebug On


Assim tenho um ficheiro index.py que controla todos os pedidos para esta directoria e no qual já consegui apanhar o raw post, este handler básico deixa uma série de coisas à responsabilidade do programador, tais como o content-type e o código de resposta.
Desta forma consegui construir uma estrutura onde um handler mais avançado controla as páginas mais básicas e um handler mais básico controla as páginas que precisem de comunicar com o exterior através da recepção de dados por POST, como por exemplo SOAP ou a recepção de um binário por POST (não confundir com o upload de um ficheiro num form).

quinta-feira, 8 de novembro de 2007

Gutsy

Já o tinha instalado no computador do trabalho, mas por upgrade ao 7.4, ontem instalei em casa, mas de raiz. O gutsy gibbon parece-me a melhor versão do ubuntu até agora. O CD de arranque é rápido e a instalação durou a 2ª parte do jogo do Sporting. As aplicações que tive oportunidade de experimentar, como por exemplo o firefox e o totem, este último normalmente identificado como "movie player", têm uma excelente integração com o sistema, utilizando inclusive o synaptic para instalar coisas como o plugin de flash ou codecs em falta.

sábado, 27 de outubro de 2007

Everybody Else Is Doing It, So Why Can't We?

E é assim que começo a falar também do google pagerank. Em junho deste ano, coloquei online um site para um cliente (Pharmastore), cerca de um mês depois de registado o domínio e no dia seguinte ao ser ter sido colocado online, resolvi verificar o PR da homepage deste site. Qual não é a minha surpresa ao descobrir que esta tinha PR 5. Como o site não tinha conteúdos relevantes, era só um catálogo de produtos, contactei o dono do site para tentar perceber o que tinha acontecido. A conclusão a que chegamos é que provavelmente teria sido por ele ter começado uma campanha no AdWords.
Para tornar mais enigmática esta situação, um mês mais tarde coloquei online outro site, muito no mesmo género. Desta vez o Estética Online, este com um pouco mais de conteúdos mas também ele principalmente um catálogo online. O tempo ia passando e o site continuava sem PR atribuído. Para piorar as proporções da minha teoria da conspiração este não tinha feito campanhas no AdWords.

Agora com estas alterações estou convencido que o PR exagerado do primeiro site terá sido um bug do algoritmo de PR do google e que a demora de atribuição de PR ao Estética Online, bem como a outros sites que coloquei online depois, se deveu à actualização que o google estaria já a preparar.
Actualmente ambos os sites têm PR 3, e o Repeat Until Keypressed que tinha um PR 4 também baixou para 3.
O Games Online continua sem PR atribuído, o que acaba por ser positivo já que o site ainda está muito nu de conteúdos e se o PR demorar quase seis meses a actualizar como parece ter acontecido desta vez mais vale não estar classificado do que ter um 0, digo eu.

terça-feira, 16 de outubro de 2007

O baldinho

Foi, é ou vai ser uma iniciativa que incita a que os blogs escrevem um post relacionado com ecologia, pelo menos parece porque tenho visto vários blogs a falar do tema com um bannerzinho a dizer "blog action day" no final do post.

Por isso mesmo aproveito e falo de uma coisa que faço e que me parece ter uns resultados interessantes. Actualmente utilizo um balde onde recolho a água que sai do chuveiro antes de esta aquecer. Num dia, guardando essa água que sai fria antes de começar a tomar banho, em minha casa, duas pessoas, conseguimos recolher cerca de 10 litros de água. Essa água pode ser utilizada para regar plantas, descarregar autoclismos, lavar embalagens de iogurte para reciclar, ser colocada no recipiente de água para limpar os vidros do carro, etc...
Ao fim de um ano conseguiremos gastar menos cerca de 3600 litros de água, e junta-se o útil ao agradável poupa-se os € que iriam para a companhia das águas em troca de ter água a escorrer para o ralo enquanto olhamos para ela à espera que aqueça.

sábado, 13 de outubro de 2007

Questão aos leitores

O jogo que desenvolvi em forma de applet JAVA terá alguns bugs que conheço e outros que não conheço e na sua maioria tenho uma ideia do que fazer para os corrigir, sendo que alguns são mesmo só questões de usabilidade ou coisas que não foram ainda implementadas por opção (como por exemplo os highscores).

Mas...há um "bug" que já testei em 3 computadores diferentes e browsers diferentes e que acontece sempre e que não tenho a certeza se será meu ou da própria classe Applet. Este tipo de coisas costuma ser culpa do programador, mas o código em questão é tão simples que até fico em dúvida.

A questão é a seguinte, se eu colocar o seguinte código na minha aplicação:

private Font myfont;

...

myfont = new Font("Arial",Font.BOLD, 22);
gBuffer.setFont(myfont);
gBuffer.drawString("Hello World", 10, 10);

A primeira vez que executar este código a applet fica cerca de 20 segundos parada e só depois faz alguma coisa. Isto pode ser visto se depois de iniciar o jogo se entrar nos créditos (estes são feitos com um drawString) ou na área de jogo (os pontos e o tempo são feitos com drawString).
Já experimentei mudar a fonte e o resultado é o mesmo.

Será que alguém já se deparou com esta situação e tem alguma dica que possa partilhar?
Desde já agradeço.

sexta-feira, 12 de outubro de 2007

Os Jogos

Já coloquei online o primeiro jogo que desenvolvi nos últimos anos e que é também o primeiro programa que alguma vez desenvolvi em JAVA. O jogo foi compilado com o JAVA 1.5, quem tiver versões mais antigas não o vai conseguir ver. Entretanto pode ser que um dia eu consiga colocar as duas versões a funcionar no meu computador, actualmente a 1.4 que tenho foi instalada numa tentativa vã de fazer o tomcat funcionar, o que nunca se concretizou, por outro lado se invocar o compilador da versão 1.4 tenho erros que me parecem causados por o compilador estar à procura das libs nativas e encontrar as da versão 1.5 em vez das libs da versão 1.4.

Problemas do JAVA aparte, convém dizer alguma coisa acerca do site dos jogos. O site parece e de facto está incompleto e isso tem a ver com os objectivos e filosofia por detrás do site.
A ideia é eu e o tal amigo que referi e que também está envolvido no projecto como programador como se pode ver pelo blog dele, vamos desenvolvendo jogos por diversão. Para que os jogos não vão sendo abandonados a meio do desenvolvimento vamos-los publicando assim que eles estão minimamente jogáveis.
A área de notícias "news", deverá ter os anúncios dos projectos que vamos fazendo e também detalhes sobre o que falta fazer nesses projectos. As notícias mais recentes sobre cada jogo deverão aparecer na página do jogo. Essa área não funciona ainda porque o programador que está a fazer essa parte foi de férias e não chegou a terminar o software.
Algo parecido se passa com as notícias externas, mas desta vez tem a ver com o suporte python por parte do alojamento.

Em relação à área de jogos flash é possível que desapareça... ou não, já que outro amigo nosso, desta vez alguém com jeito para o desenho e com conhecimentos de flash se junto a nós como pode ser visto nos créditos do jogo que publiquei.

A filosofia do site segue a filosofia dos jogos, ou seja "não está pronto? não faz mal, publica-se à mesma e vai-se logando o desenvolvimento." para evitar o síndroma das coisas que ficam por fazer ad eternum. Neste momento como a secção de notícias ainda não funciona é difícil passar esta ideia, mas assim que funcionar todos os desenvolvimentos serão lá registados.

Common People

Para quem acha que sempre que o William Shatner abre a boca sai asneira, aqui fica um vídeo da magnífica versão que ele fez do Common People dos Pulp.

quinta-feira, 4 de outubro de 2007

Post Mix II



Desde que há uns anos o Scott Adams publicou este cartoon que frequentemente alguém mo faz voltar à memoria ao tentar "envenenar-me" expondo-me a um dos interfaces ali satirizados. Admito que os meus se enquadram nesta categoria, mas tenho tentado fazer por alterar esta situação. Hoje li um artigo sobre escolha de cores que me parece uma boa ajuda para minimizar os casos de envenenamento por exposição aos UI's feitos por mim.

Num tópico totalmente diferente, e para aqueles que estão mais interessados em tornar os seus UI's ainda mais tóxicos, podem sempre aprender uma nova linguagem ou melhorar os conhecimentos numa que já conheçam por alto.

Andava à procura de uns screenshots do Tetris original para PC, que é, para quem não se lembra, feito em modo texto, e encontrei uma página sobre o tetris orginal onde se pode fazer o download dessa mesma versão.

quarta-feira, 3 de outubro de 2007

Scribes

Tenho andado a usar o emacs nos últimos tempos e acho-o simplesmente espectacular. Mas hoje descobri um editor que é descrito como o "textmate" para python em Linux, o Scribes. Ainda não o experimentei mas este post é sobre a instalação e não sobre o editor em si.
Assim que comecei a tentar compilar em ubuntu tive um erro que já não é novidade, já me apareceu antes e é o seguinte:

$ sudo make
Making all in po
make[1]: Entering directory `/usr/local/src/scribes-0.3.2.9/po'
file=`echo de | sed 's,.*/,,'`.gmo \
&& rm -f $file && -o $file de.po
/bin/sh: -o: not found
make[1]: *** [de.gmo] Error 127
make[1]: Leaving directory `/usr/local/src/scribes-0.3.2.9/po'
make: *** [all-recursive] Error 1

Como se pode ver nos fóruns do ubuntu, a solução passa por instalar o gettext e voltar a fazer o:
$./configure
Mas... o erro continuava, muitos já terão percebido porquê, eis a solução:

$ make clean
Making clean in SCRIBES
...

$ ./configure

Neste ponto pode-se retomar as instruções normais de instalação.

segunda-feira, 1 de outubro de 2007

Sistemas Operativos na próxima década - Previsões

Eu não sei que não sou adivinho, mas o Prof. Chibanga concerteza sabe.

Como diz o outro, prognósticos só no fim do jogo.




PS: Para os que estão a ver o post através do Planet Geek este post contém um vídeo do youtube que não aparece no PG

sábado, 29 de setembro de 2007

Novo projecto

Comecei com um amigo, é um site onde vamos colocando jogos que vamos fazendo. Por enquanto só tem um jogo, mas já estão na calha mais alguns.
As várias áreas do site vão sendo implementadas com o tempo, a ideia é começar simples e focado nos jogos, e o resto ir-se colocando. A área de "news" irá ter uma espécie de blog que vai falando do desenvolvimento dos jogos que estivermos a fazer em cada momento. A área de "external news" está feita mas está à espera que o alojamento confirme se tem o módulo de MySQL para python instalado.

quinta-feira, 27 de setembro de 2007

Python MySQLdb e UTF-8

O python é uma excelente linguagem, estranhamente, apesar de ser feita por um europeu, o suporte para caracteres não ASCII é aquilo a que se pode chamar um fumegante monte de bosta. Quando se mete o MySQLdb e UTF-8 ao barulho então esse monte aumenta de uma forma brutal.
Umas pesquisas pelo google não trouxeram grande resultado, a única coisa que descobri foi uma data de gente desesperada com o problema.
Mas aparentemente, para quem estiver a fazer aplicações web existe uma solução que pode dar algum jeito:

>>> teste = u"HEllo\u1361World"
>>> print teste.encode("latin_1", "xmlcharrefreplace")
HEllo&#4961;World

Isto permite gravar os dados na base de dados fazendo a ligação usando o encoding "latin_1" como o MySQLdb insiste em gostar de fazer, e ao mesmo tempo esquivar ao problema do caracter \u1361 não poder ser convertido para latin_1.
Ainda fiz mais um teste

>>> open("teste.html", "w").write(teste.encode("latin_1", "xmlcharrefreplace"))

De seguida abri o teste.html e pude verificar que o caracter aparecia correctamente.

sexta-feira, 21 de setembro de 2007

The land of the free



Descobri o vídeo a partir de um post no blog do Carlos Serrão.

quinta-feira, 13 de setembro de 2007

Post Mix

Tenho um post mais completo planeado, não o fiz ainda porque tenho andado a tentar pôr o g-client a funcionar no emacs para poder postar directamente de lá, por algum motivo falha a parte de submeter o post para o blogger.

Num assunto totalmente diferente e fora do normal âmbito deste blog, mas que não podia deixar de falar, está a hipocrisia do actual governo. Ao contrário do típico Zé Queixas português, eu até concordo em muito do que tem sido feito por ele, mas para mim bateram agora no fundo. Refiro-me claro à recusa em receber o Dalai Lama para no dia seguinte se fazerem de preocupados com os direitos humanos recebendo Bob Geldorf.

quinta-feira, 30 de agosto de 2007

Extensões para o Thunderbird

O meu "regresso ao Ubuntu" teve como consequência, entre outras coisas o regresso ao Thunderbird e o abandono do Mail.app. Isto levou-me a pesquisar algumas extensões para tornar o uso do Thunderbird mais simples.
Para não variar, a minha pesquisa acabou por devolver um resultado no lifehacker com uma lista de plugins bastante interessante.

quarta-feira, 29 de agosto de 2007

Emacs org-mode

Descobri hoje o org-mode para o Emacs e parece-me que finalmente tenho a solução que queria para as TODO list.
Segui este tutorial mas como o autor por vezes se esquece de dizer como se fazem certas coisas, convém ter o manual por perto para consultar a secção 2.2. Descobri também um tutorial para usar o org-mode com o GTD que ainda não tive oportunidade de ler.

Entretanto tive também oportunidade de experimentar o TaskFreak que me foi sugerido num comentário. O TaskFreak para mim tem dois problemas base. O facto de todas as tarefas terem que estar associadas a um projecto e assim obrigar à criação de projectos e também o facto de ser na prática uma lista "plain" de tarefas por projecto , com um certo feeling que cada tarefa é uma linha de texto mas que dá mais trabalho a criar. Parece-me o parente pobre do dotproject (não se deixem enganar pelo nome, é em PHP) que mesmo sendo mais completo não se encaixou no meu método de trabalho.

terça-feira, 28 de agosto de 2007

Script para um pipe menu no openbox

Fiz um script para colocar qualquer output de um comando de shell num pipe menu do Openbox

#!/usr/bin/python

import os
import sys

# Example
#
# /generic.py "df -h -x tmpfs -x usbfs"
# /generic.py "ps ax"
# /generic.py cal
#
# "cal" output shows up unformated due to non monospaced fonts

# Set the default command
cmd = "ls ~/ -1"
if len(sys.argv) > 1:
  # Replace the default command with the one given on the command line
  cmd = sys.argv[1]

# Execute the command
sf = os.popen(cmd)
# Get the command stdout output
cal = sf.read()
# Generate the menu item
menu = "\n".join(['<item label="' + ln + '"></item>' for ln in cal.split("\n") if ln and not ln.isspace()])
print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
print "<openbox_pipe_menu>"
print menu
print "</openbox_pipe_menu>"

O próximo passo será colocar opções para definir um script que faz o handling do click sobre cada item do menu e opção para não cortar as linhas em branco ou só com espaços. Falta também substituir as concatenações por %s e um bug que faz com que não apareça nada nos menus quando o output do comando de shell contém um caractér & porque o XML fica inválido, penso eu.
Tal como está escrito nos comentários, há problemas com a formatação dos outputs porque a fonte que uso nos menus não é monospaced nem tenho intenção que seja, o que faz com que as linhas do output fiquem desalinhadas.

domingo, 26 de agosto de 2007

obpager 1.8 no ubuntu feisty

Andei a experimentar o obpager, basicamente a única coisa que eu queria era algo que me dissesse em que desktop estou. Como o link para o .deb que está na página do projecto não funciona tive que o compilar. Apesar de ter instaladas as poucas dependências e respectivos headers a compilação falhava.
Primeiro não encontrava o header da xlib Xlib.h, porque o local onde este ficheiro se encontra não estava definido na Makefile. A solução foi editar o ficheiro Makefile e alterar a linha 18 de
INCLUDES = -I/usr/X11R6/include/X11 -I/usr/X11R6/include/X11/extensions -I./src
para
INCLUDES = -I/usr/X11R6/include/X11 -I/usr/X11R6/include/X11/extensions -I./src -I/usr/include/X11
Isto fez com que passasse a ter outro erro, o shape.h também não era encontrado, mais uma vez pelo mesmo problema. De novo a solução foi colocar a path no Makefile na mesma linha.
INCLUDES = -I/usr/X11R6/include/X11 -I/usr/X11R6/include/X11/extensions -I./src -I/usr/include/X11 -I/usr/include/X11/extensions/
Agora tinha um novo problema, ao compilar falhava com o seguinte erro:
g++: ./objs/src/main.o: No such file or directory
Um erro anterior sugeria qual o problema:
src/main.cc:161: error: `errno' undeclared (first use this function)
Uma pesquisa no google dizia que o problema se deve à versão do gcc. A solução seria então acrescentar ao ficheiro src/main.cc o seguinte:
#include <sys/errno.h>
Aqui está a thread que me levou à solução, o comentário que tem o diff, o 3º é o que resolve o problema apesar de o meu gcc ser o 4.1.2 e não o 3.4.
Após tudo isto o obpager ficou a funcionar.

sexta-feira, 24 de agosto de 2007

Thunderbird 2

O Ubuntu Feisty vem com o Thunderbird 1.5 nos repositórios, ontem andava a tentar instalar o dicionário PT_pt e aquilo dizia-me que só dava no 2.0.
Encontrei aqui a solução para quem quiser ter o 2.x em vez do 1.5, entretanto instalei-lhe também um biff

quinta-feira, 23 de agosto de 2007

Mais um passo nas to-do lists

Há que tempos que eu ando a tentar arranjar uma TO-DO list mais eficaz do que fazer tudo de memória. Desde o GTD até a anotações num papelinho, nada tem resultado. Por esse motivo, vale sempre a pena dar mais uma olhadela a qualquer coisa que apareça. Manter a TO-DO list pequena, gosto da ideia de ter várias listas separadas, uma pequena para acções imediatas, outra para acções a fazer um dia e a lista de pequenas tarefas não prioritárias a despachar num intervalo da principal ou quando esta estiver concluída.
Só falta um software que implemente isto.

terça-feira, 21 de agosto de 2007

Gnome e OpenBox

Eu utilizo o OpenBox no meu ubuntu tanto em casa como no trabalho. Em ambos algumas features como o Ctrl-Alt-L fazer lock ao ecrã ou a roda do teclado controlar o som, como referi no post anterior, são-me fornecidas por qualquer coisa do gnome que me anda a correr nas máquinas e que eu não sei bem o que é.
Um "ps ax" sugere que seja o gnome-settings-daemon o causador destas coisas, a verdade é que não sei porquê que isto está a correr já que um colega que usa o mesmo setup ubuntu->gdm->openbox não tem estas features activadas.
Por mim fico contente que isto aconteça mas já agora gostaria de perceber porquê!

segunda-feira, 20 de agosto de 2007

Mixer no gnome com SB Live

O meu PC já tem uns aninhos, a placa de som talvez ainda mais. É uma SB Live 5.1. Isto raramente é um problema para mim já que utilizo o OpenBox ou o Windowmaker mesmo em computadores mais recentes.
Hoje um bocado por acidente descobri que a "rodinha" para controlar o volume que está no meu teclado funciona sem que eu me tenha dado ao trabalho de a configurar. Infelizmente esta feature é grandemente prejudicada pelo facto de nem a mixer do gnome nem o volume.app controlarem o volume de som da minha placa.
Pus-me a investigar e finalmente encontrei a solução, que afinal é simples mas pode custar a descobrir.
Um bocado a provar que a linha de comandos é mais fácil do que qualquer ambiente gráfico, a solução que apareceu primeiro foi a do volume.app em forma de uma opção que é passada no arranque desta aplicação. Primeiro corri o alsamixer e alterei os settings todos até descobrir que o volume nesta placa (e com este driver) não é alterado pelo "master" mas sim pelo "wave". Daqui a descobrir o que fazer no volume.app foi um passo. Um simples:

$ volume.app -l
Mixer device: TriTech id 3 (EMU10K1)
Available sources:
1. Master volume (100%)
2. Bass (50%)
3. Treble (50%)
4. FM Synth volume (100%)
5. PCM Wave volume (100%)
6. PC Speaker (0%)
7. Line In level (0%)
8. Microphone level (0%)
9. CD volume (81%)
10. PCM Wave 2 volume (64%)
11. Input gain (0%)
12. Line In 1 (0%)
13. Digital In 1 (0%)
14. Phone input (0%)
15. Phone output (100%)
16. Video volume (0%)

Revelou que a source que eu necessitava alterar era a Nº10, daí foi só arrancar a aplicação com o seguinte parâmetro:

volume.app -c 10

Agora restava descobrir como fazer o mesmo com a mixer do gnome já que concerteza era o gnome-session que estava a fazer com que a "rodinha" do teclado funcionasse. Primeiro arranquei com o controlador de som do gnome. Como não estava a usar o gnome e sim o OpenBox fi-lo da seguinte forma:

$ gnome-sound-properties

Aqui foi onde perdi mais tempo pois não estava a perceber como funcionava o interface. Até que num momento de inspiração percebi que na lista que se encontra em baixo bastava selecionar a source que seria controlada pela mixer e o problema ficou resolvido. A opção que tive que selecionar foi "Wave" como se pode ver no screenshot.

sexta-feira, 17 de agosto de 2007

A saga continua...

A minha saga no uso do emacs continua. Agora consegui descobrir como instalar um emacs mas em bonito.

Emacs

Apesar de eu ser utilizador do vi já há alguns anos, resolvi dar uma hipótese ao emacs de me distender um tendão ou dois...
Deixo aqui e aqui uns links que me têm dado uma ajudinha.

quarta-feira, 15 de agosto de 2007

Slick 'n Slide fans

Seja em Windows, Mac ou Linux... animem-se

segunda-feira, 13 de agosto de 2007

Essenciais de um windowmanager

Ainda em relação aos windowmanagers que utilizo deixo aqui a lista de features que assim de repente me ocorrem como indispensáveis:

  • Ser leve

  • Permitir configurar as teclas de atalho directo para os desktops (consegui reduzir para 6 e uso normalmente Alt-Fn para lhes aceder)

  • Permitir mudar de desktop com a roda do rato, rodar para cima "next desktop" e para baixo "previous desktop", no OpenBox isto é configurável e por omissão vem ao contrário

  • Suportar dockapps

  • Permitir definir que aplicações abrem em que desktops e não as abrir noutro que não o definido

  • Ter uma maneira rápida de lançar as aplicações mais usadas. No Windowmaker arrasto o icon dessas aplicações para junto do clip no desktop correspondente. Como existem coisa tipo iDesk, praticamente qualquer wm tem uma solução fácil para isto. Entretanto defini o Alt-r como shortcut para correr o gmrun o que é ainda melhor do que ter icons para lançar as aplicações.


E pronto, penso que são só estas as carecterísticas que considero fundamentais num windowmanager, se me lembrar de mais alguma eu aviso.

Openbox

O meu regresso ao Ubuntu no computador do trabalho tem tido as suas consequências. Ao regressar ao Linux começo a utilizar o Windowmaker, isto causa logo algum entusiamo a um colega que larga o Beryl e muda também para o Windomaker. Não que ele desconhecesse o Windowmaker mas porque ele acha que o Windowmaker é muito poderoso e eu ter-lhe relembrado disso foi o que faltava para o regresso.
Mas a coisa não se fica por aqui, ele começa a experimentar windomanagers e chega ao OpenBox, e ao mostrar-me o OpenBox eu decidi dar uma hipótese ao dito windowmanager.
Como eu raramente faço reboots ou logoff, ainda só entrei duas vezes no OpenBox. Uma quando o acabei de instalar e outra quando lhe coloquei no script de arranque a lista de software que quero correr juntamente com o OpenBox. De ambas as vezes o OpenBox arrancou imediatamente, de tal modo que eu fiquei à espera convencido que ainda faltava alguma coisa... mas não, de facto ele já tinha terminado de arrancar. Para ajudar à festa os menus são extensíveis em python.
Estou a utilizá-lo neste momento e já o tenho a fazer praticamente tudo o que tinha no Windowmaker. Pelo menos nos próximos tempos, se tudo correr bem, vou estar a bombar no OpenBox.

quinta-feira, 9 de agosto de 2007

terça-feira, 7 de agosto de 2007

Google Peganhento

Com o Google peganhento só falta mesmo lembrar-me qual foi a pesquisa que fiz...

O que me tem mantido ocupado

O meu recente regresso ao Ubuntu teve as suas consequências. Eu apesar de ser utilizador do Ubuntu não uso o Gnome, prefiro o Windowmaker.

Quanto aos editores, costumava utilizar o vim, gvim e nedit. Fui verificar e descobri que o Nedit está parado desde 2004 e que ficou para trás, não tem auto-complete entre muitas outras features a que me habituei no Textmate e os 3 anos parados sugerem que nunca as terá. A verdade é que o Textmate elevou a fasquia de qualidade que um editor precisa ter para me convencer e, como eu não me consigo habituar ao emacs, o vi continua a ser a única solução.Esta conclusão não chegou sem que antes experimentasse o gedit, que parece estar no bom caminho mas... ainda tem muitos problemas. Problemas suficientes para que o descartasse numa tarde.

Tendo em conta que eu trabalho muito em servidores remotos, andar a copiar ficheiros por FTP para os editar localmente e depois voltar a colocar no servidor, etc..., não é uma solução viável.
Desde logo surgiu uma solução que não sendo péssima também não me agradava. Como eu me decidi pelo vi ou dependendo do contexo o gvim, descobri que este pode editar directamente ficheiros remotos utilizando a seguinte sintaxe:

gvim scp://server_address//server_path/filename

Não é uma má solução mas sem autocomplete não era opção.

Seguiu-se uma segunda solução, durante os meus testes com o gedit utilizei o nautilus para navegar no filesystem remoto por ssh, assim bastava fazer duplo clique sobre o ficheiro e editar, mas... o gvim não suporta vfs logo isto não funciona. Mas encontrei uma versão alternativa só que não consegui descobrir como atribuir um shortcut para isto, logo tinha que selecionar o ficheiro, clicar com o botão direito selecionar a opção "scripts" e depois "Open With Gvim". Não, isto também não é uma opção válida, não há produtividade que aguente este tipo de coisa, isto assim mais parecia o Windows.

A terceira foi de vez, a solução que encontrei foi montar a ligação ssh como se fosse uma drive. Daqui para a frente passei a poder abrir os ficheiros com o gvim, ou outro editor à escolha, usar o autocomplete do terminal ou se perder totalmente a cabeça até usar o nautilus.

quinta-feira, 2 de agosto de 2007

De volta ao ubuntu

Devido ao cabo do meu carregador ter derretido e ao carregador para o Powerbook G4 custar €130, se bem que consigo uns manhosos por menos de €50. o que continua a ser caro, vou estar uns dias sem o portátil, o que me leva a voltar a usar o Ubuntu no trabalho.
Este post já está a ser escrito a partir do CD de instalação do Ubuntu ;)

terça-feira, 31 de julho de 2007

Joomla, Virtuemart e opção default

Recentemente tenho estado a colocar on-line uma loja de nome Estética Online e para isso utilizei o CMS Joomla 1.0.12 com um plugin chamado Virtuemart 1.0.10, para além de vários outros mas para o caso interessa este.
Em todos os produtos que foram colocados na loja, por uma questão de coerência foi sempre colocado o formato do produto como atributo numa caixa de texto descrita no backoffice da versão portuguesa do Virtuemart como "Lista de atributos". Isto colocou um problema. Mesmo os produtos que só tinham um formato disponível e portanto só tinham uma opção nessa lista de atributos não podiam ser comprados directamente já que o Virtuemart obrigava a que se entrasse na página de detalhe do produto e se escolhesse uma opção e isto iria baralhar muitos utilizadores.
Pelo que andei a investigar não existe nenhuma solução disponível pelo que publico aqui o que fiz para solucionar este problema.
A solução que me interessava era fazer com que a primeira opção da lista fosse a escolhida por omissão, já que esta correspondia ao preço default apresentado. O facto de, mesmo quando há várias opções, existir um formato por omissão não é problemático já que no carrinho de compras aparece o formato que foi escolhido dando assim hipótese de o utilizador rever o formato caso deseje outro.
Para conseguir esta solução foi necessário fazer uma alteração simples Num ficheiro do virtuemart. O ficheiro a alterar é o seguinte:

[siteroot]/administrator/components/com_virtuemart/classes/ps_cart.php

Na linha 134 desse ficheiro, imediatamente antes do seguinte pedaço de código:

if ( ($result["attribute_given"] == false && !empty( $result["advanced_attribute_list"] ))
|| ($result["custom_attribute_given"] == false && !empty( $result["custom_attribute_list"] )) ) {
    $_REQUEST['flypage'] = ps_product::get_flypage($product_id);
    $GLOBALS['page'] = 'shop.product_details';
    $vmLogger->tip( $VM_LANG->_PHPSHOP_CART_SELECT_ITEM );
    return true;
}


Coloquei o seguinte código:

if($result['attribute_given'] == false) {
    $result['attribute_given'] = true;
    $dummy = explode(",", $result['advanced_attribute_list']);
    $d['description'] = $dummy[1];
}


Foi uma solução simples e que até agora parece estar a funcionar, creio que como a opção escolhida é a primeira é possível que bastasse colocar o attribute_given a true, para outra opção default que não a primeira penso que se terá que mudar mais atributos e não só a descrição. Aconselho sempre a fazer uma cópia do ficheiro original e a colocar bem visível um comentário a indicar o início e o fim das alterações.

PS: Confesso que devido aos meus hábitos de python e perl ainda tentei fazer as duas últimas linhas numa só, assim:

$d['description'] = explode(",", $result['advanced_attribute_list'])[1];

mas o PHP não é assim tão à frente.

Eu também quero falar disto

Já que toda a gente fala, eu também quero meter a minha colherada no tema BTuga.
Regressei de férias para descobrir que o BTuga tinha sido fechado com direito a rusga da PJ e tudo. Confesso que não sou utilizador do BTuga, pelo mesmo motivo que penso que o fecho do BTuga e sites que tais é positivo, e espantem-se, positivo para os utilizadores habituais deste tipo de serviços.
O BTuga pega numa filosofia de partilha, se bem que uma partilha desenquadrada da lei, ou talvez de uma lei desenquadrada da realidade, e transforma essa partilha num negócio. Sempre que um destes sites que força a que se faça upload de algo ou se pague para fazer o download de algo em troca fecha, mais consolidada fica a verdadeira partilha livre, e convenhamos, que para os adeptos da pirataria não há melhor do que a troca sem que se tenha que ser forçado a nada.
Eu utilizo muito pouco este tipo de coisas e das raras vezes que o faço utilizo serviços que não impõem restrições e acabo sempre por ter um ratio positivo de upload/download (entenda-se dou mais do que recebo) mesmo não sendo forçado a fazer o upload de nada e não tendo muita coisa para partilhar.

domingo, 22 de julho de 2007

I'm Alive, I'm Alive

Para os que pensaram que eu me tinha evaporado, fica aqui o aviso que tenho estado de férias e que estas vão durar até ao final da semana, ou seja só regresso a 31 de Julho. Por este motivo o blog vai continuar em descanso mais uma semanita.

terça-feira, 10 de julho de 2007

A não perder

A não perder este post, no blog do Tux Vermelho.
Posso já enumerar alguns erros que cometo e que lá estão descritos. Como a escrita demasiado rebuscada, o uso de parêntesis para fazer apartes, às vezes uma certa redundância, por vezes aproveito o título como se fosse o início da primeira frase do post dando origem a voz passiva e frases demasiado longas.

Experiência interessante

Não podia deixar de colocar aqui este vídeo que descobri através do blog do Nuno Markl.

segunda-feira, 9 de julho de 2007

Rejoice windows (l)users

Uma aplicação que não experimentei, e provavelmente com um bocado de sorte nunca irei experimentar mas que parece estar no bom caminho para vir a ser o Quicksilver para windows. Se alguém o tiver testado e quiser deixar por aqui um testemunho, está à vontade.

quarta-feira, 4 de julho de 2007

Os cabos, ai os cabos...

Nesta minha arrumação resolvi não mexer nos cabos que rodeiam a minha mesa, para evitar que essa tarefa consumisse todo o tempo que é suposto ser utilizado para remover tralha. Mas os cabos são um dos problemas que sempre me perseguiram, e penso que também a qualquer pessoa que tenha um sistema informático um pouco mais complexo (ou mesmo simples). Hoje ao seguir alguns links num dos artigos referidos num dos meus posts anteriores dei com isto. Tudo o que tenha a ver com reduzir a confusão causada pelos cabos é de experimentar.

Ficheiros temporários do Scanner

No Mac OS X Hints, está um artigo sobre limpar os ficheiros temporários dos scanners HP.
O meu não guarda nada disso, nem sequer no sítio onde ele aponta. O meu cria os ficheiros em ~/Documents/Scanner Output/, mas essa é a directoria utilizada pelo software da HP e o próprio software mostra o que lá está.

De-Clutter Reloaded

O Merlin Mann do 43Folders, publicou o 4º artigo na sua sequência de artigos sobre arrumações.
Uma das coisa que descobri com anos de desarrumação e contra a qual continuo a lutar, é que uma das maiores causas de desarrumação é não ter um sítio para arrumar certas coisas. Tudo o que não tenha sítio onde ficar vai acabar por ficar desarrumando e na zona onde esse objecto ficar outros que também não têm lugar vão aparecendo no mesmo sítio, até que fica uma confusão tal que ninguém tem vontade de mexer naquilo.

Eu estou na primeira fase que é arrumar a mesa do computador e mais 3 outros armários que estão uma confusão. Existe uma terceira zona onde estão as coisa que saíram da mesa do computador e de um dos armários que está ainda em fase de arrumação e que são as tais coisas que não são lixo mas ainda não têm sítio, ou que têm sítio e que ainda não foram para lá.

A segunda fase, que, para as coisas que saíram das zonas já arrumadas será feita antes do fim do próximo fim-de-semana, séra para as coisa que têm sítio colocá-las no sítio correspondente.

A terceira fase consistirá em organizar-me de modo a arranjar lugar para as coisa que não são para ir fora mas que não têm sítio.

terça-feira, 3 de julho de 2007

Deita lá isso fora

Comprei na 5ª feira passada uma impressora, e como não tinha espaço na minha mesa do computador para lá colocar um alfinete, apesar da mesa ter para aí 2,30m, tive que me dedicar a arrumar a mesa, deitar fora tudo o que não interessava e arranjar lugar para o que interessa.
Ao fim de cerca de 2 horas a cavar em papel, lá consegui chegar ao tampo.
Como "sidenote" a impressora que comprei foi uma HP C3180, que funciona perfeitamente como impressora e scanner no Mac, e que li antes mesmo de a comprar, funciona também com ambas as funcionalidades em Linux. Até agora estou bastante satisfeito com ela e aconselho quem estiver para comprar uma a dar uma vista de olhos a este modelo (custou-me €68.99 na macro).
Bem a propósito desta arrumação e do deitar fora de coisas que não interessam, ficam três links para o 43folders; link 1, link 2 e link 3. O segundo link especialmente tem muito a ver com o meu problema.

segunda-feira, 2 de julho de 2007

Que futuro para as Democracias ?

Primeiro que tudo queria fazer uma espécie de disclaimer. Porque a minha escrita não tem piadinha nenhuma e se eu alguma vez me puser a escrever um livro apoio todos os que assinem uma petição para acabar com o meu livro e o substituir por um belo exemplar de poesia Vogon.
E também porque as minhas opiniões tendem a ser radicais, self-centered, pouco razoáveis e extremamente polémicas, sendo que até a mim me custa a ler a rezinguisse que escrevo quando se trata de temas sociais.
Quero também agradecer aquele que aparentemente é meu conterrâneo, o Carlos Afonso, pois eu não estava a pensar escrever o artigo do mês e acabei por o fazer por ter conseguido organizar as minhas ideias como consequência da conversa sobre o assunto que tivemos no regresso do jantar do Planet Geek.
Para terminar o disclaimer, fica o aviso de que sou bastante volátil e que possivelmente dentro de duas semanas já discordarei de grande parte do que aqui disse ;)
Dito isto aqui fica o artigo:

Todos os sistemas têm a sua duração, todos acabam. Foi assim com o sistema imperial, monárquico, dictatorial e creio que será assim com as democracias.
Para citar uma banda da qual não sou grande fã:
Nunca gostei que a maioria

Organizasse o meu dia a dia

Não acredito em democracia

A democracia é a ditadura das maiorias. Para um povo como o Português que se gosta de nivelar pela bitola da mediocridade custa a ouvir e mais ainda custará a admitir que as pessoas não são todas iguais. A grande maioria das pessoas não é inteligente e age quase em piloto automático.
Pode-se comparar uma eleição com uma experiência com ratos, onde teríamos uma gaiola, grande, com uma zona à qual os ratos estão habituados e outra zona que eles nunca exploraram mas que está ao alcance da vista. Na zona conhecida existem, no caso específico de Portugal, dois comedores, noutros sítios os números poderão ser diferentes, e ambos dão choques eléctricos. Na zona desconhecida existem vários outros comedores que não se sabe se dão choque ou não. Mas os ratos correm entre esses dois comedores e nunca se arriscam a ir à zona desconhecida apesar de verem por lá outros comedores.
As consequências para os poucos que estão acima desta maioria são catastróficas. São permanentemente governados por um bando de ladrões, idiotas, corruptos, etc... sem que possam fazer o que for para o impedir.
Numa democracia, como um todo um povo tem os governantes que merece, individualmente existem sempre membros de minorias que são prejudicados pela ignorância da maioria.
Por isto a democracia já provou que não funciona, aproveitando-se desta ignorância, as grandes corporações, como por exemplo as farmacêuticas, as tabaqueiras (como se pode ver recentemente pelos sucessivos recuos na lei do tabaco até a tornar praticamente inútil), construtoras, etc... , aproveitam para controlar o poder.
Quais seriam então os sistemas que poderiam substituir a democracia?
Essa é uma discussão que não se encaixa no âmbito deste artigo e que daria pano para mangas. O que se sabe é que dos sistemas supra-referidos aparentemente nenhum é melhor que a democracia. Mais vale a ditadura da maioria do que a de um homem só.

domingo, 1 de julho de 2007

Quicksilver for beginers

Já várias vezes me perguntaram o que é o Quicksilver, para que serve, porquê que gosto tanto do Quicksilver. É complicado responder, penso que nem quem o fez o sabe definir bem ou não o descreveriam como "A unified, extensible interface for working with applications, contacts, music, and other data." que cheira a chavão com pouco significado.
O Quicksilver é daquelas coisa que só experimentando se percebe. Um erro bastante comum consiste em considerar o Quicksilver um Application Launcher. Um erro crasso! Foi a procurar um Application Launcher para Mac semelhante ao launcher do gnome que vinha no ubuntu 5.x e que entretanto se transformou num fumegante pedaço de bosta (desde que fiz o upgrade para o 6 e pior ainda no 7), que eu encontrei o Quicksilver. Mas rapidamente me comecei a aperceber que aquilo não era um simples launcher. Eu definiria aquilo como uma linha de comandos em modo gráfico.
Aqui fica um link para um screencast de Quicksilver para iniciados.

quinta-feira, 28 de junho de 2007

Software de backup para Macs, review

É público que desde a minha última e única re-instalação do Mac OS X, que eu adoro o iBackup. Para os que ainda não estão convencidos, aqui fica um link para um review de softwares de backup para Mac.

quarta-feira, 27 de junho de 2007

theAppleBlog fala de updates de software

E eu concordo com o que eles dizem, não há nada mais irritante do que a aplicação avisar que precisa de um update, perguntar-me se quero fazer o update depois simplesmente me abre a página web da aplicação no browser.
Artigo original aqui.

terça-feira, 26 de junho de 2007

To do

To do lists no lifehacker. Existe uma referência ao artigo no 43 folders de que falei aqui recentemente sobre GTD. Em breve irei descrever aqui a minha experiência com o iGTD que tenho estado a experimentar.

quinta-feira, 21 de junho de 2007

Maça-D

Maça-D no "save dialog", a dica mais útil que tive acesso nos últimos tempos.

Tou xim...

Já várias vezes tentei falar com amigos via skype, o resultado nunca foi brilhante. Pode ser que esta dica do lifeClever dê uma ajudinha!

Windowmaker

Como fã do Windowmaker que sou não podia deixar de referir estes dois artigos no Wmaker Cyaneus:

Preload

Não sou grande fã de programas que se enfiam para a memória e por lá ficam para mais tarde carregarem mais depressa. Mas... se puder ser eu a escolher aqueles que uso mais (que normalmente não são aqueles que têm essa mania) então a coisa já canta de outra maneira.
É aqui que entra o Preload, definitivamente uma aplicação a experimentar.

Quicksilver tip #4352

mouse dragged triggers

quarta-feira, 20 de junho de 2007

Compacto GTD

De regresso de férias encontrei no Cool OS X Apps mais uma aplicação para implementar GTD, o frictionless GTD. Surge em boa altura já que os inúmeros projectos em que estou envolvido actualmente começam a pedir que eu finalmente perca algum tempo a usar algo deste género. Entretanto aproveito para ler mais um "How I use GTD", desta vez por um tal de Michael Buffington. Antes de me decidir por qual aplicação GTD usar vou ainda olhar para esta lista e decidir-me por um.
Entretanto no lifehacker há um artigo sobre aplicações GTD cross-platform.

Safari Beta 3 para Mac e Windows

Fiquei cheio de vontade de experimentar o Safari Beta 3, infelizmente devido a algumas extensões que uso ainda não o posso fazer porque este crasha.
Entretanto tenho visto várias dicas interessantes:

Uma solução para gravar um DVD...

... a partir da pasta VIDEO_TS é esta. Outra é instalar um software tipo TOAST, por exemplo.

quarta-feira, 13 de junho de 2007

Isto está raro

Não, eu não abandonei a informática para me dedicar à plantação de nabos, nem me esqueci do endereço do blog. Mas tenho estado de férias, numas daquelas férias onde se trabalha mais do que quando não se está de férias e o blog tem-se ressentido com isso.
Dito isto aqui fica uma dica daquelas básicas mas que nunca me tinha ocorrido. Durante muitos anos utilizei a linha de comandos, como já aqui tinha referido, como file manager, isso significa que toda a minha gestão de ficheiros, incluindo copias era tudo feito em linha de comandos. Desde que comecei a usar o Mac OS X habituei-me a usar o finder para executar estas tarefas e de facto, agora que penso nisso, perde-se muito mais tempo.

segunda-feira, 4 de junho de 2007

Notícias da vizinhança...

Li no codedmind.com, um dos blogs agregados no Planet Geek a referência a uma aplicação semelhante ao Quicksilver para o Gnome.
Ainda não tive oportunidade de a experimentar, mas se fizer metade do que faz o Quicksilver, então já é uma grande aplicação.

sábado, 2 de junho de 2007

Este post -100

= The Answer to The Ultimate Question Of Life, the Universe and Everything

sexta-feira, 1 de junho de 2007

Histórico simples de versões

O LifeHacker indica uma solução interessante para a manutenção de versões para pequenos programas. Eu costumo criar um tar.gz ou tar.bz2 com o nome do programa e a data no final no seguinte formato; 20070601 de modo a que apareça por ordem de data quando ordenados alfanumericamente.
A solução que o LifeHacker apresenta é uma forma de automatizar este tipo de armazenamento das versões anteriores.
Entretanto já estou aqui a imaginar mais formas de automatizar a coisa, por exemplo verificando se houve alterações desde a data do último backup.

quinta-feira, 31 de maio de 2007

Receitas: Como triturar um CD/DVD do Linux

Ligas à electricidade a máquina de fazer batidos. Deitas lá para dentro 1/2 litro de leite, morno de preferência. Adicionas o CD/DVD e deixas amolecer durante uns minutos de modo a minimizar o estrago nas pás.
Ligar a máquina no mínimo e ir aumentando gradualmente a velocidade de rotação das pás.
Juntar açúcar a gosto.

Deverá ser colocado durante cerca de 30 minutos no frigorífico antes de consumir.

PS: Se o CD/DVD for do Slackware, convém deixar de molho de um dia para o outro para amolecer mais um pouco, poderá aproveitar esse tempo para fumar uma cachimbada.

Ver como ficam os sites no IE... sem IE

Afinal, existe um serviço chamado NetRenderer, que permite ver um screenshot do site desejado em IE, nas suas várias versões. Para aqueles que ainda usam o Windows só para testar coisas no IE, já só falta uma maneira de testar como corre o Javascript no IE sem IE para se poderem ver livres de vez das destas duas pragar, IE e Windows!

quarta-feira, 30 de maio de 2007

Eu até já fiz um script que fazia isto via rsync, mas...

Aqui vai á mesma, uma aplicação que faz uma cópia da lib do iTunes para um volume montado. No meu caso não me serve de muito porque eu já tinha um script que me fazia isto automaticamente assim que o volume era montado, e a minha solução foi derrotada por uma avaria no dito volume.
Não deixa de ser uma solução válida para um backup manual.

terça-feira, 29 de maio de 2007

Depois de um fim semana...

... que começa bem, com um concerto de DMB e acaba optimamente com o Sporting a levar a taça para casa, onde pelo meio apanhei uma enorme constipação, não há muito para dizer.
Mas, o blog que referi no último post refere algo interessante. Agora como utilizador do MacOS, tenho ganho um pouco o hábito de fazer a gestão de ficheiros num gestor gráfico de ficheiros, neste caso o Finder. Antes de ter o MacOS só utilizava Linux e consequentemente o Windowmaker, e toda a minha gestão de ficheiros era feita em linha de comandos, que diga-se de passagem acho bastante mais eficiente. Fica na minha lista de coisas a experimentar e fica também a questão. Será que o Windowmaker é propício ao uso de file managers gráficos? Eu quando o usei nunca me consegui adaptar a nenhum, pode ser que a situação mude!

sexta-feira, 25 de maio de 2007

Windowmaker

Através do blog Tux Vermelho tive conhecimento de um outro blog o Wmaker Cyaneus, que já está nos meus feeds de RSS, ou não fosse eu adepto e utilizador de longa data do Windowmaker.

Refresh ao finder

Antes da já famosa reinstalação de sistema que fiz há umas semanas, tinha um botão para fazer refresh ao finder. Não passou muito tempo sem que viesse a sentir a falta desse botão, mas na altura não consegui encontrar as instruções de como colocar o dito botão nas janelinhas do finder, lembro-me que incluía colocar um Apple Script qualquer numa qualquer sub-directoría da Library, lá acabei por fazer o unmount à directoria remota que não estava a refrescar e voltar a montar, o problema ficou resolvido da pior maneira.

Até que hoje, numa visita ao CoolOsXApps dei de caras com uma aplicação que faz exactamente isso, refresca o finder. Não li, nem encontrei onde ler, instruções de instalação mas arrastei a aplicação para as Aplications e daí arrastei para a barra do finder. Aparentemente ficou a funcionar.

quinta-feira, 24 de maio de 2007

Icons personalizados por dispositivo

Descobri este artigo sobre como criar ícones personalizados para dispositivos removíveis, agora só me falta saber como é que vou fotografar a minha própria máquina fotográfica.

terça-feira, 22 de maio de 2007

O teu Mac arrasta-se?

Então tenta uma destas 52 maneiras de tentar fazer com que ele fique um pouco mais rápido!

De novo o Quicksilver

Faz já algum tempo que não publicava nenhum post sobre o Quicksilver. Mas há uns dias dei com este útil tutorial que ensina a criar uma forma de inserir pedaços de texto que necessitemos de utilizar com frequência.

sexta-feira, 18 de maio de 2007

O M de msn [Actualização]

Eu utilizo o AdiumX para aceder à rede MSN, e ante-ontem estava a tentar enviar o link da página de screenshots do windomaker cujo url é http://www.windowmaker.info/gallery.php, a mensagem não chegava ao destino e obtinha o seguinte erro:

Could not send; a connection error occurred.

Ao fim de algumas tentativas a "desconstruir" o URL cheguei à conclusão que o link não passava no MSN devido à parte "gallery.php".
Hoje de manhã, ao investigar um URL que me chegou às mão a partir da Mailling List do Planetgeek, o http://script.aculo.us/, segui o link "Getting Started" e fui parar a uma página com o seguinte endereço http://wiki.script.aculo.us/scriptaculous/show/Usage, que tentei enviar a um amigo por MSN, e de novo a mensagem:

Could not send; a connection error occurred.

Não foi difícil chegar à conclusão que o .script era a parte que não deixava o link passar. Uns testes feitos entre os computadores de dois colegas que usam o cliente da Microsoft para aceder à rede MSN, mostraram que as mensagens que contenham qualquer destas duas expressões ".script" ou "gallery.php" não passam e, ao contrário do que acontece com o Adium (ou o Gaim porque o Adium usa a libgaim), nem sequer são avisados de que a mensagem não foi entregue.
De seguida tentamos a seguinte lista de expressões a ver se alguma era bloqueada, e nenhuma o foi:


  • qqcoisa.php

  • index.php

  • checkout.php

  • login.php

  • register.php



Isto faz-me pensar no que quererá dizer o M de MSN, mas cheira-me a algo acastanhado...

[Actualização]

De novo ia enviar um URL a um colega, desta feita http://www.wxpython.org/download.php#binaries e de novo:

Could not send; a connection error occurred.

Acabei por descobrir que era o "download.php" que impede que a mensagem passe.
O cheiro a algo acastanhado adensa-se!!!

quinta-feira, 17 de maio de 2007

Sugestão dos leitores

O leitor Tiago, sugeriu e eu aceitei o desafio. Aqui está, a melhor descrição de sempre do que é a internet:

Acho que a internet não é um camião grande mas sim uma série de tubos emaranhados... e como era fácil de prever, de vez em quando os tubos entopem!

Quem não perceber o que estou para aqui a dizer, é só ver isto.

Widget Planetgeek

Tal como foi anunciado no blog oficial do Planetgeek, foi lançada a widget do Planetgeek.
Deixo aqui uma versão detalhada e ilustrada do modo de instalação desta widget em blogs do bloger.com, os passos são os seguintes:


  1. Selecionar a tab Template e dentro desta a opção Page Elements



  2. Na representação do layout da página seleccionar a opção Add a Page Element da área do site desejada, no exemplo a zona utilizada foi a barra do lado direito



  3. No popup de escolha do tipo de elemento de página seleccionar a opção HTML/Javascript



  4. Na caixa de texto introduzir o título que quer que apareça na página e na área de texto em baixo o javascript que gera a widget:
    <script type="text/javascript" src="http://www.planetgeek.org/pgeekrss"></script>



  5. Para utilizar a CSS default fornecida pelo Planetgeek, escolher a tab Edit HTML e colocar no head do HTML a chamada ao CSS:
    <link href="http://www.planetgeek.org/pgeekrss/pgwidget.css" rel="stylesheet" type="text/css" />




Existe ainda a opção de arrastar o "Page Element" criado dentro do layout da página para definir a sua posição. No caso da wiget visível aqui no Repeat Until Keypressed, utilizo uma versão alterada dos estilos originais introduzidos na template dentro das tags <style> no head do blog em lugar da chamada ao CSS original.

É hoje, é hoje...

Hoje celebra-se o Dia da Internet, e estando este blog, lá... ou cá, não podia deixar passar esta data em branco!

quarta-feira, 16 de maio de 2007

Acho que veio para ficar

Mais uma aplicação para a barra do menu do Mac, Process Wizard, o mais inútil é que permite fazer o force quit (kill) a aplicações directamente dali, a feature que me parece mais útil é a de permitir definir níveis de prioridade para cada aplicação.
E com esta já são tantas transformações na minha barra do menu que qualquer dia tenho que repetir o post sobre o que tenho na barra do menu, é que desde essa altura até uma reinstalação do sistema já tive.

Fica a ameaça ;)

sábado, 12 de maio de 2007

Top 10 Mac utilities by lifehacker

Este artigo no lifehacker, para mim tem bastante interesse porque me levou a instalar 3 aplicações no meu computador e aconselha mais 3 que eu já estava a utilizar.
As novas aplicações que instalei são as seguintes:

  • Ejector - Normalmente depois de instalar uma aplicação lá ia eu ao finder desmontar o dmg, por vezes alguns ficavam montados, esquecidos. Esta aplicação permite um acesso rápido a estas acções.

  • AppDelete - Não sei bem como, mas é suposto remover tudo o que uma aplicação instala, a médio/longo prazo espero ver os efeitos da sua utilização.

  • RCDefaultApp - É um painel de controlo que fica disponível no system preferences e controla muito mais do que file associations. Permite controlar, handlers para protocolos, file types, extensões, mime types, etc... Foi a aplicação que mais me impressionou destas 3 e era a única da qual nunca tinha ouvido falar. Aconselho.


As aplicações que já utilizava antes são as seguintes:

  • Magical - Foi o melhor relógio/calendário que encontrei para a barra do menu até hoje.

  • Growl - É uma daquelas que instalei só porque precisava de algo que me avisasse dos e-mails, e depois descobri que se vai tornando indispensável em muito mais situações. Permite inclusive enviar ou receber notificações via rede.

  • Quicksilver - Também só o instalei para ter uma forma rápida de lançar aplicações, e agora uso-o até para fazer uma sandes mista! Nem tenho descrição para o que é o Quicksilver, mas diria que é A aplicação para Mac.


O Hazel, já tinha sido aqui referido há uns meses e nunca "passou o teste", porque folder actions é algo que o sistema traz de raiz e não me parece que se justifique pagar por uma aplicação que o que traz de novo é um interface gráfico drag & drop para isso.

Acertar seis em dez, parece-me tornar este artigo interessante. Ainda não tive tempo de ver as aplicações sugeridas nos comentários, mas se alguma me convencer, concerteza a irei referir aqui.
Os links para aplicações aqui referidas estão todos disponíveis no artigo original.

sexta-feira, 11 de maio de 2007

Get up, Stand up...

Safari Stand, lá teve que ser. Não queria estar a instalar muitos plugins e coisas que me pudessem enterrar o computador. Mas lá teve que ser.
É daquelas que eu também já não me lembrava que era feito por um plugin e já pensava que era uma feature do Safari, mas o Stand tratava de me permitir fazer pesquisas sem ter que pressionar uma tecla ou combinação de teclas antes da pesquisa, garantia-me que não havia cá sites a abrir em nova janela mas sim em nova tab, permite-me mudar de tab com a roda do mouse, dá-me a opção de limitar algumas features do Javascript que não me agradam muito (tipo alterações à status bar), activar o menu de Debug do safari e que é tanto quanto sei a única maneira de aceder à consola de debug de Javascript, salvar a sessão e restaura-la, sintaxe highlight do source, introduzir alterações a sites, e várias outras features que não utilizo.
Felizmente o iBackup também salvou as preferências deste plugin.

quinta-feira, 10 de maio de 2007

Controlar o iTunes a partir do Quicksilver

Eu costumo controlar o iTunes a partir do Quicksilver, Utilizo maçã-p para play/pause, maçã-<seta para a esquerda> para mudar para a música anterior e maçã-<seta para a direita> para mudar para a seguinte, as restantes acções tenho-as desactivadas.
Felizmente esta foi uma das coisas que na reinstalação ficaram a funcionar porque o iBackup salvou-me a configuração do Quicksilver. Mas ainda hoje quando passei as primeiras músicas para o iTunes estava a pensar como já não me lembrava como tinha configurado isto. E não é tarde nem é cedo, no LifeHacker, lembraram-se de o explicar. Creio que foi mesmo assim que eu configurei o meu.

Outra maneira de sincronizar contactos com o Gmail

Aqui está mais uma alternativa para sincronização do Address Book com o Gmail.

I wasn't expecting the spanish inquisition!

O lado bom (ou mau) de uma instalação é que nos relembram daqueles programinhas que estão lá mas que nem se nota, tal é a sua integração com o sistema, ou no caso que vou falar com o safari.
Estou a falar do Inquisitor, do mesmo autor do Acquisition e do NewsFire que como é habitual no software deste autor, tem uma integração perfeita com o sistema.
O Inquisitor faz um auto-complete às pesquisas feitas na caixa de pesquisa do safari.
Agora, que me lembre, já só me falta descobrir como é que tinha feito para fazer pesquisas no safari (não na web através do safari mas no texto da página actual) sem ter que pressionar maçã-F, e como é que tinha feito para forçar o a abertura em tabs das páginas que insistem em ir para uma nova janela.

quarta-feira, 9 de maio de 2007

Edit in TextMate...

O TextMate serve para muita coisa, bastante mais do que só para programar. Por vezes utilizo-o para escrever e-mails e praticamente todos os posts que escrevo para o blog são feitos no TextMate.
Para facilitar este tipo de coisas existe uma feature interessante que é o "Edit in TextMate..." normalmente alcançado através de uma opção num menu, Edit->Edit in TextMate, no caso do safari, ou através de um shortcut, regra geral ctrl-maçã-E. Quando utilizada esta opção, as alterações guardadas no TextMate propagam-se imediatamente para o software onde foi invocada esta opção. No caso dos posts para o blog, é só selecionar a área de texto no backoffice do blogger onde se escrevem os posts, activar a opção, editar no TextMate, salvar e fazer submit.
Mas... esta opção não é instalada imediatamente quando se instala o TextMate, e só me lembrei disso quando ao escrever o post anterior o ctrl-maçã-E não fez nada. O procedimento para que esta opção fique disponível em várias aplicações é o seguinte. Aceder ao menu Bundles->TextMate->Install "Edit in TextMate"..., isto fará aparecer uma janela com um texto explicativo sobre esta opção.



Nesta janela, no ponto 2 encontra-se um botão com o rótulo "Create Symbolic Link", é aqui que devemos carregar. Tal como escrito por baixo do botão, as alterações ao menu da aplicação só estarão disponíveis após reiniciar a aplicação.
É aconselhável a leitura do ponto 3 para quem queira que esta opção não se propague para alguma aplicação em particular, e do ponto 4 para permitir definir o "modo" em que o TextMate vai abrir em determinado contexto (por exemplo no caso dos posts no blogger o modo será o "Blog -- HTML").

Que maravilha!!!

Hoje não podia passar sem que eu falasse do iBackup. Ontem instalei de novo o meu Mac, já há alguns meses que andava a ameaçar porque tinha o disco cheio e nem sabia bem de com o quê.
Antes de instalar, peguei no iBackup, criei um profile chamado "full backup" onde escolhi tudo o que era preferências, algumas pastas que continham coisas que não queria perder, mail, lib do iPhoto e até algumas aplicações.
Como se pode ver no screenshot, onde a selecção é a que veio por defeito e não a que fiz para o meu backup, o processo de selecção do que vai para o backup e do que não vai é muito simples.



Após a instalação do sistema, instalei também o iBackup e utilizei o profile "restore" para seleccionar o que queria restaurar do backup que tinha feito, que neste caso era tudo. Após esta tarefa o sistema estava impecável, as definições todas recuperadas, tal como os dados. Os bookmarks e até histórico do safari foram recuperados, o wallpaper do desktop, os mails, filtros e até as configurações do Mail Act-on, as configurações do terminal, do Adium, incluindo o icon que eu tinha mudado, as configurações do quicksilver, as configurações do TextMate e até o registo do mesmo, etc...
Simplesmente espectacular, em poucos minutos tinha o sistema quase como estava antes da reinstalação. O iBackup está lá em cima na minha lista de aplicações indispensáveis!

terça-feira, 8 de maio de 2007

Things I can do in Linux that I can't do on Windows.

Uma das primeiras coisas que me lembrei quando li isto foi exactamente o ponto que eles referem.
Já tive que instalar alguns servidores em série e só tive que usar um scp para mandar os ficheiros de configuração do primeiro para os seguintes, a home do meu computador de casa está numa partição à parte e há 2 ou 3 anos que as configurações têm sobrevivido instalações de novas versões do ubuntu, a mais recente há menos de uma semana.

segunda-feira, 7 de maio de 2007

Synergy

Há uns dias, quando escrevi um post sobre o que tinha na minha barra de aplicações, descobri através da barra do autor do blog 43folders, Merlin Mann, que ele corria um software chamado Synergy para utilizar o mesmo rato e teclado em vários computadores.
Entretanto investiguei e descobri que é um software bastante interessante que permite partilhar o teclado e o rato por vários computadores, mesmo que estes corram sistemas operativos diferentes e só requer que ambos estejam ligados por rede ethernet.
Homepage do projecto aqui.

Restart now?

Ainda há uns dias, aquando do último update ao Quicktime eu pensei que já era exagero um restart só para fazer um update a um player. Hoje confirmei que afinal, não sou o único!
Por outro lado, tal como alguém, que usou windows até recentemente, diz nos comentários ao artigo, o pessoal que já não utiliza windows há uns anos (8 no meu caso) acaba por se esquecer da quantidade de restarts que se tem que fazer no windows.

O jeito que isto me teria dado há uns tempos.

Não tive ainda oportunidade de experimentar, mas é coisa para ficar nos bookmarks porque já precisei e concerteza voltarei a precisar em breve. Falo claro desta dica que encontrei a partir do slashdot sobre migração de bases de dados MySQL sem perder os caractéres especiais.

Aproveito para dizer aqui também que entretanto, desde o último post a dizer que foram ultrapassadas as 50 visualizações, voltou-se a bater outro record. Sábado foi ultrapassada a barreira das 60 visualizações, chegando às 61.
Reparei entretanto que uma das visitas marcadas no mapa publicado no sábado está nas Filipinas e duas na Malásia, que são no continente asiático, sendo assim não são 4 os continentes pelo qual se dividem as visitas mas sim 5.

sábado, 5 de maio de 2007

O record dos pobres

Ontem, penso que pela primeira vez, o Repeat Until Keypressed ultrapassou as 50 visualizações.
Deixo aqui um screenshot do mapa com a distribuição geográfica desta semana e que abarcou 4 continentes.

Ubuntu

Estive a instalar o Ubuntu 7.04. A instalação foi feita para substituir a versão anterior do Ubuntu que já tem estado há uns bons tempos no meu desktop PC.
A instalação não teve um bom começo. Logo no momento de escolher o tipo de arranque o, na altura ainda não o sabia mas veio a revelar-se mais tarde, LiveCD não detectou o meu teclado wireless USB, logitech. Falha grave, há 4 ou 5 anos seria admissível, hoje em dia não. Felizmente a opção que necessitava era a default, e foi só esperar que o tempo para escolher terminasse.
O meu PC já tem uns anos, já que o meu investimento em vez de ser num upgrade foi na compra de um Mac, e o LiveCD demorou alguns minutos para arrancar. Nada de muito estranho, mas já se estranha que nem um cursor a indicar actividade tenha aparecido, simplesmente um fundo castanho-alaranjado e um cursor em forma de seta. Por esta altura já se confirmava que o rato estava a ser detectado.
Ao fim desse período de espera surgiu uma mensagem a dizer "There was an error starting the GNOME Settings Daemon". Pelo restante conteúdo da mensagem fiquei com a ideia que a situação poder-se-ia manter após a instalação, por esta altura comecei a pensar se não teria por engano gravado o LiveCD já que tudo indicava que o GNOME estava a arrancar a partir do próprio CD. Pouco depois a minha dúvida foi esclarecida, de facto era um LiveCD, mas que traz um programa de instalação que se corre a partir do GNOME como se faz com qualquer outro software.
Fiz então duplo clique sobre o icon para arrancar o programa de instalação, não aconteceu nada, ou se aconteceu mais uma vez não houve indicações que estava a acontecer, depois de algumas tentativas, aparentemente frustradas tentei clicar com o botão do lado direito e no menu de contexto escolhi a opção "open", ao contrário do que acontece no GNOME depois de instalado, isto demorou uns segundos a desenhar o menu no ecrã. Esperei mais um pouco e concluí que algo devia ter resultado pois na barra do fundo apareceu a indicação que o software estava a arrancar. Estava com receio que as várias tentativas resultassem em várias instâncias do instalador, mas isso não aconteceu.
Segui com a instalação, tudo foi correndo bem, até que cheguei à parte em que tinha que particionar o disco. Como disse anteriormente estava a reinstalar um computador que já continha uma instalação prévia e a minha intenção era manter as partições, formatando algumas delas (/, /boot e a swap). Descobri nesta altura que me tinha esquecido de verificar qual era a partição correspondente às "homes", que eu queria manter sem formatar. Felizmente como estava em ambiente LiveCD não tive que interromper a instalação para o fazer (se bem que já há muito que quase todas as distribuições trazem pelo menos uma consola activa que nos permite fazer coisas deste tipo).
Depois disto foi deixar correr, esteve mais de uma hora a instalar, mas tudo correu bem à primeira. Ao contrário do que aconteceu quando fiz o upgrade para a versão 6.xx desta vez não notei a perda de performance enorme que aconteceu então.
Na utilização já detectei algumas correcções de bugs e vários melhoramentos nos interfaces de configuração do desktop.
Agora já só me falta descobrir como é que removo a porcaria da applet "Network Manager" que não me serve para nada e não consigo encontrar maneira de a desactivar.

PS: Entretanto descobri como remover o "Network Manager", num procedimento digno de ter sido inventado pela Microsoft para o seu Vista, em vez da opção "Remove from panel..." como aparece no menu de contexto de outras applets a única forma que encontrei para remover esta foi ir ao menu "System->Preferences->Sessions", escolher a tab "Startup Programs" e des-seleccionar a opção "Network Manager".

sexta-feira, 4 de maio de 2007

E desde há bocado...

... já houve alterações! Acabei por retirar o VirtueDesktops para dar uma oportunidade ao SpiritedAway. Tenho ideia que o VirtueDesktops seria o culpado de alguma lentidão que tenho sentido ultimamente e ainda por cima não funcionavam muito bem juntos. Por outro lado o VirtueDesktops tinha ainda alguns bugs principalmente na gestão das aplicações que só é suposto abrirem num desktop específico.

Aprende com os chineses!

Há uns dias ouvi na rádio um indivíduo, advogado, supostamente especialista em direito informático, a dizer que não percebia porquê que em Portugal os tribunais (????) ainda não tinham criado uma lista de sites aos quais devia ser bloqueado o acesso a quem aceda à internet a partir de Portugal.
Para esse senhor só tenho um conselho, ele que se informe com o governo Chinês quais as tecnologias necessárias para o fazer eficazmente porque eles são especialistas neste tipo de coisa, e se calhar que fique por lá já que tem tanto em comum com a ideologia desse estado.

E lá em cima, está o quê? [Actualizado]

Como na versão anterior me esqueci que havia pelo menos três utilitários que não estão no arranque e só aparecem depois de correr uma determinada aplicação aqui fica a correcção.
Inspirado no facto do Merlin Mann ter feito o mesmo, vou descrever o quê que eu tenho na minha barrinha do menu do meu Mac.


Da esquerda para a direita tenho:

  • O adium, quem já mexeu num Mac provavelmente conhece, é um cliente para vários protocolos de messeging, aqui mudo o estado das contas nos diferentes servidores, individualmente ou em grupo.

  • Basicamente uso o GimmeSomeTune para buscar automaticamente as letras das músicas no iTunes, a única aplicação que conheço que faz isto como deve ser (isto é, sem intervenção humana) para além desta é uma widget para o dashboard, e como o dashboard me enterra um bocado o computador..., só arranca quando o iTunes arrancar.

  • Desenvolvida pelo mesmo pessoal do quicksilver, esta também só arranca quando outra aplicação arrancar, o Terminal. Chama-se Visor, descrita no MacOSXHints como "Quake-like Terminal, invokable via a hot key", permite configurar uma tecla ou combinação para fazer aparecer uma janela do terminal em "shade" mantendo a aplicação actual activa, ainda não criei muito o hábito de aceder ao terminal por aqui.

  • O inevitável quicksilver, que dispensa qualquer tipo de apresentação.

  • Virtuedesktops, uma aplicação para suporte de múltiplos desktops em Mac OS X, talvez existam melhores, e de vez em quando tem dado alguns problemas, ainda estou a considerar fazê-la desaparecer.

  • Outro que dispensa apresentações, o Google Notifier.

  • MainMenu, uma aplicação para correr as tarefas de manutenção do sistema, dá um jeitão.

  • Esta vem com o sistema, e mostra o estado da bateria, já a tive a mostrar o tempo que a bateria ainda dura, mas acabei por remover essa opção porque o dropdown dá-me essa informação e assim poupo uns pixeis. Durante uns tempos utilizei o Slim Battery Monitor, mas fiquei com a impressão que a bateria se estava a desgastar mais, tal como o coconutBattery parece confirmar.


  • Segue-se o controlador de volume, este também vem com o sistema.

  • Depois vem o controlador do airport, que também vem com o sistema

  • Outra que vem com o sistema, o controlador do bluetooth, muito útil porque costumo sincronizar o telemóvel com o computador com alguma frequência.

  • O Magical, apesar de no site aparecer primeiro a versão alpha para download, por baixo está também a versão estável, permite um sem número de configurações e mesmo a versão alpha é bastante estável.

sexta-feira, 27 de abril de 2007

Mais analytics

Uma coisa que gosto bastante de fazer é ver as estatísticas das keywords que trouxeram os visitantes até ao meu blog. Claro que encontro sempre algumas pérolas que gosto de partilhar.

  • Podemos começar por "fotos em blog marcos lopes" (podemos ignorar o "s" a mais porque me convém), a confirmar o meu estatuto de sex symbol já referido num post anterior

  • Eu sei que este blog não é "hardcore" de tecnologia mas desconhecer a existência dos cursores já e um bocado demais, pelo menos é o que depreendo daqui: " tecla para passar texto sem apagar o que la esta"

  • Há quem seja curto e grosso "estupidos"

  • Não é só "como encontrar ficheiro" que este precisa de saber, mas também como encontrar coisas na net!

  • Depois há quem queira saber "como passar um documento para o computador". Pelo menos sabe abrir o google.

  • Este concerteza queria encontrar o surfista... mas ficou-se pelo "texto prateado"

  • No meio daquelas 12 há sempre quem embirre com uma... este foi com a 5ª e vai de googlar "para que serve a tecla f5".

  • Há quem pesquise por "falta de memória", há quem se esqueça de mais coisas e pesquise por "quem sou eu afinal?", pelo menos não se esqueceu do ponto de interrogação no fim, não fosse o google não perceber que aquilo era uma pergunta.

  • Há sempre um... à procura de sexo, claro, esta é uma variante que eu desconhecia, "sex fwor"

  • Depois há sempre alguém que quer algo que faça alguma coisa em algum momento e que pesquisa algo como "combinacao de teclas e faz algo"

  • Para finalizar, a prova derradeira do meu estatuto de sex symbol, "www.sex simbol.com", não só é uma pesquisa idiota porque se se sabe o endereço não faz sentido ir para o google pesquisar e porque tem um espaço no meio do url, como mostra que uma pesquisa deste calibre vem parar aqui ao barraco comprovando assim o meu estatuto. Isto é que é ascenção!!!!


Depois de ver isto, temo que a maioria dos meus leitores venham cá parar por engano...
Bolas! E eu que achava que até havia gente interessada nisto!

quinta-feira, 26 de abril de 2007

Uma aplicação que até pode ser gira

GCaldaemon, começa mal. E começa mal por um motivo. É em JAVA. E só esse motivo já traz pelo menos as seguintes desvantagens, mesmo acreditando no que dizem os programadores de JAVA em relação aos programas em JAVA já não serem lentos. O primeiro motivo é que a partir da altura em que corra uma aplicação JAVA no meu computador a performance desce drasticamente, como felizmente tenho vida própria isto é um problema já que o dinheiro que gasto não serve para comprar hardware para atirar a este tipo de problemas. O segundo motivo prende-se com a instalação do JAVA. No Mac essa situação é menos grave já que este traz o JAVA instalado de origem, mas em Windows ou Linux é um pesadelo. As versões do JAVA que normalmente acompanham as distribuições são regra geral alternativas ao JAVA da SUN e para variar não funcionam para as aplicações que foram desenvolvidas para este. Instalar o JAVA da SUN no Linux é um procedimento que já não tento há uns tempos mas que costumava implicar a remoção do próprio fígado utilizando para isso a espinha vertebral (a própria também, como é evidente) previamente arrancada com dolorosa violência. Em Windows o procedimento é mais fácil, mas requer uma coisa que também se tem que fazer em Linux, adivinhar entre 300 mil pacotes de instalação qual o J2#43fdsfs22upy0ur5 que afinal temos que instalar para correr a dita aplicação. Não, parece que o problema das linguagens interpretadas de ter que se instalar a linguagem para além da aplicação própriamente dita, coisa que já é complicada para o utilizador comum, não era suficiente para o JAVA, tinha que se complicar a coisa de modo a que quem não programe em JAVA não saiba o que raio precisa de sacar.
Ditas então as partes más que basicamente são "ser feito em JAVA", vamos ver as partes boas que são "o conceito". O conceito é excelente e acaba com as sincronizações através do procedimento "exporta para CSV, vai ao import contactos por CSV", a aplicação permite sincronizar bi-direccionalmente o calendário, os contactos, etc... sem que tenhamos que andar a passear ficheiros CSV de um lado para o outro. Em teoria é uma grande aplicação. Na prática... o tempo o dirá!

sexta-feira, 20 de abril de 2007

Pesquisa na web via quicksilver

Hoje encontrei através do lifehacker um plugin para o Quicksilver, para fazer pesquisas na web.
É interessante, e supostamente permite pesquisa numa quantidade maior de websites do que o plugin que vem de origem, mas inactivo, Web Search Module (é só ir aos plugins e activar). Na minha opinião, não vale a pena utilizar o yubnub, o Web Search Module é mais fácil de configurar, e não necessita que o utilizador decore códigos correspondentes a cada website, se bem que os que vi no exemplo são intuitivos.

CSS Based forms!

Depois de ler isto num blog de um co-agregado do, passe a redundância, agregador de blogs Planet Geek, em conversa com um colega webdesigner, foi-me dado este link, bastante interessante para quem queira fazer uns formulários com um aspecto razoável.
Alguns mais engraçados, outros mais "bloated", mas há exemplos para todos os gostos...