A Feature Not A Bug #1
•Abril 17, 2008 • Deixe um comentárioGTD vs GTTFD
•Abril 11, 2008 • Deixe um comentárioBem… penso que muitos de nós já ouviram falar na metodologia GTD de David Allen como forma de melhorar a produtividade, a qualidade de vida, acabar com o efeito de estufa e muito provavelmente resolver a crise no médio oriente… Pois é, mas quem já ouviu falar em GTTFD?
Acho que vou repensar a minha forma de trabalhar :)
Pakistan Telecom featuring YouTube Hijacking
•Fevereiro 29, 2008 • Deixe um comentárioHei this one I hadn’t seen before. Pakistan Telecom tried to “shut down” Youtube. RIPE NCC RIS made a use case of it and created a video explaining all about it:
More information regarding this issue can be found in RIS’s webpage “YouTube Hijacking: A RIPE NCC RIS case study“.
I guess I’ll be using more tools available from RIS (BGPlay rules!).
Office 2008 for Mac…
•Fevereiro 15, 2008 • Deixe um comentárioI was trying to install the Office 2008 for Mac but, unfortunately, it was a not so easy task.
I began installing the package, which was fairly easy. All went well and smooth, until… the Setup Assistant began the final steps for concluding the installation. Not only I couldn’t get it to finish the installation, but it was even more frustrating since I was one step away to begin using the very much awaited new version of Office for Mac and… no way José.
In the log message I could read:
Exception: EXC_BAD_ACCESS Application Name: Microsoft Office Setup Assistant Application Signature: MosA Crashed Module Name: EntourageLegacy
Entourage?! WTF?…
The worst part was that I could open all applications (e.g. Excel, Word) but I couldn’t open or save some types of files. For example, in what Word is concerned I couldn’t save .doc files but I had no problems with .docx files, and the same happened for opening operations. The error message was always the same, if I wanted to save a file as xpto.doc I got:
xpto.doc could not be found.
After a lot of time looking…I found out that my directory ~/Library/Caches/TemporaryItems had its permissions changed sometime ago and only root could write in it (I had also tried the “Repair permissions” from Disk Utility before but that didn’t help). Since Setup Assistant uses this folder, as well as some other Office operations, I could never do anything with it…So, here’s the Solution:
chown -R myuser:myuser ~/Library/Caches/TemporaryItems
Eureka! All became alive! And only took… too long. I wonder… should there be a specific programming discipline for not creating cryptographic error messages? It’s probably in the same package as test units…
Firefox e keywords de pesquisa
•Dezembro 12, 2007 • Deixe um comentárioApesar de não ser um utilizador exclusivo de Firefox (também utilizo Safari em paralelo), o primeiro destes tem imensas vantagens, mesmo sem qualquer add-on. Algumas destas não estão explícitas no interface mas…revelam-se bastante úteis, nomeadamente, e a minha favorita, é a de keywords de pesquisa. Como se utiliza?
- Quando sobre uma caixa de pesquisa qualquer, clicar com o botão direito do rato (ou de outra forma qualquer o que interessa é aceder ao menu contextual);
- Seleccionar opção “Add a Keyword for this Search” e introduzir a keyword pretendida para esta pesquisa.
Como exemplo, podemos utilizar o IMDB.
Clicar com o botão direito do rato na caixa de pesquisa e seleccionar a opção “Add a Keyword for this Search”:

Nas propriedades do bookmark, nomeá-lo como "IMDB search” e colocar a string “imdb” como keyword

A utilização é simples. Supondo que se pretende pesquisar informação relacionada com o David Lynch, basta aceder à “location bar” e digitar:
imdb David Lynch
Automaticamente esta string é transformada no seguinte URL:
http://www.imdb.com/find?s=all&q=david%20lynch
Et voilá!
A parte brutal desta funcionalidade é que funciona em qualquer caixa de pesquisa e out-of-the-box! Muito bom e uma excelente, e divertida, forma de poupar tempo.
API para os Google Charts
•Dezembro 11, 2007 • Deixe um comentárioGráficos e mais gráficos….
Quem aqui há uns tempos procurava uma forma simples de gerar gráficos on-line nem sempre tinha tarefa fácil. Pois bem esses problemas foram desaparecendo a pouco e pouco e heis que hoje temos um serviço on-line gratuito (com determinadas restrições como não podia deixar de ser – até 50000 clicks/dia – acho que consigo viver com isso…) mas que nos permite criar gráficos on-the-fly! O Google deu-nos essa benesse.
Para uma ferramenta gratuita e online, apesar das restrições, permite uma manipulação bastante extensa de dados – e.g. possibilidade de 3 eixos. Ainda não tive tempo de compreender a viabilidade de implementar funcionalidades de drilling mas…tenho de experimentar!
Para começares a utilizar a API podes experimentar manipular o URL associado à imagem acima e se pretenderes entrar nos meandros da ferramenta, nada como ler o manual.
Nota mental: sei que cada tipo de gráfico tem a sua aplicação, a sua escolha poderá ser determinante na interpretação visual correcta ou incorrecta dos dados, blá blá blá, mas…odeio gráficos de tipo queijo! Odeio “prontus”!
Actualização: Para os amantes de Perl sai um módulo fresquinho – Google::Chart.
“BitTorrentear” em sessões SSH
•Novembro 27, 2007 • Deixe um comentárioEstava eu hoje no processo de encontrar uma forma simples de utilizar um cliente BitTorrent numa máquina instalada com SO Ubuntu Server quando surjiram vários problemas…
Discrimino em seguida os mais importantes:
- A distro Ubuntu Server não tem clientes BitTorrent por defeito;
- Chego ao servidor através de sessões SSH a partir do meu portátil. Como evitar que os meus torrents abortem quando desligo o meu portátil?
Assim sendo, descrevo de seguida as soluções que encontrei para ambos os problemas.
Cliente BitTorrent
Aplicação: BitTornado
Descrição: Aplicação de BitTorrent com CLI e que, pelo menos até ao momento, funciona de acordo com as expectativas.
Manutenção de Sessão
Aplicação: GNU Screen
Descrição: Aplicação que permite multiplexar um terminal físico em múltiplos processos e, no caso aqui em discussão, shells.
Exemplo
Para quem pretenda ir buscar o GRANDE filme de Ficção Científica “The Last Man on Earth” numa máquina remota (e.g. 10.0.0.1), mas não quiser ficar à espera que o download termine, bastará:
$ ssh user_xpto@10.0.0.1
$ screen btdownloadcurses.bittornado http://publicdomaintorrents.com/bt/btdownload.php?type=torrent&file=The_Last_Man_on_Earth.avi.torrent
Para sair da sessão sem a terminar:
premir Ctrl-A D.
Para voltar a aceder à mesma sessão (no caso de ter sido lançado apenas 1 screen):
screen -r
Nota: do ponto de vista de licensiamento o filme utilizado no exemplo encontra-se em “public domain”. Podem encontrar mais em Public Domain Movie Torrents ;).
Eu e o meu SpeedTouch 585…
•Novembro 20, 2007 • 2 ComentáriosBem…vamos apenas esclarecer que eu partilho da dor daqueles que pretendem colocar um router ADSL SpeedTouch sob monitorização. E que bicho é este? Fica aqui uma foto do rapazito para ajudar à contextualização:
Tendo isso em conta, avancemos para umas dicas de como monitorizar um SpeedTouch 585 com firmware v6.1.0.5.
ICMP
Por defeito a configuração do router permite o acesso IP originado na interface lan. Para se poder verificar esta configuração existe um comando muito simpático e, curiosamente, muito pouco documentado, o qual se segue:
:service system list name=PING_RESPONDER expand=enabled
Idx Name Protocol SrcPort DstPort Group
---------------------------------------------------------------------------------
1 PING_RESPONDER icmp 8
Description................ ICMP echo responder
Properties................. server
Attributes................. state aclip aclif aclifgroup log
User Managed Attributes.... state aclip aclif aclifgroup log
Attribute Values :
State...................... enabled
Ip Access List............. any
Interface Access List...... any
Interface Group Access List lan
Logging.................... disabled
Agora adiciona-se o interface ao grupo wan para acesso externo:
:service system ifadd name=PING_RESPONDER group=wan
O router neste momento irá responder a pings proveninentes de qualquer fonte. Porquê? Porque existe aquilo que se pode considerar uma access list associada ao serviço, a qual por defeito permite tudo de todo o lado. Para se limitar o acesso apenas a determinados IPs, basta especificar o(s) endereço(s) permitido(s). Supondo que o endereço externo a permitir acesso é o 172.16.1.123, teremos:
:service system ipadd name=PING_RESPONDER ip= 172.16.1.123
Adicionamos agora a rede interna (e.g. 10.0.0.0/24):
:service system ipadd name=PING_RESPONDER ip=10.0.0.[1-254]
ou
:service system ipadd name=PING_RESPONDER ip=10.0.0.1-10.0.0.254
E agora já temos a configuração do serviço PING_RESPONDER como pretendemos:
:service system list name=PING_RESPONDER expand=enabled
Idx Name Protocol SrcPort DstPort Group
---------------------------------------------------------------------------------
1 PING_RESPONDER icmp 8
Description................ ICMP echo responder
Properties................. server
Attributes................. state aclip aclif aclifgroup logUser
Managed Attributes.... state aclip aclif aclifgroup log
Attribute Values :
State...................... enabled
Ip Access List............. 172.16.1.123 10.0.0.[1-254]
Interface Access List...... any
Interface Group Access List lan wan
Logging.................... disabled
SNMP
Esta é daquelas que simples mais simples não há e para o exemplificar procedi à seguinte configuração:
- Acesso: leitura;
- Comunidade: public;
- Acesso: permitido a partir de um servidor da rede local.
:snmp community add securityname=ROCommunity communityname=public
:service system modify name SNMP_AGENT state enabled
Verifica-se qual o estado actual do serviço:
:service system list name=SNMP_AGENT expand=enabled
Idx Name Protocol SrcPort DstPort Group
---------------------------------------------------------------------------------
1 SNMP_AGENT udp 161
Description................ Rx snmp GET, SET and GETNEXT PDUs
Properties................. server
Attributes................. state port aclip aclif aclifgroup map
User Managed Attributes.... state aclip aclif aclifgroup map
Attribute Values :
State...................... enabled
Port....................... 161
Ip Access List............. any
Interface Access List...... any
Interface Group Access List lan
Map List................... 161
Logging.................... enabled
Agora adicionamos o IP do servidor que fará o polling (e.g. 10.0.0.2):
:service system ipadd name=SNMP_AGENT ip=10.0.0.2
Finalmente…
voilá, afinal nem foi tão complicado…pois…
Espero que ajude e aqui ficam outros comandos interessantes:
:service system list
:interface list
:snmp walk
Googleapps a sairem quentinhas…
•Novembro 8, 2007 • Deixe um comentárioDepois de sair a notícia do Android ainda durante esta semana, heis que surgem rumores de aplicações que já tiram partido dessa mesma plataforma.
A notícia é proveniente da Valleywag.com e contém screenshots para dar um cheirinho da coisa.
Dual monitor? Nope, quad…
•Novembro 8, 2007 • Deixe um comentárioPois é…há pessoal com necessidades “especiais”, por isso mesmo, nada como conseguir a melhor configuração de monitores que nos permita executar o nosso trabalho da melhor forma. Se para isso for necessária uma barreira de monitores…que seja:





