Arduino Duemilanove
A couple of weeks ago I have received my Arduino Duemilanove, a open source hardware platform. You can find more information on the official Arduino web site at www.arduino.cc.
Searching the internet I have been able to find a couple of books related to Arduino
- Getting Started with Arduino by Banzi Massimo
- Making Things Talk by Tom Igoe
- Programming Interactivity by Joshua Noble
- Arduino – Physical Computing f¸r Bastler, Designer und Geeks by Finn, Julian, Odendahl, Manuel, Wenger, Alex
- Open Softwear – Fashionable prototyping and wearable computing using the Arduino (download for free)
- The Complete Beginners Guide to the Arduino by Earthshine Design (download for free)
- ARDX – Arduino Experimenterís Guide (download for free, scroll down to the ‘Resources’ section)
- Arduino Programming Notebook (download for free)
Some of these books are sold as part of so called starter kits which usually includes an Arduino, breadboard, components and starter project descriptions. These books give a wealth of information on the Arduino specifically and electronics on general. I really like the ARDX, this book also clarifies why a certain component (resistors) is included into the design or how a certain component operates. Even without any knowledge about electronics, this book is a nice one to start with.
Quickly browsing all these books and some web sites I am liking the Arduino and its possibilities more and more.
The time has come to define a project for myself. It didn’t take me long to come up with one. I am going to make my own ‘weather station’. It will start out very simple and over time it will be expanded. At the final state of my project I am hoping that it will include the following features and/or components;
- Temperature measurement
- Humidity measurement
- Light measurement
- Barometric pressure measurement
- Graphic LCD display for historic information
- Regular LCD display for displaying current information
- Real-Time clock (which will be initialised and recalibrate from time to time using a DCF77)
- SD card for storing data so it can be transferred to other systems
- Internet connectivity (web page, twitter, etc.)
- Solar power unit/recharger
Just looking at all the components that I want to add to it, I will need to spent some time on learning how to use shift registers (expanding outputs) and multiplexors (expanding inputs). Or I might have to move eventually to an Arduino Mega, but I would much rather do it using the
Duemilanove. This would allow me replace the Duemilanove with for instance a Arduino Nano and build it into a small enclosure case.
First major task for me is collecting all of the components (most I have already found, eBay is good source for some cheap LCDs) that I think I might need and most importantly brush up on my knowledge of electronics. It has been over 20 years since the last time I have done something with this stuff.
Next step will be to work on each of the features in a separate project to see how they work and what kind of coding is needed.
It will be a long way, but I am sure I will have a lot of fun along the way and learn tons of interesting things.
Using Drobo and Drobo Share with Time Machine
Recently I have bought a Drobo and a Drobo Share. One of the reasons for this purchase was to be able to easily expand disk storage capabilities and have a central location to store Time Machine backups for both my Macs.
When I had installed my Drobo and Drobo Share I soon noticed that by default Time Machine does not allow NAS systems to be used as Time Machine backup disks. After a bit of research on the net I found that it is possible but it needs a little bit of work.
This blog post details the step I performed to setup Time Machine for my Macs
1) Setup your Drobo and Drobo Share and make sure everything is in working order and you have enough free space available to store Time Machine Backup data onto your Drobo.
2) For every Mac to be backup-ed using time machine create a sparse bundle image. You can create this disk image by using Disk Utility

Normally a volume size of twice the actual size of the HDD installed in your Mac should be adequate to store multiple versions of your files into the Time Machine backup. If you have enough storage in your Drobo you can make the disk image larger. After the sparse bundle has been created make sure to eject the disk image.
2) Copy the disk image to the root folder of your Drobo
3) Open a Terminal session and execute the following command on every Mac to be backup-ed by Time Machine
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
4) Start Time Machine and select you Drobo as Time Machine Disk. For for Time Machine to start, moste likely it will fail or just stop the prepare action as soon as it starts. If you now look at the contect of the root folder of your Drobo you will notice that one additional file is created. This file is named something like this
Atum_001debec863e.temp.sparsebundle
Atum in my case is the name of my MacBook Pro, and 001debec863e is an identifier used by Time Machine to identify the machine.
Use the first part of the name (Atum_001debec863e) to rename the temp.sparsebundle into its proper name for Time Macine. In my case that would be
Atum_001debec863e.sparsebundle.
4) As soon as Time Machine is done working you can click on the ‘Change Disk…’-button in the Time Machine preference pane and select None from the list.

5) You can now delete the xxx.temp.sparsebundle from your Drobo.
6) Now again you select your Drobo as a Time Machine Disk. This time there should be no errors and Time Machine will start backing up your Mac.

I have used to following resources from macosxhints.com while figuring out how to setup Time Machine in combination with my Drobo and Drobo Share
[1] – Create a Time Machine size limit for networked disks
[2] – Set up Time Machine on a NAS in three easy steps
Google please do not redirect me just because I am traveling
I am traveling a lot for my current job taking me also outside of The Netherlands into Belgium and Germany from time to time. Lately I spent a lot of time around the Brussels in Belgium, which is the French speaking part of the country. As a result all the searches I perform using the Google search bar plugin within Firefox get redirected to a French version of the Google pages and the search result favor web pages written in French.
Since I can hardly speak or read French I find myself constantly typing in a URL for a (in my case) Dutch localized version of Google to do my searches. This totally defeats the purpose of Firefox’s search bar.
Look for a file named google.xml. On Windows systems this file is located at C:\Program Files\Mozilla Firefox\searchplugins. On Mac OS systems the file is inside the Firefox.app. You can get to the file by right (or control) clicking on Firefox.app and selecting ‘Show Package Contents’ from the menu. Within the new Finder window navigate to /Contents/MacOS/searchpulgins.
By default (Firefox 3.0.6) the file contains the following information (except for the Image tag, data for the image itself has been removed)
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Google</ShortName>
<Description>Google Search</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,...</Image>
<Url type="application/x-suggestions+json" method="GET"
template="http://suggestqueries.google.com/complete/search?output=firefox&client=firefox&hl={moz:locale}&q={searchTerms}"/>
<Url type="text/html" method="GET" template="http://www.google.com/search">
<Param name="q" value="{searchTerms}"/>
<Param name="ie" value="utf-8"/>
<Param name="oe" value="utf-8"/>
<Param name="aq" value="t"/>
<!-- Dynamic parameters -->
<Param name="rls" value="{moz:distributionID}:{moz:locale}:{moz:official}"/>
<MozParam name="client" condition="defaultEngine" trueValue="firefox-a" falseValue="firefox"/>
</Url>
<SearchForm>http://www.google.com/firefox</SearchForm>
</SearchPlugin>
Edit the content of the file like below (bold text indicates the changes made to the file)
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Google</ShortName>
<Description>Google Search</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,...</Image>
<Url type="application/x-suggestions+json" method="GET"
template="http://suggestqueries.google.com/complete/search?output=firefox&client=firefox&hl={moz:locale}&q={searchTerms}"/>
<Url type="text/html" method="GET" template="http://www.google.com/search">
<Param name="q" value="{searchTerms}"/>
<Param name="ie" value="utf-8"/>
<Param name="oe" value="utf-8"/>
<Param name="aq" value="t"/>
<Param name="hl" value="en"/>
<!-- Dynamic parameters -->
<Param name="rls" value="{moz:distributionID}:{moz:locale}:{moz:official}"/>
<MozParam name="client" condition="defaultEngine" trueValue="firefox-a" falseValue="firefox"/>
</Url>
<SearchForm>http://www.google.com/firefox</SearchForm>
</SearchPlugin>
This little change ensures that you are still being addressed in English although you are still redirected to a localized Google page. If you totally want to prevent the redirect to happen you could, instead of using “http://www.google.com/search”, use something like “http://www.google.nl/search” or any other of Googles localized search pages.
Using Foxmarks to synch to iPhone/iPod Touch
For some time now I have been using Foxmarks to keep my bookmarks synchronized between several machines I am using. At first Foxmarks, as the name implies, was for Firefox only. About 3 months ago Foxmarks put out betas for both Internet Explorer (Windows only) and Safari (Mac only). The beta period is now over (February 2, 2009) and you can now download Foxmarks for the mentioned browsers from the Foxmarks site.
By just using the Foxmarks software you will be using the following synchronization setup

Since Foxmarks allows for synchronization with Safari, it is now also possible to synchronize your bookmarks with your iPhone or iPod Touch. For this you will need a MobileMe subscription. The synchronization setup will then look like this

On the Mac side you need to setup for Foxmarks and make sure the Foxmarks synching is running
and for MobileMe you have to enable the Bookmarks synchronization
On the iPhone/iPod Touch side you have to setup MobileMe synchronization (visit this page for detailed information on setting up MobileMe)
I have only had two issues with Foxmarks so far;
- Dividers in Firefox sometimes get replaced with “———-”. Normally Foxmarks does a good job keeping dividers being dividers in Firefox
- At some point in time I ended up with two ‘Unsorted Bookmarks’-folders
Both issues are easily solved and never resulted in loosing any of my bookmarks and I am almost certain it was caused due to me playing around with some settings (MobileMe and Foxmarks for Safari) on two machines.
I am only using the bookmark synchronization of Foxmarks, since I am using 1Password to keep my passwords save and secure.
Sharing a hotel WiFi connection over WiFi
For my daytime job I am spending a lot of time in hotels, which btw starts to suck big time. To be able to keep in touch with the rest of the family and do a bit of gaming I usually pay for 50 hours worth of WiFi access which last me through the whole month, well at least most of the time it does. Since I am also an avid iPhone user I turn on the roaming feature from time to time, which to no surprise results in a steep bill from T-Mobile.
So I started to think about this. So I am paying to have 50 hours of WiFi access and I pay T-Mobile for the roaming charges. I started to poke around in the System Preferences panel of my MacBook Pro. Like I suspected by default there is a possibility to share connections from one network card to another. Great.
Now I only needed to find me a nice little wifi router to become part of my standard traveling kit, which is starting to show more and more Apple logos. Quickly I laid my eyes on the AirPort Express. This little gadget was just what I was looking for, great form factor and the right price.
This sunday I was visiting the Media Markt in Rotterdam and I saw some of these beauties lying around. There were even some demo models at a discounted price (€80), so I just had to pick one up. And since my last to bills from T-Mobile both had around €80 of roaming charges, this was a no brainer. Since I had to go abroad the same day I could test the device almost immediately. Which is good since waiting to start playing with any gadget is not one of my strong points.
It turns out to extremely simple to create a private (or public) WiFi access point using the AirPort Express. It only took me two steps (excluding the normal setup of the AirPort Express, which to be honest I don’t for sure now is there is such a process, since mine had already been used to demo the unit). Anyways, here is what I had to do
1) Enable network sharing for your active network card. In my case I had to enable sharing from my built-in AirPort to the built-in ethernet card

Enable ‘Internet Sharing’ and select the correct ‘From’ and ‘To’ network cards
2) Open up the AirPort Utility application and perform a manual setup for the AirPort Express to create a wireless network

Press the ‘Manual Setup’ button

Within the section ‘Wireless’ choose ‘Create a wireless network’, set a network name and provide security information
After these two simple steps I could whip out my iPhone and have it join the newly created wireless network.



Apple, thanks for making my life so easy!!
Tip: When you buy a demo model for any wireless device be sure to ask whether or not the store employees have specified a password for the device. In my case they did, luckily the password as written down in the instruction booklet of the AirPort Express.
Replacing HDD in an iRiver iH120
Years ago I was an avid user of an iRiver iH120, but since I started using iPod’s (yes, I have multiple) it was becoming a dust bunny. When my girlfriend started to follow some weekend courses, I gave the iH120 to her so she could record the lectures so if she had missed something during the course or just wanted to review a particular lesson she could just play the lesson to review it.
It as always worked until the iH120 was accidentally drop from about 1 meter onto a hard floor. The HDD did not survive that drop. So I bought her a Creative ZEN 4GB. It is a very nice MP3 player and has the ability to be used as a recorder. However it turned out to be not such a great recorder after all. It records the sound very well, but it has the tendency to pick all the sound in the vacinity making the recordings very hard to understand.
So I decided to see if I could restore the good old iH120 to working order, assuming it was just the harddrive that was broken and not any other parts of the player. So I did a bit of searching to see what kind of harddrive was needed for this type of player. It truned out that a Thosiba MK3006GAL harddrive of 30GB could be used as a replacement drive. So after this small repair it would have 10GB more space than before the drop.
I ended up buying on from gebruiktelaptop.nl where I could get one for € 19.95, which was quite surprisingly cheaper than what people were asking for the drive on eBay (lowest € 24, highest € 52).
This week the drive finally has arrived and time to get out the tools, well just one tool. You only need one Torx screwdriver (TX5) to take apart the iH120 and replace the HDD.
The replacement process
First a total of eight screws need to be removed, four from the bottom and four from the top of the iH120, after which you can remove the plastic top and bottom covers.

Next you carefully open the unit making sure that you do not damage or brake the power cable that connects the two halfs of the iH120 together.

Now the old drive can be replaced with the brand new HDD and the iH120 can be assembled again.

The whole process takes about 5 to 10 minutes to complete, and no technical knowledge is required.
Booting the iH120
Now that all the ‘hard’ work was completed it was time to boot the iH120. At first all seem to be fine the iRiver logo appears and after a while the main screen appears. However when using the browse function some strange info appeared on the screen.

So I shutdown the iH120, opened it again, made sure all the cables were properly connected. All appeared to be fine so I closed the unit again. Then I decided to hook the iH120 up to my Mac and access the internal HDD of the iH120 using a USB cable. The iH120 showed up without any problems and I could copy files back and forth between the iH120 and the Mac. Conclusion HDD is working fine. As last resort I started Disk Utility to do some further testing of the HDD and as soon as I had a look at the HDD info within Disk Utility the problem was clear. It turned out the HDD was formatted using NTFS instead of FAT32. So I reformatted it as FAT32, disconnected the iH120 from the Mac.
This time when I booted the iH120 all was in working order and I am again a happy man :)
Keeping my digital life in-sync (3)
This is the third installment of my quest to keep my digital life in-sync. In the second part about my quest I blogged about the use of Dropbox. In this post I am going a little deeper into some of the advantages I have come across on the internet.

I am using the application 1Password by Agile Web Solutions to keep track of all my username/password combinations used for the many websites I make use of. Up until a few days ago I used the Mac OS X Keychain synchronization of Mobile Me to synchronize the data between my two Macs. On the Agile Web Solutions Wiki I came across a page describing how you can use your Dropbox folder to store and synch the Agile keychain between your machines.
I have been using it for a couple of days now and so far it works very well, and feels a lot faster when data needs to be synchronized.

As soon as I heard of the existence of Things by Cultured code I installed on my Mac and am using it as my main application to track all the things I need to do or have done by a certain time. This worked very well but it became cumbersome when I bought a second Mac (a Mac Book Pro) and started traveling around. There was a way of manually copying certain files to a USB stick and constantly copy these files between the two Macs. This goes well for a certain amount of time, but eventually I forgot to do the copy trick and was stuck with two difference lists of things.
Method #1: The article Sync Your Things Database via Dropbox desrcibes how you can move the Things library to a different location and then create a symbolic link on the original location for the datafiles that links back to the new location. Read this article carefully, if you don’t feel comfortable using the Terminal use the next method.
Method #2: I was very pleased when I came across the following wiki page describing how Dropbox can be used store it at a location that can be synchronized between several machines. This method is easier then method #1
The only things you really need to be aware of is that you only have one copy of Things running on any machine and make sure synchronizing has been performed between the machines before using Things on the other machine.
Method #1 as described for synching the Things database can be used for other Mac applications as well (for those applications that not let you choose where their information is being stored, like with 1Password), so I am making a list of applications for which I want to keep the data synched between machines.
I am liking Dropbox more and more everyday.
Apple invasion
Few days ago a was just sitting behind my desk and looking at all the electronic equipement/gadgets I had sitting or lying around. After a bit of counting I was amazed to find out that I had over 9 products from one manufacturer. Even more amazing for me was the fact that it took only a little over two years for this invasion to unfold.
My life has been invaded by Apple Inc and unlike other invasions this does not give me a bad feeling on the contrary I feel quite good about it. Sure it cost me an arm and a leg to aquire all of these products, but every time I use these products it feels just right.
So what have I been collecting from Apple over the last
January 2, 2006: iPod Video 5th Gen 60GB 
July 31, 2006: iMac 20″ (Model Early 2006) 
November 20, 2006: Apple Mighty Mouse Wireless 
March 3, 2007: Apple Wireless Keyboard 
March-June 2007: iPod Shuffle 2nd Gen 1GB 
February 7, 2008: iPod Touch 32Gb 
July 15, 2008: iPhone 3G 16GB Black 
June 28, 2008: MacBook Pro 17″ (Model Early 2008)
July 2008: Apple Remote 
When I would include Apple’s software packages as well, the following items could be added
August x, 2007: iWork ‘08 
August x, 2007: iLife ‘08 
September 6, 2008: Mac OS X Leopard 
It seems that I have been transformed into an Apple-addict… Ah well, it could have been worse ;)
Keeping my digital life in-sync (2)
Some months ago I wrote the post Keeping my digital life in-sync. At this moment I still haven’t found a good working solution to keep my bookmarks in-synch. This mainly concerns the bookmarks within (Mobile)Safari on my iPhone. FoxMarks does a pretty good job for anything bookmark related in Firefox, which is my preferred browser on all platforms (Windows, Mac and Linux).
When it comes to being able to access the same documents from different machines I started to use Apple’s MobileMe by using its iDisk functionality. But for whatever reason it didn’t really work well for me.
Since the time I started using Macs I have been listening to the The Mac Geek Gab Podcast by Dave Hamilton & John F. Braun. For some time now I heard them mention Dropbox. So after hearing about their good experience with Dropbox I decided to give it a try.
At the time of writing I have installed Dropbox on four machines (two Macs and two Windows machine) and I like it! It has a nice feel to it, just by looking at the Dropbox folder I can see what the status of my files are (All done or still folders/files to be synched).
One thing that I have found that does not work (not sure that it should) is when you use Dropbox for folders that also contain hidden files. I have some folders that also have files that start with a dot, making the files invisible on Unix based platforms (Mac, Linux, etc.). When these files got synched to the Windows machine the files and folders where created but where visible. When synching between two Windows machines these attributes are also lost. So it is my guess that file and folder attributes are just always lost.
For not a real big issue but I can imagine that for others it is a big deal, so let’s hope Dropbox will find a way of fixing this issue cross platform.
You can get Dropbox for free including free 2.0GB of storage, which if needed can be upgrade to 50GB for $9.99 per month or $99 yearly.
Just so you know…
Add news feeds to NewsGator from Firefox the easy way
When I am working on my Mac it is easy to add new news feeds to NewsGator since I have NewNewsWire installed, but when I am not working on my Mac, for instance when I am at my work doing some research I would still be able to add news feeds I come across to my NewsGator account.
I know that NewsGator provides toolbars for both Internet Explorer and Firefox, but I do not like to install additional pieces of software just to add a news feed. Also when I am working at clients using their hardware mist of the time you will not be able to install software anyway.
Firefox itself has support for adding news feed to some online services (Bloglines, My Yahoo and Google) as well as Firefox’s own bookmarking system (local to the browser itself).
Although Firefox by default has only three services defined, there is room for a total of six services (0 through 5). The settings for these services can be found within the ‘about:config’-page of Firefox. Staring from version 3 of Firefox when you try to open the ‘about:config’-page, Firefox warns you about the damage you could do to Firefox by changing settings using this page. So you have to confirm that you will play nice with Firefox by clicking on the button “I’ll be careful, I promise!”.
On the ‘about:config’-page type the string ‘browser.contentHandlers’ into the Filter-field, this will make sure only the relevant settings are displayed.
The settings for a unused entry (most likely this will be the one numbered 3) are
| Preference Name | Status | Type | Value |
| browser.contentHandlers.types.3.title | default | string | chrome://browser-region/locale/region.properties |
| browser.contentHandlers.types.3.type | default | string | application/vnd.mozilla.maybe.feed |
| browser.contentHandlers.types.3.uri | default | string | chrome://browser-region/locale/region.properties |
To add NewsGator as a content handler for news feeds we will change the settings for the first available unused entry
| Preference Name | Status | Type | Value |
| browser.contentHandlers.types.3.title | user set | string | NewsGator |
| browser.contentHandlers.types.3.type | default | string | application/vnd.mozilla.maybe.feed |
| browser.contentHandlers.types.3.uri | user set | string | http://www.newsgator.com/ngs/subscriber/subext.aspx?url=%s |
Now it is time to restart Firefox to let these changes take effect.
From now on every time you click on a RSS feed, Firefox will give you the possibility to add the news feed to your NewsGator account.
