Wednesday, November 16, 2011

How to fix Roomba 500 series battery problem

My Roomba 520 has been out of service for more than six months. The wheels worked fine but the internal brushes didn't turn around anymore. I picked it apart and cleaned the internal gears and engine several times which made it work for a while but I finally gave in and bought a new engine.

Surprise, surprise, it refused to start even after charging it for more than one day. I always got this never ending loop:

It successfully undocked from its docking station but it just reset whenever it tried to start the brushes which led me to believe it was a low battery problem.

Mixing various instructions I found on the internet, I ended up with this procedure which seems to fix the problem:

  1. Connect the Roomba and charge it completely (until the light turns  green)
  2. Disconnect the Roomba from the charger (the light turns off)
  3. Turn on the Roomba by pressing the Start button once (the light turns green)
  4. Press and hold down the Dock and Spot buttons for 15 seconds to reset the Roomba (the Roomba turns off)
  5. Release the Dock and Spot buttons (the Romba plays the 5 tone startup sound)
  6. Go back to step 1
I have repeated the procedure 5 times so far and the run time keeps increasing. 

Thursday, November 10, 2011

The Nabaztag is dead, long live the Nabaztag

My Nabaztag has been collecting dust on my desk since the online service powering it died this summer.

The first meeting of GTUG Milano was the perfect excuse to have some fun and use the Nabaztag for something useful. Using this Nabaztag disassembly video it didn't take long to pick it apart and figure out which wires controlled what.

Thomas took care of all the electronics work and I added some lines of code to the Android ADK demo code to create a proof of concept Android ADK powered rabbit.


Take it for what it is; a proof of concept that just controls the two ears, 3 multi color LEDs and does some text to speech. It does not do any of the useful things that the Nabaztag did like reading mails, rss feeds, showing weather information etc.

It could though, as all of it is easy to implement on Android. Which is why it's time to make it do something useful :-)

I've decided to replace the Android ADK Demo Shield with a Arduino Mega ADK which is smaller an "only" costs 59 euro. It will be the interface with the Nabaztag hardware and control the ears and LEDs initially. The rest of the work will be done by an Android device.

To be perfectly honest, I probably got a bit carried way when ordering the Arduino Mega ADK. I got some LEDs with the idea of organizing them in a grid to show basic symbols, but then I found the 32x16 LED matrix and couldn't resist it. The idea of replacing the 3 multi colored LEDs found in the Nabaztag with something that can display information was just too much to resist. I think it should fit in the almost empty Nabaztag shell but I may have to do some rabbit surgery if it doesn't.

Add the power of cellbots and we have a pretty powerful rabbit on our hands. Let's just hope it does not turn Evil...

Thursday, May 19, 2011

WhyMCA Mobile Developer Conference tomorrow and Saturday in Milano

The free WhyMCA Mobile Developer Conference looks very interesting with tracks for Android, iPhone, Windows Phone 7, cross platform development etc. There will be a parallel Mobile Hackathon if you want to show of your coding skillz.

Plenty of interesting topics on the agenda.

Monday, May 16, 2011

Friday 13th

Disaster struck Friday:
You can say what you want about the dreaded BSOD on Windows but at least it tells you something.

Murphy's law struck at the worst possible time (of course) as I had just moved a lot of photos from my digital camera to my harddisk for editing and I hadn't uploaded them to Picasa yet. 

PhotoRec to the rescue, again, as it was able to recover all photos from the memory card. I've used in the past when my Compact Flash card got corrupted. PhotoRec managed to recover all the pictures including old, partially overwritten, photos. It's free, it works and runs on just about every OS there is. What more can you ask for?

I've got almost all my data in the cloud so I didn't loose much but I did loose some Android code I was playing around with. Time Machine would have kept my data safe but I cannot use it on my work machine so I put together a quick script using rsync to backup my personal directory yesterday. Let's see if it works on Friday January 13th 2012...

Tuesday, May 3, 2011

Challenge: a new dinner recipe each week

I'm trying a less extreme version of Matt Cutts' 30 day challenge for the next few months; at least one new dinner recipe each week.

I have a set of dinners recipes that I really like so I end up making them over and over again instead of trying something new. It's not a problem from a nutritional point of view due to the variety (meat, fish, pasta, salads, etc) but it gets boring after a while. The kids are old enough to try something new and tell what they think my experiments so why not?

Try at least one new recipe each week.

The first experiment is: Meatballs in tomato sauce (automatically translated so be careful...) with spinach as a side dish:

Tuesday, April 26, 2011

The Human Chaos Monkey

I have never worked on a project with an automated Chaos Monkey, but I have had the great pleasure of working with a human Chaos Monkey for many years (I'm sure you know who you are :-)

This particular Chaos Monkey insisted on;

  1. Having everything load balanced/replicated even in the testing environment (both for testing and for making sure it matched the production environment as much as possible)
  2. Making sure that the replicated services worked correctly but killing one instance, waiting for it to fail over then kill it again to make sure it failed back.
  3. Running a short stress test even for minor changes
  4. Running long, preferably over the weekend, load tests for major infrastructure changes
The result was a rock solid infrastructure that had close to zero downtime apart from planned maintenance windows where changes depended on other systems. The outages we had were due to external systems replying slower than required so we implemented a killer monkey that recycled com+ processes taking to long.

Making the process clear upfront is a great help; there is no way your code is going into production until you've passed the Chaos Monkey.

Sunday, April 24, 2011

Five-leaf clover

Four-leaf clovers should bring luck. What about the five-leaf clover I found in the local park?

Too close to Milano and pollution or will I be extra lucky?

Friday, April 22, 2011

Reading protected PDF files on the Amazon Kindle 2

I recently bought a new Nikon DSLR on as it had the best price I could find in Europe. As usual it arrived in no time in perfect condition but it only had the French manual. I found an English version of the  PDF version of the Users' Manual on the Nikon web site but is not readable by the Amazon Kindle 2 as printing is password protected.

I already own a paper copy of the manual so I don't feel guilty about removing the password protection of the PDF file so I can read it on my Kindle. This one line command on Mac/Linux uses GhostScript to remove the password protection:

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=unprotected.pdf -c .setpdfwrite -f protected.pdf
It also reduced the size of the file from 23Mb to 14Mb :-)

Sunday, January 16, 2011

The first real motorcycle trip of the year

Thick fog in Milan, humid and cold this morning but I decided to trust the weather forecast that promised sunshine further north. Just above freezing until I hit the first hills and Lago di Segrino. Took a quick stop at Madonna del Ghisallo just to enjoy the warm weather (+10), blue sky and fantastic view.

The road up to San Primo was surprisingly good considering the time of year. Only found a few places close to the parking where the road was completely covered by ice.

Didn't stop for lunch at Rifugio Martina this time which is a shame as they have excellent food and a view of both the Lecco and Como branches of the Como lake.

View of San Primo close to the Rifugio Martina restaurant:

Headed down to Onno instead which offered a great view of Mandello del Lario, home town of Moto Guzzi