While I was looking for the smallest Arduino available on the market I stumbled on a website from a guy called Fabio Varesano that has developed a tiny one called Femtoduino. Not only he released the schematics, but he also gave the list of components as well as the board. Thanks Fabio!

You can check all the details on the official website: http://www.varesano.net/projects/hardware/Femtoduino

Now I know that snatching a PCB this is the hardest part since they are so small that they are not easy to build at home. So I talked to a local company and I order small batches of 10 PCBs and I can ship them to you for a total cost of 10€ each (including S/H). Ordering all the components from Mouser and assembling it yourself will cost you less than 20€ which is substantially less than the price charged by the website: http://www.femtoduino.com

So, if you are interested, drop me an e-mail (or comment below). Don’t forget that if you really appreciate this project, buy Fabio a beer ( paypal: [email protected] )

A few days ago someone asked me if I knew any coupon to buy cheap domain names. Since I don’t recall who asked me I’m going to post here the latest coupon I’ve received in my mailbox.




LIMITED TIME OFFER Use invitation code Reg275ne at check out to receive new .com, .net, .org, .biz, .info, and .us domains for only $2.75 when you register for a one year term. Offer valid for new customers only, limited to a total of three domains. Upon expiration, all products will be renewed at the then current price.


This offer will expire in one day so I advise you to hurry up!


If you run a blog you are probably one  of the people that is affected by SPAM originating in servers from a company called ubiquityservers. If you google it you will find hundreds of complaints and unfortunately it seems that people at ubiquityservers will always look the other way regarding this issue.

I have searched for all the subnets registered by ubiquityservers and here it is the results. Just open your .htaccess and add this information to it:


order deny,allow
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from

# Servers @ Nobis (related to UbiquityServers)

deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from
deny from

allow from all

You can check it one by one to confirm, but these are all OK. Say goodby to UbiquitySpam 🙂

After several months offline I decided to implement the needed changes in order to make it work again with my current ISP.  If this is the first time you see this, I have implemented an online version of  this project.

Just check the link on the top of this website ( http://www.davidgouveia.net/android-ksoap2-stub-generator/ ). All you need to do is input the url of the wsdl that you want to generate the stub.

Have fun 🙂

Hello ,

Recently I bought a tablet from Volumerates.com.
I found the product I was looking for, contacted their support and they confirmed that it was the real product.
I then ordered the item, but unfortunately when it arrived there were several mistakes:

  • It wasn’t the same product. They have sent me a different product with a worse performance. The CPU is a low end one. Same with the GPU.
  •  Not only it wasn’t what I ordered, but it was also faulty. Some times it would boot up and some times it wouldn’t (the screen would go crazy like a scrambled TV channel). In addition to that the touchscreen was not completely secure to the tablet (in one edge of the screen we could almost see the insides of the tablet).
  • In addition to be faulty, I was a USED product! One of the times it did boot to Android OS it was possible to see that there were several games installed and their scoreboards were filled!

Touchscreen lifted
I have contacted Volumerates, they apologized and asked me to return the tablet to them using registered mail. I did as they told me to do and send them the invoice of the shipping costs, but they refused to give me a refund for the shipping costs I had to pay to return the tablet to them.

I told them that at least they could offer me the shipping costs (around $20USD) in credit so I could buy other things from them and still they refuse to give me any money as either credit or a direct refund. I have threatened them with a PayPal dispute and they agreed to give me 10€ in credit and asked me to drop the PayPal dispute.

In the meantime, one and a half months passed since the original order and I’ve been trying to check on the status of the tablet to try to know when I was going to have the right tablet and they kept delaying responses and avoiding talking about the tablet. The only thing they kept saying was “could you please drop de PayPal dispute?”. After a few days, I told them that if they could not get me the right tablet, they I would like a refund so I could buy it from another place, and after that they started not responding.

Last week and since they were not responding I decided to escalate the dispute to a claim and let them handle this issue and today I was surprised with an offer from VolumeRates to refund me $35USD.

So, I have spent more than $157USD and all they offer me is $35USD. Don’t you think this is a joke?

To summarize, this is what happened:

  •  O ordered a specific model of tablet. Ainol Novo7 Advanced. I have asked them to CONFIRM that it was the real model BEFORE they ship it to me. They CONFIRMED IT.
  •   I have received a tablet and it was the WRONG MODEL. It was an Ainol Novo7 BASIC.
  • Not only it was the WRONG MODEL, it was also FAULTY. Some times it would turn on and others it wouldn’t, giving me a fuzzy image (like a scrambled TV Channel). Some edges of the screen were lifted and I could see the internal parts of the screen.
  • It was a USED PRODUCT! One of the times that it turned on I could see that it was used because there were no “Welcome Screen” to configure  settings of the Android OS (Everybody who has an Android device knows what I’m talking about) and there were games installed already! And not only they were installed, but there were also some hiscores!
  • I shipped the tablet back to them using registered email. They received it but started avoiding talking about it. They didn’t want to give me a refund for the shipping costs but after I threatened them with a paypal dispute they agreed at least in giving me 10€ as credit.
  • After a while avoiding talking about the tablet they told me that they COULDN’T GET ME the ORDERED MODEL. I asked for a refund so I could buy from another place and since they stopped responding again I have escalated the PayPal dispute to a PayPal claim.
  • Today I have received a message from PayPal Resolution Center offering me a partial refund of $35USD!

Is this a joke or what?


Just check it out the PayPal Email:

Dear David Gouveia,

We are in the process of investigating the following claim:

Seller’s Name: Hanas tech
Seller’s Email: [email protected]
Seller’s Transaction ID: xxxxxxxxxxxxxxxxx

Transaction Date: Dec 29, 2011
Transaction Amount: -$137.22 USD
Invoice ID: xxxxxxxxxxxxxx
Your Transaction ID: xxxxxxxxxxxxxxxxxx
Case Number: PPxxxxxxxxxxxxxx

Buyer’s Transaction ID: xxxxxxxxxx

The seller has offered a partial refund in the amount of $35.00 USD.

Please log in to the Resolution Center and accept or deny this offer within
10 calendar days.


We encourage you to consider the partial refund offer thoroughly. By
accepting the seller’s offer you will be closing this case amicably. If you
deny the seller’s offer, the investigation will continue. If the case is
decided in the seller’s favor, however, you may not receive a refund at all.

Your cooperation is essential to the claims process and failure to respond
will result in automatic cancellation of your claim. Once a claim is
automatically cancelled, you forfeit the possibility of a refund.

Yours sincerely,

Help Center:
Security Center:

Please do not reply to this email because we are not monitoring this inbox.
To get in touch with us, log in to your account and click “Contact Us” at
the bottom of any page.

Copyright © 2012 PayPal. All rights reserved.

PayPal (Europe) S.à r.l.et Cie, S.C.A.
Société en Commandite par Actions
Registered office: 22-24 Boulevard Royal, L-2449 Luxemburg
RCS Luxemburg B 118 349

PayPal Email ID  xxxxxxx


Are they kidding me or what? Is PayPal encouraging me to let go more than $100USD for something that was not my fault? Shouldn’t they protect the ones on the right side of the reason?


What could possibly be the reason for them to protect VolumeRates other than the money they earn in commissions from payments?



EDIT: Today I received another email from PayPal stating that they could not confirm delivery even though I have PROVIDED the TRACKING CODE:



Hello David Gouveia,

We have concluded our investigation into the following claim:

Seller’s Name: Hanas tech
Seller’s Email: [email protected]
Seller’s Transaction ID: 9HT97100FC7330801

Transaction Date: Dec 29, 2011
Transaction Amount: -$137.22 USD
Invoice ID: 111229GE2GI8VRS
Your Transaction ID: 5HK1958606992362T
Case Number: PP-001-646-077-481

Buyer’s Transaction ID: 5HK1958606992362T

The tracking information you provided was invalid and we were unable to
confirm delivery of the item associated with this claim. As a result, the
case is now considered closed and we are unable to process a refund.

We encourage you to work directly with the seller to find a resolution.

Thank you for your cooperation.


Protection Services Department

PayPal does not tolerate fraud or illegal activities. Your complaint has
been noted in the record of the PayPal user you reported. If we find this
user has violated our policies, we will investigate and take appropriate
action. If this occurs, you may be contacted in the future about the status
of this complaint.

To make sure future transactions proceed smoothly, we suggest you visit the
PayPal site and click the Security Center link located at the top of any
page. There you will find tips on how to avoid fraudulent sellers in the
“Fraud Prevention Tips for Buyers” section.

Please do not reply to this email. This mailbox is not monitored and you
will not receive a response. For assistance, log in to your PayPal account
and click the Help link in the top right corner of any PayPal page.

Copyright © 1999-2012 PayPal. All rights reserved.

PayPal (Europe) S.à r.l. & Cie, S.C.A.
Société en Commandite par Actions
Registered Office: 5th Floor 22-24 Boulevard Royal L-2449, Luxembourg
RCS Luxembourg B 118 349


Now please tell me, how is it possible that they could not confirm the tracking code:

I even gave PayPal the opportunity to use my login/password to access the support system of VolumeRates and confirm all our exchanged messages but they prefer to look the other way and help crooks like VolumeRates.

I already contacted Mastercard and filed a fraud claim. Lets see what will happen but I’ve learn a valuable lesson:

PayPal? NEVER AGAIN. If you need any help they will only protect sellers to protect their income.


VolumeRates? Scammers, Crooks, Thieves of the worst kind! They will simply ignore your messages and will try to make you delay the opening of a claim until there is nothing you can do! Stick with other low cost websites like DealExtreme!


Edit #2 Mar, 06 2012

Today I went to my Bank and a fraud claim was filed against PayPal and VolumeRates:

They told me at the bank that it would take a week to investigate this issue. I hope this brings me good news!

Yesterday I received an email from Android Market support team saying that my application was removed due to a violation of the Developer Distribution Agreement. They explicitly say that the application could be used in an “harmful way”.

Here is the complete email:

This is a notification that the application, Router Passwords, with package ID net.davidgouveia.routerpasswords has been removed from Android Market due to a violation of Android Market developer terms. It has come to our attention that this application could be used in a way that is harmful to devices, networks, or users.

For specific policies pertaining to this suspension, please see:
Developer Distribution Agreement:
4.3 Use of the Market by You
4.4 Prohibited Actions
Content Policy:
Malicious Products

Specifically, this application allows users to circumvent the (default) password protection made available through third-party routers. We would like to emphasize that the simplicity in which a security measure is circumvented is irrelevant to the application of this Android Market Developer agreement provision.

Please fully review the Content Policies, Developer Distribution Agreement, and Business and Program Policies before you create or upload additional applications. Please also consult our guidelines on rating your application.

Please be advised that this or additional violations may result in a suspension of your Android Market Publisher account, and may also result in actions, including possible suspension, taken against any associated Android Market Publisher, AdSense, Google Checkout, or AdMob accounts.

The Android Market Team

Since I believe that the source of this problem is the database that ships with the application, I will launch a new one without any information. You will then be able to populate da database with information about all of your network devices.

I would also like to thank all the people who’ve helped me reach almost 700k downloads in a few months.

Stay tuned 🙂

PS: You can still download the application from other sources including this website. Click here.

Enquanto testava o reencaminhamento de portas para a minha rede interna verifiquei uma serie de factos assustadores.

Provavelmente este assunto já foi debatido pela Internet fora mas nunca me tinha apercebido. Quem tem um router wireless Thomson TG784n espero que saiba que por defeito o acesso à consola de administração está aberto a partir do exterior e como se não bastasse as credenciais de acesso são estáticas e iguais para todos! Ou seja, em vez de terem criado passwords aleatórias tal como fazem com as chaves do acesso wireless, resolveram correr toda a gente com as passwords 3!play e meo para as contas Administrator e meo respectivamente.

Resolvi então fazer um varrimento de pequena subnet onde me encontrava e constatei algo ainda mais assustador, é que esta situação é GERAL em todos (OK, talvez não sejam todos mas pelo menos os Thomson e Zyxel que testei eram)!

Os portadores de routers Zyxel fornecidos pela Sapo não só possuem credenciais de acesso semelhantes como ainda são brindados com toda a informação relativa às credenciais de acesso à Internet e Wifi completamente escarrapachadas para qualquer um ver! basta digitarem https://[vosso IP externo] para se depararem com algo como isto:

Numa análise mais cuidada ao código fonte é possível verificar que a password do acesso à internet encontra-se cifrada, mas o nome de utilizador não! PIOR… a chave de acesso ao wireless não é cifrada tal como poderão ver nesta imagem o que compromete e muito a segurança da rede!

E isto é apenas para falar do que salta logo à vista, pois há outro tipo de possibilidades como por exemplo descobrir a topologia da rede, escutar a propria rede (vulgo sniffing) ou até mesmo usar essa mesma rede como tunel para executar outro tipo de tarefas ilicitas em terceiros.

O conselho que dou é: Se possuem algum equipamento adquirido a um ISP então tratem de ou mudar as credenciais de acesso ou então bloquear o acesso ao interface de gestão a dispositivos provenientes do exterior da rede.

Não digam que não vos avisei!


Today I’m going to show you a very small script that allows you to convert any video (as long as it is supported by mplayer) to a GIF.

Required tools:

* mplayer

* convert


mplayer is popular media player available for multiple operating systems that support a wide range of video formats. The convert tool is an utility that lets you convert between multiple image formats among other definitions.  Since the mplayer takes screenshots using jpeg format, we need to use the convert tool to do the convertion to aGIF format.


Copy the following code, save it to a file and change its permissions (chmod a+x) and you are ready to roll 🙂



shopt -s nocaseglob
if [ ! -d "$TMPDIR" ]
        mkdir $TMPDIR
\rm $TMPDIR/* &> /dev/null
if [ $# -lt 3 ]
        echo -e "Usage: $0    []\nExample:\n$0 00:15:11 10 myvideo.avi 320:240"
        exit 1
if [ -n "$4" ]
echo "Generating screenshots. Please be patitent..."
mplayer -ao null -ss $1 -endpos $2 $3 -vo jpeg:outdir=$TMPDIR/ -vf $SCALE &> /dev/null
if [ -f $TMPDIR/00000001.jpg ]
        echo "Finished generating frames. Assembling the animated GIF..."
        convert -delay 5 $TMPDIR/*.jpg $TMPDIR/output.gif
        echo "Done! Please check the $TMPDIR/output.gif"
        exit 0
        echo -e "Oops\! Something went wrong and the frames were not generated. Check your parameters\!"
        exit 1

Just try it and let me know 😉

As a sysadmin, I should always search and check for errors on every machine that I manage. Unfortunately one of them has an Adaptec 5405 which I forgot to monitor using nagios and just like Murphy’s Law says – “Anything that can go wrong will go wrong” – something went wrong and I have lost information. Not a really big problem because I have backups of everything but it could have been avoided if I had monitored the status of the Adaptec just the way I do with software raid arrays (/proc/mdstat rules!).

So I developed another simple script using Perl (again 😛 ) to check the status of all the available arrays.

#!/usr/bin/perl -w
use strict;
use warnings;
my $adaptec_tool = "/usr/src/cmdline/arcconf";
my $dump = `$adaptec_tool getconfig 1 ld`;
my @raids = ();
while ($dump =~ /Logical device name.*?:.*?([a-z0-9]+).*?raid level.*?:.*?([0-9]+).*?status of logical device.*?:.*?([a-z0-9]+)/gsi) {
        push @raids, {"name" => $1, "raidlevel" => $2, "status" => $3};
foreach my $raid (@raids)
        if ( $$raid{status} ne "Optimal" )
                print "Critical: Raid not Optimal! (Array Name: $$raid{name}, Level: $$raid{raidlevel}, Status: $$raid{status})\n";
print "OK: All arrays in optimal shape\n";
exit (0);

You just need to download the “Adaptec Storage Manager” to connect to the RAID card and read the status. You can use this link to do it.