<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.6(BH)" -->
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Planet Maemo: category &quot;feed:d96b080fca66d64fd56a892298c08a27&quot;</title>
        <description>Blog entries from Maemo community</description>
        <link>http://maemo.org/news/planet-maemo/</link>
        <lastBuildDate>Sun, 24 May 2026 07:19:46 +0000</lastBuildDate>
        <generator>FeedCreator 1.7.6(BH)</generator>
        <language>en</language>
        <managingEditor>planet@maemo.org</managingEditor>
        <item>
            <title>Squeak, Scratch and Etoys on Ubuntu and Maemo</title>
            <link>http://www.orient-lodge.com/node/4356</link>
            <description><![CDATA[
<p>When my older daughters were young, I told them they could play any game on the computer that they could write.  While I did not make this a strict hard and fast rule, we did take it somewhat seriously at it helped establish a more creative approach to the use of computer games.</p>
<p>Back then, I had them programming in <a href=http://en.wikipedia.org/wiki/Logo_(programming_language)>Logo</a>.  Now, my youngest daughter has asked for a Nintendo DS and a cellphone for Christmas.  I’ve told her the same thing about writing her own programs, so today, we spent a bit of time working in Scratch on her Ubuntu based laptop.</p>
<p>For some background:  <a href=http://scratch.mit.edu>Scratch</a>:</p>
<blockquote><p>
is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web.</p>
<p>As young people create and share Scratch projects, they learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively.
</p></blockquote>
<p>It runs nicely on just about every platform, and I’ve been running it on Ubuntu as well as on my Nokia N900 cellphone for some time.</p>
<p>I started my daughter off with simple logo type program commands.  Soon, she was drawing triangles, squares, hexagons, circles, and designs that I used to create with a spirograph when I was a kid.</p>
<p>We moved on to exploring a few other bits of programming and hit a few walls.  The sound wasn’t working and some of the simple commands did not seem to do anything, so I figured maybe it is time to make sure that everything is up to date.</p>
<p>Scratch runs in a <a href=http://www.squeak.org>Squeak</a> virtual machine.  “Squeak is a highly portable, open-source Smalltalk with powerful multimedia facilities.”  I had been running Squeak 3.9 on my various machines, and Squeak 4.1 is now out.  So, I’ve started my upgrade to Squeak 4.1.</p>
<p>There is a good blog post on <a href=http://blog.blobworks.com/2010/08/16/squeak-on-ubuntu-reloaded/>upgrading Squeak on Ubuntu machines</a> that I used as my guide.  In my case I downloaded the deb file and installed it that way on my Ubuntu machines.  However, the <a href=http://packages.debian.org/squeeze/i386/squeak-vm/download>debian package page</a> suggested adding the repository to apt/sources.list.</p>
<p>I figured maybe I would try this for my N900, however, after adding the repository containing squeak, the update manager asked if I wanted to update just about every package on my system, including Ruby, Python, gstreamer and who knows what else.  So, I backed out of that upgrade.</p>
<p>Trying to install just the package, it told me that I needed at least libc6 2.7 and libuuid1 2.16 as well as a few other packages.  So, I didn’t install it and stayed with <a href=http://www.orient-lodge.com/node/3888>the older version of Squeak on my N900</a>.  I did rebuild that version, as well as make some attempts at building a newer version of Squeak, but ran into difficulties, so I’m saving that for a later blog post.</p>
<p>On the Ubuntu laptops, the upgrade went smoothly and I then followed <a href=http://blog.blobworks.com/2010/09/01/getting-squeak-4-1-on-ubuntu/>Getting Squeak 4.1 on Ubuntu</a> to upgrade to the latest version.  This also went very smoothly on both machines.</p>
<p>Yet this did not solve the problems, so I downloaded the latest <a href=http://info.scratch.mit.edu/Scratch_1.4_Download>Scratch image</a>.  This runs nicely on all my machines and has solved all the outstanding issues on Ubuntu.  The N900 install will probably take a bit more work.</p>
<p>More soon...</p>
<span class="net_nemein_favourites">8 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=2998defcfb4911dface585202c127a7d7a7d&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/2998defcfb4911dface585202c127a7d7a7d/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=2998defcfb4911dface585202c127a7d7a7d&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/2998defcfb4911dface585202c127a7d7a7d/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Sun, 28 Nov 2010 22:56:20 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-2998defcfb4911dface585202c127a7d7a7d</guid>
        </item>
        <item>
            <title>The Nokia #N900 and the Next Ideal Mobile Device</title>
            <link>http://www.orient-lodge.com/node/4340</link>
            <description><![CDATA[
<p>I have had a Nokia N900 cellphone for almost a year now, and for me, it has been the best mobile device I’ve had yet.  There are lots of interesting developments continuing to go on with the phone, even though it and its operating system appears to be reaching the end of its life.  So, I thought this would be a good chance to look at what ideas from the N900 and other devices ought to be carried forward to future devices.  This is, perhaps, especially relevant with Nokia now selling the N8 and MeeGo developers having a conference right now.<br />
&lt;!--break--><br />
First, I should note that everyone has different needs and desires of a mobile device.  For some, simply making phone calls is enough.  Others want texting, the ability to take pictures and videos, the ability to play music and games, the ability to run various apps, and some even want a device that is easy and fun to hack.  As you add on more features, you also add on complexity and people who want simple devices may get frustrated with very complicated devices.</p>
<p>For me, the ability to talk, text, photograph, stream video, play music and games is essential.  The interesting areas come when you start talking about apps and hacking.  I’ll save some of that for a geekier part of this post.</p>
<p>Talking is pretty straight forward, not much to say there, other than the ability to talk over other networks, like SIP and Skype is important to me, although I don’t use it much.  Texting is also pretty straight forward.  For me, it includes having a nice slide out keyboard to use.  On screen keyboards and T9 typing are fine, but if you really want to type, you want a decent keyboard.  The N900 keyboard has been fine for me.</p>
<p>To me, photography from a mobile device is important.  The N900 came with a 5 Megapixel camera.  That sure beat the 1.3 Megapixel camera on my old phone, and was almost as good as the 7 Megapixel digital instamatic type camera I use.  The N8 has a 12 Megapixel camera.  I’m really interested to see what can be done with that.</p>
<p>The N900 has a perfectly functional camera app.  However, I recently started using the BlessN900 camera app, and it makes a real difference.  The pictures come out much nicer.  It supports High Dynamic Range (HDR) photography and bracketing.  To me, a 12 Megapixel camera and an application like BlessN900 are the baseline for an ideal mobile device.</p>
<p>I currently stream video using QIK which is fine for me, and I use the default music player on the N900.  I do use uPnp so I play music off of my home Linux Server using Mediatomb through my N900 when I’m in range.  I haven’t loaded up my home Linux Server with as much music as I would like, but I can easily imagine an audiophile putting a giant collection of music on some sort of uPNP player and listening via an N900.</p>
<p>In terms of games, I really like accelerometer based games and wish there were more of them out there.  However, I don’t play games that much.  However, this gets to the broader issue of apps.</p>
<p>The apps market is currently split up between iPhone apps, Android Apps, and everything else.  The N900 does great in the everything else department.  If the application is open source, there is a good chance that someone has ported it to the N900.  For that matter, people have been putting together various emulators so you can run different apps on the N900.  Yet this still leaves the iPhone and Android apps.</p>
<p>I have used Nitdroid, and if I want to run an Android app, I reboot my N900 to run Android.  Not all the functionality has made it over to Nitdroid, so I only run it when I really want to test an app, and I know that not all the apps will function properly.  If I want to run an iPhone App, as far as I know, I’m out of luck.</p>
<p>I’ve now experimented with several different ways of running different operating systems on my N900.  Initially, I used bootmenu.  Then I started using Multiboot, which works nicely with Nitdroid.  Now, the ‘power kernel’ supports uBoot, which is supposed to work nicely with Meego and be a much cleaner way of booting different operating systems.  I haven’t played with uBoot enough to really have much to say about it yet.</p>
<p>However, this does get to something important to me.  I want to have the option to easily select which OS I want to boot.  Multiboot gives me a nice menu.  It would be great to see some similar menuing capability built on uBoot.  I worry that the effort going into making the N900 a nice multiboot device might not be as readily accessible as multibooting currently is to the N900.  I hope that whatever the idea next mobile device is, it comes with multiboot and I hope that MeeGo developers are looking at ways to make MeeGo based devices multiboot nicely.</p>
<p>Yet rebooting to run a different operating system is fine for geeks who have time to play around with things.  Another approach is to use chroot.  I’ve run Debian and Meego using chroot and it runs nicely.  I don’t have to shutdown my device and restart it with a different OS.  At times it can be slow or cumbersome, but it is a nice option.</p>
<p>In the chroot arena, I would like to be able to have a single operating system image that I could boot using uBoot, or bring up in Maemo (or ultimately MeeGo) with an easychroot program.  At present, I have two different images of MeeGo on my device.  One as an image file in my MyDocs directory and the other as a file system on my SD card.  I tweeked the easychroot program to use the SD card file system and I think there may be some other nice tweeks coming in this direction.  Ideally, I’d love to see the functionality of Multiboot, uBoot, and easychroot converge.  I would like to use uBoot to chose which OS to boot, have it use configuration files and a menu similar to Multiboot and give me the ability to chroot from whichever OS I’m running to one of the other OSes that I have loaded on my machine.  Yeah, it’s a tall order, but it illustrates what I’d like in my ideal device.</p>
<p>Of course for me, some of it is the joy of being able to hack in multiple operating systems.  For other users, it could be as simple as wanting to run the widest array of applications.  Ideally, I would like to be able to click on a menu item and run an Android App, a WebOS app, a MeeGo app, a Maemo app, or some other systems app and let the menu system chose what needs to be loaded to let the app running.</p>
<p>Now to some of the nitty gritty stuff.  I like it that power kernel supports IPv6.  I don’t do a lot with IPv6 yet, but I believe it is important.  I also like the access to how the battery is functioning, the different types of file systems that can be mounted, the ability to be a mobile hot spot, and probably a bunch of other things with power kernel that I’m overlooking.</p>
<p>I am glad to see that host mode USB is now being tested.  I’ve loaded it and just need to get a proper cable to be able to start testing it.  Ideally it would be nice to have two different USB ports so host mode could be used along with traditional usb functionality.  I’m interested in finding out if I can use a USB hub to support multiple USB devices.  </p>
<p>For video out, the RCA type connection works well for me.  At some point HDMI will be important, so my idea device would probably support both for the time being.  I would also like to be able use a Wii remote as my mouse, or perhaps a different mobile device.  I could easily imagine a gathering where everyone brings their mobile devices.  They hook one up to the television and everyone else uses their mobile device as a remote for some very serious gaming.</p>
<p>So, I’ll continue to read the maemo discussions and might even start reading Meego discussions again sometime soon.  I’ll chat with anyone who is interested how to take some of the great development energy from around the N900 to continue with whatever the next mobile device will be, and I’ll happy run my N900 as long as I can.</p>
<p>That said, I’ll skip over a lot of the posts about how complicated it is to get power kernel 45, uboot, hostmode USB, fcam drivers and and other components working.  Yeah, it’s complicated, but it is worth it to find out how the device really works and get it do do lots of new things.</p>
<p>So, what do you think?  What should be in your next ideal mobile device?</p>
<span class="net_nemein_favourites">6 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=77bb2640f1b111df82c4a1c2fee4f454f454&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/77bb2640f1b111df82c4a1c2fee4f454f454/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=77bb2640f1b111df82c4a1c2fee4f454f454&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/77bb2640f1b111df82c4a1c2fee4f454f454/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Tue, 16 Nov 2010 18:23:15 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-77bb2640f1b111df82c4a1c2fee4f454f454</guid>
        </item>
        <item>
            <title>Updating to Kernel Power 44 on the #N900 - multiboot, nitdroid, fcam and blessn900</title>
            <link>http://www.orient-lodge.com/node/4332</link>
            <description><![CDATA[
<p>This evening, I went to update any programs on my N900 that had new versions.  One of which was kernel power.  Kernel Power is a wonderful package for the N900.  The parts I like most are the battery usage statistics, IPv6 support, different file system support, and the ability to run mobile hotspot.</p>
<p>That said, I like to push the limits of my N900 so I’ve also got multiboot and nitdroid installed.  So, I’m not surprised when things break when I do an upgrade, and things broke when I tried updating the kernel power package.</p>
<p>After poking around for a while, I found a fairly easy way to get things back.  First, I tried using various things like pressing 0 when multiboot came up to get a stock kernel boot.  That didn’t work.  I booted into Nitdroid, and tried to edit the files from Nitdroid.  No luck.</p>
<p>Finally, I ended up with this as the best procedure I could come up with.</p>
<p>First, I reflashed just the kernel.  I still had my image around from upgrading to PR 1.3, so it was pretty easy:</p>
<blockquote><p>
sudo ./flasher-3.5 -F RX-51_2009SE_20.2010.36-2.002_PR_COMBINED_002_ARM.bin --flash-only=kernel -f -R
</p></blockquote>
<p>At this point, I rebooted, and still had multiboot and all my other applications running.  I pressed 0, and this time I got to a stock kernel.  I logged in, and uninstalled multiboot, and reinstalled it.  I also installed multiboot-kernel-maemo  and multiboot-kernel-power.</p>
<blockquote><p>
apt-get remove multiboot<br />
apt-get install multiboot multiboot-kernel-maemo  multiboot-kernel-power
</p></blockquote>
<p>I started testing and everything is back in order.  Nitdroid is also still working.  Now, I need to find out what the updated kernel power really does for me and start messing around a little bit more with Meego.</p>
<p>I also am using Blessn900 with the fcam drivers, and at this point, they appear to be working properly as well.</p>
<p>Next, I’ve reinstalled easy-chroot and easy-deb-chroot.  I had these around a few reflashes ago and it is time to retry them.  Next, I’ll see if I can get <a href=http://qole.blogspot.com/2010/11/running-meego-handset-in-n900-chroot.html>Qole’s easy-meego-chroot</a> running.</p>
<span class="net_nemein_favourites">6 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=81e18c86ed3d11dfb6069b233e94a75da75d&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/81e18c86ed3d11dfb6069b233e94a75da75d/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=81e18c86ed3d11dfb6069b233e94a75da75d&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/81e18c86ed3d11dfb6069b233e94a75da75d/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Thu, 11 Nov 2010 02:29:40 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-81e18c86ed3d11dfb6069b233e94a75da75d</guid>
        </item>
        <item>
            <title>My Update Adventure #N900 PR 1.3, NitDroid, Titan, and MeeGo</title>
            <link>http://www.orient-lodge.com/node/4309</link>
            <description><![CDATA[
<p>So, the latest update to the firmware for the Nokia N900 came out today, and I figured I’d give it a shot to see what works and what doesn’t.  As I did for my experiments installing <a href=http://www.orient-lodge.com/node/4301>NitDroid on the N900</a>, I am writing this as a log so people can see what worked and didn’t for me.  It will be geeky, so non N900 users may want to skip this post.<br />
&lt;!--break--><br />
My biggest concern was whether PR 1.3 would conflict with NitDroid, Multiboot, Power Kernel or other things I had running.  On the Maemo Users mailing list, I found that the default PR 1.3 kernel returns 2.6.28-omap1  Sure, it is an August build, but I guessed that it wasn’t all that different from the Nitdroid or Power kernels.  So I tried an Over The Air or OTA upgrade.</p>
<p>To do an OTA upgrade, you go to a command prompt.  I would not use my N900 without SSH access, so I sshed in and tried the update.</p>
<blockquote><p>
apt-get update<br />
apt-get dist-upgrade
</p></blockquote>
<p>It complained about various packages that conflicted, so I tried removing them.  I was told 904 packages would get updated,  12 new packages would get installed, and 476 would be removed.  The 476 packages to be removed kind of worried me, but I figured I would give it a shot.  Eventually, it got to the point where it was failing on packages like osso-wlan, dbus, libhildon1 and  libgtk2.0-0.</p>
<p>I guess it must have removed busybox, because I couldn’t even do the simplest linux commands.  So, I reflashed the device.  First, I went to <a href=http://tablets-dev.nokia.com/nokia_N900.php>http://tablets-dev.nokia.com/nokia_N900.php</a> and downloaded the US PR 1.3 image: RX-51_2009SE_20.2010.36-2.002_PR_COMBINED_002_ARM.bin</p>
<p>I then flashed the device</p>
<blockquote><p>
flasher-3.5 -F RX-51_2009SE_20.2010.36-2.002_PR_COMBINED_002_ARM.bin -f
</p></blockquote>
<p>When I rebooted, it took a couple minutes to restart, but when it did I had PR 1.3, none of my apps, but most of my data.</p>
<p>Like I did the last time I <a href=http://www.orient-lodge.com/node/4254>bricked my N900</a>, I then went out and started reloading apps.  I added the various extra repositories.  I then loaded OpenSSH so I could start working from my desktop.</p>
<p>I loaded kernel-power, multiboot and related packages.  I did this in a few separate steps just to be safe:</p>
<blockquote><p>
  apt-get install kernel-power kernel-power-settings<br />
  apt-get install kernel-power-bootimg<br />
  apt-get install multiboot-kernel-power<br />
  apt-get install usbip mtd-utils kexec-tools
</p></blockquote>
<p>With all of this in place, I reinstalled the NitDroid package.  The NitDroid file system was started out on my external card, so I didn’t need to reinstall NitDroid.  Instead, I just needed to reinstall the package I had downloaded.  Fortunately, this was in MyDocs so I still had it to use:</p>
<blockquote><p>
dpkg -L nitdroid-kernel-2.6.28-06_final1_armel.deb
</p></blockquote>
<p>With this reinstalled, I rebooted into Android and checked to make sure everything was still working as well as it had been.</p>
<p>Returning back to Maemo, I installed many of the other packages that I like to use.  My lighttpd configuration got wiped out again, so I reinstalled and at least partially reconfigured that.  I don’t have all the CGI code installed, but if you use IPv6 you can get to my <a href=http://n900.woodbridge.smartcampaigns.com>N900 IPv6 Lighttpd server</a>.  (For notes on that installation, check <a href=http://www.orient-lodge.com/node/4197>Setting up a Nokia #N900 to be an #IPv6 Enabled Web Server</a>.</p>
<p>So, Power Kernel or Titan is working, as is NitDroid.  I made another attempt at booting MeeGo.  I can chroot to Meego but not do much that way.  kexec and multiboot are still not working for me.  For that matter, since I have my MeeGo partition in a weird place, /dev/mmcblk1p5, I haven’t even been able to boot to it using flasher.</p>
<p>I did a quick check of various application on the N900 and most of them seem to be working okay.  The <a href=https://bugs.maemo.org/buglist.cgi?classification=Maemo%20Official%20Applications&amp;classification=Maemo%20Official%20Platform&amp;resolution=FIXED&amp;target_milestone=5.0/(20.2010.36-2)&amp;order=map_products.name,bugs.bug_id>list of bugs fixed for PR 1.3</a> don’t include much of interest to me.</p>
<p>There are a couple things that remain outstanding besides reinstalling various packages I haven’t tested yet.  I get a message about libsdl-mixer1.2 and libsndfile1 being held back.  If I attempt to do a dist-upgrade, it complains about problems with upstart.  Also, pianobar is not currently installable.</p>
<p>Bottom line:  Upgrading to PR 1.3 is a bit of a timesink which doesn’t appear to break anything major, but doesn’t appear to bring any advantage I’ve been able to find yet either.</p>
<span class="net_nemein_favourites">7 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=fa84716ae06f11dfbe6d15924c3517921792&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/fa84716ae06f11dfbe6d15924c3517921792/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=fa84716ae06f11dfbe6d15924c3517921792&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/fa84716ae06f11dfbe6d15924c3517921792/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Mon, 25 Oct 2010 19:19:11 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-fa84716ae06f11dfbe6d15924c3517921792</guid>
        </item>
        <item>
            <title>My New Nokia #N900 #Android Phone</title>
            <link>http://www.orient-lodge.com/node/4301</link>
            <description><![CDATA[
<p>The phone itself isn’t new, nor is the idea of installing Android on a Nokia N900.  However, I took a slightly different path which I figure some of my geekier friends might find interesting.</p>
<p>Recently, there has been a discussion about PR 1.3 coming out and supporting dual booting between Maemo and MeeGo.  This isn’t really anything all that new.  I wrote about <a href=http://www.orient-lodge.com/node/4029>configuring an N900 to boot Mer, MeeGo and Fedora</a> back in April.  In August, I wrote about <a href=http://www.orient-lodge.com/node/4202>Bootmenu, Kernel Power and MeeGo on the N900</a>.  Eventually, I <a href=http://www.orient-lodge.com/node/4254>bricked my N900 and recovered it</a> as I moved from Bootmenu to Multiboot.</p>
<p>However, it did get me thinking again about trying to load NitDroid on my N900.  After bricking my phone, I’ve been a little more cautious about undertaking a project like this, and I wanted to do it in a manner different than how the installation describes.<br />
&lt;!--break--><br />
The preferred method of installing NitDroid is to use the <a href=http://wiki.nitdroid.com/index.php?title=N900-Autoinstaller>Autoinstaller</a>.  The downside is that the Autoinstaller repartitions  your MicroSD card.  This is fine if you’ve got a small MicroSD card with nothing special on it.  However, I have a 16 Gig MicroSD card that is already partitioned the way I want.  The first continues to be data storage that I use when I’m running Maemo.  The second is swap space that was necessary for Fedora which is on partition 3.  Partition 4 is set up to be partitioned into multiple extended partitions.  Partition 5 has Mer, Partition 6 has MeeGo so I was thinking of putting NitDroid on Partition 7.</p>
<p>It turns out that using a modified version of the old <a href=http://wiki.nitdroid.com/index.php?title=N900-install>NitDroid N900 Install procedure</a> worked very nicely for me.</p>
<p>Some of the reason it worked nice and easily, I suspect, is because I already had MultiBoot and Power Kernel running.  I really like both packages.  I also already had the device partitioned the way I wanted.  /dev/mmcblk1p1 was already a 2 GB FAT partition.  /dev/mmcblk1p7 was already defined as a 2 GB partition.  So, I skipped everything except the </p>
<blockquote><p>
mke2fs -L NITDroid -j -m0 /dev/mmcblk1p2
</p></blockquote>
<p>command.  I changed mmcblk1p2 to mmcblk1p7 and had my partition formated.</p>
<p>Likewise, I already had bzip2 rootsh and kexec-tools installed on my phone, and I like vim better than nano, so I skipped that step.  As noted, I also already had multiboot.  So, my next step was to get the NitDroid root file system.  Initially, I downloaded <a href="http://downloads.nitdroid.com/nitinstaller/Packages/NITDroid-N900-the-flying-world.tbz2" title="http://downloads.nitdroid.com/nitinstaller/Packages/NITDroid-N900-the-flying-world.tbz2">http://downloads.nitdroid.com/nitinstaller/Packages/NITDroid-N900-the-fl...</a>  But when I went to download the kernel, it wasn’t there.  Looking in the <a href="http://downloads.nitdroid.com/nitinstaller/Packages/" title="http://downloads.nitdroid.com/nitinstaller/Packages/">http://downloads.nitdroid.com/nitinstaller/Packages/</a> directory, I found <a href="http://downloads.nitdroid.com/nitinstaller/Packages/nitdroid-kernel-2.6.28-06_final1_armel.deb" title="http://downloads.nitdroid.com/nitinstaller/Packages/nitdroid-kernel-2.6.28-06_final1_armel.deb">http://downloads.nitdroid.com/nitinstaller/Packages/nitdroid-kernel-2.6....</a>  I also found <a href="http://downloads.nitdroid.com/nitinstaller/Packages/NitDroid-0.0.8-Popov.tar.bz2" title="http://downloads.nitdroid.com/nitinstaller/Packages/NitDroid-0.0.8-Popov.tar.bz2">http://downloads.nitdroid.com/nitinstaller/Packages/NitDroid-0.0.8-Popov...</a> which appears to be a more recent version of the rootfs.</p>
<p>So, I downloaded both of them.  I followed the instructions for downloading and installing NitDroid, except that I changed the partition to mmcblk1p7.  I downloaded the kernel package as well.  However, before I installed it, I checked the contents with </p>
<blockquote><p>
dpkg -L nitdroid-kernel-2.6.28-06_final1_armel.deb
</p></blockquote>
<p>to see what would get installed and if I had to worry about it clobbering something important.</p>
<p>It is worth noting that it installs files to the /and directory, so you need to have followed the instructions for installing NitDroid, at least in terms of the directory that you create.  Initially, I wasn’t going to do it that way.  I’ve been staying with the standard used for the media of having each partition mounted as /media/mmcn, where n is the partition number.  If I had mounted the Android partition that way, part of my installation would have failed.</p>
<p>Then, to my pleasant surprise, the installation created the /etc/multiboot.d/11-NITDroid-mmcblk1p7-2.6.28.NIT.06.item NitDroid menu item.  I took a quick look and it looked good, so I rebooted my phone with the slider open and the menu option came up for booting NitDroid.</p>
<p>After bricking my phone, it always seems like an eternity to boot a new operating system on it.  Is my phone frozen?  Bricked?  Or just busy trying to boot up?  A little patience and NitDroid came up.  </p>
<p>I ran through the startup routines.  It did not have the ability to search for my wifi, so I entered the SSID manually.  It connected and we were off and running.  The next step of the process asked me to put in my Google account.  I put that in and was told it could take up to five minutes to complete.  After much longer than that, I rebooted.  Then, I remembered.  With other OS installations, there are often problems with DNS lookup.  I booted into Maemo, and went to the /and/etc directory and created a resolv.conf file:</p>
<blockquote><p>
nameserver 8.8.8.8
</p></blockquote>
<p>That is a Google domain name server, so I figured it should be good for my purposes.  It is also an easy to remember name server.  I booted back to NitDroid, got back in, and started playing.  I placed a call to and from my cellphone.  Both times the calls connected, but I couldn’t get any voice, just a buzzing sound.  I also sent a text message, but didn’t receive it.  The telephony needs a little more testing.</p>
<p>Then, I ran into the next problem.  Once I’ve started an Android App, how do I get out, short of rebooting?  I went to the #nitdroid-help IRC channel and it was empty.  So, I check old logs and found that the camera button gets you back.</p>
<p>Once I had that figured out and started playing with the user interface, it all seemed pretty straight forward.  The background screen is a nice seascape.  At the bottom are four icons for Messaging, Contacts, Market and Maps.  At the top is a window where you can do a Google search, and on the right is a grid you can tap on to bring up the whole list of applications.  You can scroll to the left or right, the same way you can in Maemo.  To the left was an icon for the camera, which I couldn’t get to work.  To the right were icons for Gmail and Talk.  Both of them seemed to work nicely.  However, I can’t find any way of leaving an application running in the background, the way I like to in Mameo by using the Ctrl Backspace key.</p>
<p>When I try to run Google Maps, I get ‘The application Maps (process com.google.android.apps.maps) has stopped unexpectedly. Please try again.  Contacts pulled in information from my Google Account.  I went to the menu of applications.  Again, it is very similar to Maemo, with the exception that you scroll left to right instead of up and down.</p>
<p>The browser worked nicely.  The calculator was simple, but functional.  The calendar nicely pulled in events from Google Calendar.  Chrome to Phone is an interesting app where you can send a URL from a Chrome browser to your cellphone.  It would be interested to see if a version of this could be ported to Maemo or Meego.</p>
<p>The alarm is functional, but soft.  It does have a few different sounds that can be set.  The clock also has a photo slideshow and a music player.  It appears to be getting music off of the FAT directory, which is nice.  It also appears to get some images off of the /home/user/MyDocs directory.  Music between Maemo and Android can easily be shared that way.  It does not appear to work as a uPnP client, which is too bad.  Perhaps there is a uPnP client app that I can find and download.    The clock also has weather capabilities, but that is not working.  I suspect this may be related to GPS issues which may also be some of the Google Maps issue.  There is also a gallery app, which is supposed to be able to share to several different services, however, that did not work for me.</p>
<p>So, while there are still parts that aren’t working, the N900 does at least become an interesting test platform for Android apps.  I’ll keep running Maemo for the time being as I continue to experiment with Android, and hopefully eventually get a little further with MeeGo.  If you’ve done any interesting alternative OS testing on the N900 or have ideas about what can be done to get MeeGo or Android more functional, please let me know.</p>
<span class="net_nemein_favourites">11 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=a454a012dcb411dfac3501523b5c2cde2cde&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/a454a012dcb411dfac3501523b5c2cde2cde/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=a454a012dcb411dfac3501523b5c2cde2cde&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/a454a012dcb411dfac3501523b5c2cde2cde/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Thu, 21 Oct 2010 01:11:13 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-a454a012dcb411dfac3501523b5c2cde2cde</guid>
        </item>
        <item>
            <title>Building Virtual Worlds on the #N900</title>
            <link>http://www.orient-lodge.com/node/4281</link>
            <description><![CDATA[
<p><i>You are in a maze of twisty little packages, all alike.</i></p>
<p>This is a long article about attempting to build virtual worlds on cellphones.  It starts off with some general thoughts and history that I encourage everyone to read.  It then goes into some technological details more applicable to geeks.  If you are an impatient geek, please skip to the <a href=#technical>technical discussion</a>.</p>
<p><a name=prologue><br />
<h3>Prologue</h3>
<p></p></a><br />
Perhaps I played too much <a href=http://en.wikipedia.org/wiki/Colossal_Cave_Adventure>Adventure</a> when I was young.  Perhaps somewhere along the way constructivist theories of permeated my approaches to learning and entertainment.  Perhaps my rules about computer games for my children wore of on me.  Whatever the cause, I’ve been spending a bit of time trying to build various virtual world tools for my Nokia N900 cellphone.</p>
<p>When my eldest daughters were in elementary school, I told them they could play an computer game that they could write.  They played in Logo, they wrote MOOCode, and I hope they learned the joy of creating and of understanding what makes things work the way they do.</p>
<p>As I thought about what to get for a smartphone, I wanted a device that reflected this.  I wanted a device that I could get in and write my own programs for.  Yes, I could have chosen to become an iPhone developer.  Friends have done that.  But the iPhone needs to be jailbroken if you want to really have fun with it.  Android looked like a much better platform, and I almost went that way.  Yet many Androids are also locked down pretty tightly.  So, when Nokia came out with a linux based cellphone that is about as open as you can make a cellphone, with some pretty nice features as well, it became a clear choice for me.</p>
<p>One of my early projects was to <a href=http://www.orient-lodge.com/node/3888>install Squeak on my N900</a>.  <a href=http://www.squeak.org/>Squeak</a> is a Smalltalk programming environment that is particularly popular amongst constructivist oriented elementary school educators interested in teach children to program games.  It is also the basis for some interesting virtual worlds projects.  Unfortunately, the font was too small and I hadn’t gotten reading glasses yet, so I put it aside for the time being.  One of these days, I’ll come back to it and figure out how to resize fonts and objects.</p>
<p>As I watched the Olympics last winter, I thought further about virtual worlds on the N900.  What I would really like to tackle is building a <a href=http://www.orient-lodge.com/node/3964>Bobsled in an Open Source Mobile Virtual World Experience on the Nokia N900</a>.  At that point, I considered trying to build the <a href=http://wiki.realxtend.org/index.php/Main_Page#Naali>Naali</a> viewer to connect to <a href=http://opensimulator.org/wiki/Main_Page>OpenSim</a> virtual worlds.</p>
<p>There were various N900 programmers interested in this, but it also got put on the back burner.</p>
<p>Yesterday, in response to recent developments in virtual world education, I wrote about <a href=http://www.orient-lodge.com/node/4280>Running OpenSim on a SliceHost VPS</a>.  John Lester, commonly known as Pathfinder in the virtual world communities went one step further and wrote a great blog post about <a href=http://becunningandfulloftricks.com/2010/10/07/a-virtual-world-in-my-hands-running-opensim-and-imprudence-on-a-usb-key/>Running OpenSim and Imprudence on a USB Key</a>.  He spoke about having a virtual world in his hands, a world of his own creation, using pieces that he had built or borrowed from other virtual worlds.</p>
<p>Two days earlier, he had written a great blog post about the current turmoil in virtual world education, <a href=http://becunningandfulloftricks.com/2010/10/05/with-every-exodus-comes-expansion-educators-and-non-profits-in-second-life/>With every Exodus comes Expansion</a>.  His efforts to hold a virtual world in a USB key in the palm of his hand, I believe, is simply a starting point for this great new exploration.  With the USB key as a guidepost and previous experience to build upon, I felt it was time to start exploring a world within my N900.</p>
<p>At this point, I will move from narrative to a hacker-adventurers log.  If you are less geeky, you may want to skim over this section.  It documents my exploration of the maze of twisty little packages I have just started exploring.  I realize I may lose a bunch of people at this point, and may have already lost quite a few.  However, I encourage you to read this to get an insight into what can be the joys of exploring computers and virtual worlds on mobile devices.<br />
&lt;!--break--><br />
<a name=technical><br />
<h3>Hackers Log</h3>
<p></p></a></p>
<h4>Mono for Maemo</h4>
<p>As I entered the maze, the first path I decided to pursue was getting <a href=http://opensimulator.org/wiki/Main_Page>OpenSim</a> up and running on my cellphone.  Opensim runs on <a href=http://www.mono-project.com/Main_Page>Mono</a>, a cross platform, open source .NET environment.  So, the first step was to try and find Mono on the N900.</p>
<p>As is often the case, other people have gone down this path before and left markers.  In the discussion, <a href=http://talk.maemo.org/showthread.php?t=47400&amp;page=3>Mono 2.4.3 on Maemo</a>, I found a debian repository with Mono for Maemo.  I added it to my list of repositories in /etc/apt/sources.d/, ran an apt-get update, and then tried to find what to install.  It looked like the package I wanted was mono-runtime, yet I couldn’t find it in the cache.  In the end, I grabbed the package from the repository with wget and used dpkg --install to install it.</p>
<p>It installed without a problem.  However, it didn’t bring in any of the related packages and was for all practical purposes useless.  Using apt-cache search, I found all bunch of mono libraries and installed them.  At this point, Mono started working on the N900.</p>
<h5>ASP.NET and Lighttpd on the N900</h5>
<p>As a brief diversion, I thought I would explore another path briefly.  A couple months ago, I installed <a href=http://www.orient-lodge.com/node/4197>Lighttpd on my Nokia N900</a>.  <a href=http://www.lighttpd.net/>Lighttpd</a> is a light weight, but powerful webserver.  I got it running nicely on my N900, and made it available over IPv6.  During my testing, I configured it to support PHP, Perl, Ruby and Python.  I wondered if I could get it to support asp pages as well.</p>
<p>There are various <a href=http://ubuntuforums.org/showthread.php?t=803743warnings about mod_mono</a>, which allows for asp pages on Apache servers, not working nicely with php.  So, I’ve held off on experimenting with that on my linux servers.  That is another path to explore later on.  Yet could I use mono to make asp pages work on my lighttpd server on my N900?</a></p>
<p>The <a href=http://www.mono-project.com/FastCGI_Lighttpd>FastCGI Lighttpd</a> configuration page talks a little bit about how to do this, but I wasn’t finding the pieces I needed from my N900 install, so I’ve set this aside as another path to explore at a later day.</p>
<h5>Starting Opensim on the N900</h5>
<p>Well, with Mono now running on my N900, I figured it was time to try and fire up OpenSim.  The easiest way, it seemed, would be to use sshfs to mount the Opensim directory from my Linux server as a subdirectory on my N900.  I’ve often done this and highly recommend it as an easy way to do some testing.</p>
<p>At a command prompt in the mounted OpenSim directory, I typed <i>mono OpenSim.exe</i>.  Low and behold, it started running through the startup process.  Since I had run OpenSim in this directory on my Linux server, it started up nicely, recognizing the configuration and database I had already created.  However, it crashed when it got to loading the OpenDynamicsEngine physics.  Note to self:  Change the physics to basicphysics and come back later to see if I can figure out how to get ODE physics running on the N900.</p>
<p>With this, I got much further.  It loaded assets and started setting up the region.  Then I got the error:</p>
<blockquote><p>
22:48:51 - [MODULES]: Loading Region's modules (old style)<br />
22:49:03 - [MODULES]: Could not load types for [MySql.Data, Version=5.2.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d].  Exception System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.<br />
  at System.Reflection.Assembly.GetTypes () [0x00000]<br />
  at OpenSim.Region.Framework.ModuleLoader.LoadModules (System.String dllName) [0x00000]
</p></blockquote>
<p>Hmm.  Mono on the N900 seems to support sqlite3, which is what I’ve been using for my database in these OpenSim instances, but it doesn’t support MySql.  Yet it looks like somewhere buried in the modules, is some sort of dependency on MySql.  I looked around for a little while to see if I could find some configuration option to get around that.  No luck.</p>
<p>So, now I need to either get MySql working in Mono or find someway of getting OpenSim not to require that.</p>
<h4>Virtual World Viewers</h4>
<p>Being stuck at this road block, I thought the next step would be to see if I could get a workable virtual world viewer running on my N900.  After all, as much fun as it would be to have my own world stored on my N900, some of the real bang for the buck comes when you participate in a virtual world with a bunch of friends.  Back to the bobsled run, I want to be able to be a pilot, breakman, pusher or fan along with my friends taking similar roles from their mobile phones.</p>
<h5>Hippo</h5>
<p>The first viewer I attempted was the <a href=http://mjm-labs.com/viewer/>Hippo OpenSim Viewer</a>.  Hippo seems to be fairly popular and stable.  However, there is a big warning about Hippo:  </p>
<blockquote><p>
PLEASE DO NOT LOOK AT THIS SOURCE CODE IF YOU WISH TO CONTRIBUTE TO THE OPENSIMULATOR MAIN PROJECT.<br />
This project is based on the original source code released by Linden Labs under GPL.
</p></blockquote>
<p>On top of that, unless you read closely the comment about what to use for a userid and password for anonymous access, you get what you want.</p>
<p>I ended up downloading the whole system using my sourceforge userid and password.  I figured I can try building it.  If it works, great.  If not, I’ll move on and not look at the source code.</p>
<p>The documentation said to try build.sh, but that didn’t work for me.  I got closer by running develop.py in the indra directory.</p>
<p>I figured I’d try compiling the trunk version.  It failed saying that I needed version 4.3 of g++.  I tried v0.6.2_LL1.23.5.  It failed saying I need 4.1 of g++.  The Linden release got much further.  I managed to get into the build process.  It wrote out the cmake command it was trying to process and gave a message about building with OpenAL support.  It pegged the CPU for a while, and then stopped doing anything.  After killing and restarting it,  I made it through much further, ending up with</p>
<blockquote><p>
[  0%] Building CXX object llcharacter/CMakeFiles/llcharacter.dir/llcharacter.o<br />
In file included from /home/aldon/opensim-viewer/linden_release/linden/indra/llcommon/llthread.h:35,<br />
                 from /home/aldon/opensim-viewer/linden_release/linden/indra/llcharacter/llcharacter.h:45,<br />
                 from /home/aldon/opensim-viewer/linden_release/linden/indra/llcharacter/llcharacter.cpp:38:<br />
/home/aldon/opensim-viewer/linden_release/linden/indra/llcommon/llapr.h:43:29: error: apr_thread_proc.h: No such file or directory
</p></blockquote>
<h5>Imprudence</h5>
<p>The next viewer I tried to build was <a href=http://imprudenceviewer.org/>Imprudence</a>.  A lot of people have said good things about this, and it looks very promising.  I repeated processes very similar to what I tried with Hippo and ended up with very similar results, a make process that went idle and never completed.</p>
<h5>Naali</h5>
<p>A particularly interesting viewer, and one that I was thinking about when I wrote about bobsleds is <a href=http://wiki.realxtend.org/index.php/Main_Page#Naali>Naali</a>. It is also worth noting that Naali is written in Qt, which a lot of N900 apps are written in. My attempts at building Naali haven’t been much more successful than my attempts at Imprudence or Hippo.  Naali depends on <a href=http://www.boost.org/>Boost</a>.  I built boost in my sandbox, and it looked like it ran properly.  However, I can’t find Boost, and more importantly, neither can the Naali build process.</p>
<p><a name=epilogue><br />
<h3>Epilogue</h3>
<p></p></a><br />
So, there we have it, a long exploration of twisty little packages.  Today’s adventure didn’t end up getting anywhere special.  Time to put these projects aside for a little bit, and focus on a few different projects.  Hopefully, I will find some clues to help me next time I play this game and get a little bit further.  If you are on a similar quest, or have suggestions, let me know.</p>
<span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=250b15e4d30311df98d795d47400e640e640&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/250b15e4d30311df98d795d47400e640e640/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=250b15e4d30311df98d795d47400e640e640&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/250b15e4d30311df98d795d47400e640e640/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Fri, 08 Oct 2010 17:06:38 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-250b15e4d30311df98d795d47400e640e640</guid>
        </item>
        <item>
            <title>Recovering a Bricked Nokia #N900</title>
            <link>http://www.orient-lodge.com/node/4254</link>
            <description><![CDATA[
<p>Well, I finally did it.  Last night, I bricked my Nokia N900. Bricking a mobile device is making some change or update that causes the device to no longer start up properly.  Normally mobile device users don't have to worry about bricking their devices.  Most phone manufacturers and mobile carriers don't want people to brick the phone, so they lock it down and keep tight control over what can be installed for apps.</p>
<p>One of the reasons I like the N900 is that it allows you to experiment and install all kinds of apps, including those still in development or testing.  It allows you to even change the operating system relatively easily.  I bought mine nine months ago.  This was when it first became commercially available so there were various early glitches.  I have installed and tested all kinds of applications, including testing various operating systems.  It is a surprising that I have not bricked the N900 months ago.<br />
&lt;!--break--><br />
In my case, I believe what bricked the device was my beginning efforts to install NitDroid onto my N900.  NitDroid is the ability to boot Android on a Nokia tablet.  I've installed other operating systems, with various levels of success and figured it was time to start experimenting with Android on the N900.</p>
<p>After my tests in <a href=http://www.orient-lodge.com/node/4029>installing Mer on the N900</a>, I installed <a href=http://wiki.maemo.org/Kernel_Power>kernel-power</a>.  This gives my IPv6 connectivity, additional abilities to check the status of the battery, more options for mounting file systems, and so on.  Unfortunately, this new kernel prevented me from successfully booting Mer any more.</p>
<p>Reading the <a href=http://forum.nitdroid.com>Nitdroid forum</a>, I discovered <a href=http://maemo.org/packages/view/multiboot-kernel-power/>multiboot kernel power</a>.  This is a different boot menu system than I had been using and works with kernel power.  However, when I installed it, the N900 stopped booting.</p>
<p>So, what do you do when your N900 stops booting?  Typically you 're-flash' it.  There is a program called <a href=http://wiki.maemo.org/Flasher>flasher</a> that you install on your desktop or laptop computer.  You connect that computer to your N900 via a USB cable and use the program to send a new version of the operating system to the N900.  <a href=http://wiki.maemo.org/Updating_the_tablet_firmware>Updating The Firmware</a> goes into detail about the process, which generally is reinstalling the operating system.  Of course, in doing so, you are likely to wipe out just about everything you've already installed.  </p>
<p>However, in some cases it is possible to reboot without losing everything.  If you have a copy of the kernel you wish to run, you can flash that.  A comment in <a href=http://bugs.meego.com/show_bug.cgi?id=5136>a discussion about installing MeeGo</a> goes a little bit into this.  </p>
<blockquote><p>
flasher-3.5 -l -k vmlinuz-file -b makes the device boot the kernel.</p>
<p>For permanent flashing you'd use:</p>
<p>flasher-3.5 -f -k vmlinuz-file -R</p>
<p>Maemo5 is left intact.
</p></blockquote>
<p>If I could find a kernel file that I could boot, get in, clean up the damage that installing multiboot-kernel-power did, and then reboot, I could probably recover.  The question is, where can you find a copy of the kernel to boot?</p>
<p>The article about updating the firmware includes a link to where to get the latest version of the firmware.  As I write this article, the latest version for the United States is RX-51_2009SE_10.2010.19-1.002_PR_COMBINED_002_ARM.bin.</p>
<p>To download the file, you need to enter your device's 15-digit IMEI number.  The <a href=http://tablets-dev.nokia.com/nokia_N900.php>download page</a> says you can find it beneath the battery on your phone.  The example shows the code with slashes on the label, and entering the number without the slashes in the form.  I missed that and since my reading vision is weakening and the numbers were hard to read, it took a couple times before I managed to download the firmware.</p>
<p>One site suggested that I could simply run</p>
<blockquote><p>
flasher-3.5 -k RX-51_2009SE_10.2010.19-1.002_PR_COMBINED_002_ARM.bin -l -b
</p></blockquote>
<p>This returns the error</p>
<blockquote><p>
Write failed after 0 bytes<br />
usb_bulk_write: Resource temporarily unavailable
</p></blockquote>
<p>This obtuse error is essentially saying that you have the wrong file.  RX-51... is not a kernel file, it is a FIASCO image.  </p>
<blockquote><p>
flasher-3.5 -F RX-51_2009SE_10.2010.19-1.002_PR_COMBINED_002_ARM.bin -l -b
</p></blockquote>
<p>seems like the more appropriate command.  This should load and boot the image.  Unfortuantely, for me, it never managed to boot successfully.</p>
<p>Another interesting approach is to try unpacking the image with</p>
<blockquote><p>
flasher-3.5 -F RX-51_2009SE_10.2010.19-1.002_PR_COMBINED_002_ARM.bin -u
</p></blockquote>
<p>With this, you should get a zImage file that you might be able to use for just the kernel.  I didn't have any luck with that.  In the end, I ended up sending</p>
<blockquote><p>
flasher-3.5 -F RX-51_2009SE_10.2010.19-1.002_PR_COMBINED_002_ARM.bin -f
</p></blockquote>
<p>This wiped out everything I had installed.  The initial boot took a long while, but eventually came up and I started reinstalling everything.</p>
<p>The first thing I installed was the OpenSSH client and server.  This allows me to connect to the N900 with secure shell as root.  I've always found it easier to ssh into my N900 and make changes that way.</p>
<p>I then went and enabled all of those dangerous extra repositories.  For an example of how to do this, check <a href=http://thenokiablog.com/2009/10/27/maemo-extras-nokia-n900-applications/>A Guide to Maemo Extras for More Nokia N900 Applications</a></p>
<p>With this in place, I could start rebuilding my N900.  Since a key desire is to make this a multiboot device, the first things that I installed were kernel-power, kernel-power-settings,<br />
kernel-power-bootimg, and multiboot-kernel-power.  Trying to be careful and not rebrick my device, I installed this in three steps, rebooting between each step.  The first step was kernel-power and kernel-power-settings.  The second step was kernel-power-bootimg and the third was multiboot-kernel-power.</p>
<p>Now, I can successfully boot, with kernel power running and multiboot options.  I've since learned that I might have been able to get my broken device to boot by leaving the slider open and pressing zero when the empty menu came up.  I'm not sure if that would have worked.  However, it is probably well past time to clean out all kinds of old junk and start fresh.</p>
<p>I have now started installing some of the apps I use most often, dorian, barriosquare, vim, mastory, personal-ip-address, personal-gprs-mon, flashlight-applet, flashlight-extra, healthcheck, omweather, pianobar, pypianobar, fmradio, attitude, accdisplay, and hermes.  They all installed quickly and nicely, often adding lots of other modules they depend on.  </p>
<p>Some of them require a bit of additional configuration.  Often the configuration has been recovered from my previous installation.  In other cases, there are new configuration options available since the first time I set up these applications.  Also, I need to rearrange all the widgets on my desktop.</p>
<p>Other applications have not reinstalled quickly or nicely, such as Facebook and Qik and will require additional investigation.  As things stabilize, I'll return to testing things like Nitdroid on the N900. </p>
<p>While it was frustrating to brick my Nokia N900, I was pleased that it has not been all that difficult to recover and to clean things up and I expect to be able to do even more interesting things with my N900 as I continue cleaning up and installing new applications.</p>
<span class="net_nemein_favourites">10 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=9f759480c33b11df837fd599c1c964276427&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/9f759480c33b11df837fd599c1c964276427/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=9f759480c33b11df837fd599c1c964276427&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/9f759480c33b11df837fd599c1c964276427/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Sat, 18 Sep 2010 14:51:14 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-9f759480c33b11df837fd599c1c964276427</guid>
        </item>
        <item>
            <title>#digiday - The Future of Apps</title>
            <link>http://www.orient-lodge.com/node/4252</link>
            <description><![CDATA[
<p>One of the panels at <a href=http://www.digidaysocial.com>Digiday Social</a> was "Is The App The Future of Social? .  Perhaps it would have been better named, "What is the future of apps?"</p>
<p>Adam Broitman, Founder and Ringleader of <a href=http://circ.us/>Circ.us</a> said that 80% of free apps that get downloaded do not get used on the second day, and only 5% are still in use 30 days later.  He compared apps to the early days of AOL.  Apps are convenient, but eventually, people want more open systems.</p>
<p>As an innovator/early adopter with a Nokia N900, a cellphone that is great for application developers that want to work with open source software, I am an outlier.  I have a little over 100 apps loaded on my phone.  They are all free apps and I use many of them very frequently.</p>
<p>On the other hand, every day I get several pitches for the latest new iPhone app.  With over 250,000 application in the app store, it is hard to get noticed, and I suspect there are a lot of apps that are either duplicates or simply wastes of time.</p>
<p>I regularly respond to these pitches asking if there are plans to make the apps available on Android, Blackberry, Maemo/Meego, or as HTML5.  Typically, the response is that something like that is in the works.</p>
<p>This illustrates two issues that apps developers need to face:  cross platform development and apps discovery.</p>
<p>Right now, there are two major apps stores, one for the iPhone and one for Android.  There are plenty of other apps stores around.  An article in Rethink Wireless about <a href=http://www.rethink-wireless.com/2010/09/15/htc-becomes-services-provider-new-look-sense-ui.htm>HTC's latest move</a> mentions</p>
<blockquote><p>
Verizon Wireless... is divorcing its Android V Cast Apps storefront from the generic Android Market and preloading its own apps storefront.
</p></blockquote>
<p>Another Rethink Wireless article talks about <a href=http://www.rethink-wireless.com/2010/09/15/nokia-intel-updated-app-stores.htm>Nokia and Intel showing off updated app stores</a>.</p>
<blockquote><p>
Purnima Kochikar, VP for Forum Nokia, the developer community, was pushing the line that she was "empowering developers, not chasing app store numbers".
</p></blockquote>
<p>The article talks a little bit about the Intel AppUp Center and mentions Meego in passing.  It doesn't get into the issue of repositories that Maemo and Meego developers argue about.  Yet the architecture of Maemo and Meego facilitate anyone to set up their own repository or app store.</p>
<p>The Nokia and Intel strategy is focused on Qt, a cross-platform application and user interface framework.  The idea is that you can build an application in Qt and then compile it to run on any device that supports Qt.  This is a great idea and if Broitman is right might be some of the direction that apps development is heading, except that iPhone and Android are not set up well for Qt applications yet.</p>
<p>There is one project that looks really interesting.  It is <a href=http://code.google.com/p/android-lighthouse/wiki/Compile>Android Lighthouse</a> which allows you to compile and package Qt applications for Android.  I don't have an Android phone to play with right now, so I haven't tried it out, but it looks really promising. </p>
<p>There is also the <a href=http://wiki.nitdroid.com>Nitdroid</a> project to run Android on the Nokia tablets, like the N900.  I may install that at some point, but it repartitions the whole microSD card, so I'm waiting for a chance to explore this in more detail.  When I have time to really explore it, I just might build some Qt apps to run on my N900 and see if I can get them to run under Maemo, Mer, Meego, and Nitdroid.</p>
<p>While I like Qt as a potential cross platform development tool, others at the conference suggested that ultimately everything will move to HTML5.  I see several issues with this.  Applications need to access information that might not be available to HTML5.  Simple location information from a GPS might be available, but some of the more interesting bits of location information, such as the altitude might not be accessible. Things like the cameras, the accelerometer, the battery usage, or other tidbits of information from the mobile device might also not be available.  In addition, I am concerned that HTML5 and Javascript or AJAX may run much more slowly that compiled Qt applications.</p>
<p>One application that I use quite a bit is Dorian, an eBook reader for the N900.  I am reading eBooks that are stored on the N900.  It is true that using lighttpd, or the file: protocol, I could make the books available online to an HTML5 application, but that seems like overkill.  Things like books, music, pictures and video may be best accessed directly from the device.</p>
<p>Back to the issue of discovery, this is a key issue, not only for apps, but for many things people search for on the Internet.  I hope to write more about the broader discovery issue soon.  One panelist suggested that if discovery of apps is an issue, you need better control over the app stores.  Yet Apple's control over its app store does not seem to have helped.  Instead, it seems like you need better discovery mechanisms.</p>
<p>This takes us back to Broitman's comment about Apps being like AOL.  As Google and Yahoo made it easier for people to discover the content they wanted online, they left the walled gardens of AOL and more people started creating webpages outside of AOL.  It is reasonable to expect something similar will happen as it becomes easier to create new apps and search more locations for apps.</p>
<p>Apps should be an important part of marketers' strategies.  For the time being, they might be able to get away with staying in the wall gardens of Apple.  However, the smart players will explore cross platform apps and always fall back to an HTML5 page for mobile devices that don't support their apps.</p>
<p>So, if you are pitching a cool new app to me, be prepared for my question about cross platform capabilities, and know that I'm unlikely to write about it unless it runs on the N900 or has an HTML5 page.</p>
<span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=376de140c27211dfa547d77887fe79b879b8&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/376de140c27211dfa547d77887fe79b879b8/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=376de140c27211dfa547d77887fe79b879b8&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/376de140c27211dfa547d77887fe79b879b8/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Fri, 17 Sep 2010 15:07:03 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-376de140c27211dfa547d77887fe79b879b8</guid>
        </item>
        <item>
            <title>eReaders on the #nook and #n900</title>
            <link>http://www.orient-lodge.com/node/4237</link>
            <description><![CDATA[
<p>Last week, my wife got a Nook eReader as a birthday present.  We've talked a bit about eReaders and have put off getting one.  I've had a few concerns with eReaders.  First, most of them so far seem to be too closed for my liking.  You can't go in and make modifications.  In many cases you are limited to where you can get your ebooks.  Also, as the iPad and other slates or tablets become more popular, eReaders may end up being over taken by tablets before we know it.</p>
<p>Yet there it was, my wife's new piece of technology.  I needed to make it as useful as possible, as well as explore the larger issues that it raises.  As a Nokia N900 user, one of my thoughts was about how it would compare to the N900 as an eReader.</p>
<p>The Nook is a locked down Android based device.  It comes with 2 Gig of diskspace, which they say is enough to hold around 1500 books.  You can also put in an additional microSDHC card boosting the device up to 32 Gig.  It turns out that the internal 2 Gig appears to be yet another microSDHC card, so it might be possible to swap it out with another 32 Gig microSDHC card, giving you a total of 64 Gig.</p>
<p>The early efforts to jailbreak the nook have been based on changing the files on the internal microSDHC card.  It would seem as if a real interesting project would be if could be hacked to be multi-boot, e.g. standard Nook OS, Jailbroken Android, and MeeGo.  However, my wife probably doesn't want me hacking around that much with her new eReader.</p>
<p>The Nook primarily reads books in the ePub format.  This is the official standard of the International Digital Publishing Forum.  It is an open standard which basically zips up the books content along with various descriptive information.  It uses XML for a bit of this information.</p>
<p>On the N900, there are a few different eReaders that support epub.  I had already installed FBReader, and found that it works nicely not only for epub books, but for many other formats as well.  That said, I never really started using FBReader enough to get comfortable with it or to start regularly reading books on the N900 with FBReader.</p>
<p>As I started looking more closely, I also found Dorian.  I installed it and started playing with it.  Initially, there were a few aspects that I found frustrating.  However, as I was testing, a new version came out which cleared up these problems.  I've found it responsive and like the interface.  I'm now starting to read a book using Dorian.</p>
<p>I also tried installing MeBook.  It has run slowly on my machine and doesn't seem to work as nicely as Dorian or FBReader.  So, for the time being, I'll be reading ebooks using Dorian, and switch over to FBReader for books in other formats that Dorian doesn't support.</p>
<p>The Nook has an advantage of having a larger screen and using eInk, which makes the text crisp and clear and uses less battery power.  However, you need some sort of light for eInk.  The N900, while it has a smaller screen works quite nicely as an eBook reader.  If you are using it as your cellphone, it has the advantage of almost always being with you.</p>
<p>The next project was to find some good books to read.  This is both for my own purposes as well as for my wife's purposes.  I've always been a fan of <a href=http://www.gutenberg.org>Project Gutenberg</a> and there are reportedly around 20,000 free ebooks there.  I've found the Project Gutenberg interface easy to use and the books are well set up.</p>
<p>Google Books reportedly has around half a million books available.  Unfortunately, the ones that I've tried have been very large files without a lot of good metadata.  As a general rule, I'm unlikely to use books from Google Books unless it is the only place I can find them.</p>
<p>http://www.feedbooks.com/I've also tested a few other ebook sites like <a href=http://www.feedbooks.com/>Feedbooks</a> and <a href=http://manybooks.net/>Manybooks.net</a>.  They seem to be nice niche players with decent ebooks that I may search from time to time.</p>
<p>My wife installed <a href=http://www.adobe.com/products/digitaleditions/>Adobe Digital Editions</a> on her laptop.  She could then open any of the ebooks that I've downloaded from places like Project Gutenberg, and then copy them to her Nook.</p>
<p>Adobe Digital Editions also supports Digital Rights Management or DRM.  Public libraries typically use DRM to make sure that you check out the book for a specific period.  Our public library uses <a href=http://www.overdrive.com/>Overdrive</a> which handles the DRM for them.  We checked out a few books from our public library and loaded them onto my wife's Nook.  Unfortunately, our library doesn't have as many books available as my wife would like and many of them were checked out.  However, she has now read a couple library books this way.  Unfortunately, I have found no way to read books with DRM on the N900.</p>
<p>While I am not a big fan of DRM, I can see how they make sense for some publishers and libraries.  Ideally, publishers and libraries will start moving away from DRM.  Some publishers have and it has boosted their sales.  Until that time, it would be great if there was some way of reading DRMed books on the N900.</p>
<p>One approach might be to get Adobe to support the N900 as an eBook reader similar to how it supports the Nook.</p>
<p>As a final note, it turns out that Overdrive is used by many libraries.  They use the library card number, and if libraries have sharing agreements you may be able to check books out of libraries that are not where you live.  Some people have said that you can get a New York City Public Library card which can be used to check books out of their libraries for $100/year.  For a serious eBook reader, this might be a good deal.  However, you can often get library cards for other places.</p>
<p>As an example, when we camped on Cape Cod, we stopped at the Truro public library.  For five dollars a year, you can get a card for their library system, providing you have an address and phone number for a place where you are staying.  You can then use this to check out ebooks from the Cape Cod Library system.  Between the sites like Project Gutenberg, Google Books, specialty sites, and even free books from Barnes and Noble, there are lots of books available for eBook readers.  If you include all the books that can be checked out of libraries if you have a reader with DRM capabilities, you can read much much more.</p>
<p>I expect that over the next few months I'll read quite a few books on my Nokia N900.  I'm curious, are you reading ebooks?  Where are you getting them?  What devices are you reading them on?</p>
<span class="net_nemein_favourites">9 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=6269fdf6baa811dfac2f998505f371d071d0&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/6269fdf6baa811dfac2f998505f371d071d0/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=6269fdf6baa811dfac2f998505f371d071d0&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/6269fdf6baa811dfac2f998505f371d071d0/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Tue, 07 Sep 2010 16:58:20 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-6269fdf6baa811dfac2f998505f371d071d0</guid>
        </item>
        <item>
            <title>MeeGo 1.1, Partitions, Bootmenu, Kernel Power, Flasher, and All That Stuff on the #N900</title>
            <link>http://www.orient-lodge.com/node/4202</link>
            <description><![CDATA[
<p>Quim Gil has a blog post up <a href=http://flors.wordpress.com/2010/08/10/running-meego-1-1-unstable-in-your-n900/>Running MeeGo 1.1 unstable in your N900</a>.  I’ve kicked around installing Meego and this is my report of how things have gone.<br />
&lt;!--break--></p>
<h3>Background</h3>
<p>Back in April, I kicked around MeeGo 1.0 a little bit.  Back then, I went out and got a 16 GB microSD card.  I sliced it up into eight 2GB partitions.  The first I set aside for traditional data.  The second I saved as swap and I put Fedora on the third.  The fourth partition was set up as an extended partition which I split into the four remaining partitions.  I put Meego on the fifth and Mer on the sixth.  This leaves me two more partitions for other experiments, like maybe trying to get Nitdroid running.</p>
<p>With this, I installed <a href=http://maemo.org/packages/view/bootmenu-n900/>Bootmenu</a>.  I never did get it to work with Fedora or MeeGo, but I did get it working with Mer.  I played around with Mer a bit.  It was interesting, but I ended up going back to just working in Maemo.  For Fedora and Meego, I ran then from the command line with chroot, but never got much further.</p>
<p>Around that time, I also started playing with <a href=http://maemo.org/downloads/product/Maemo5/easy-deb-chroot/>Easy Deb</a> which I had a good time playing with until I started running low on space during some upgrade.  I tried uninstalling Easy Deb, and it has ended up in some no man’s land which I haven’t been able to fully remove, or restore and update.  That said, I would love to see an Easy Meego.  But, I’m getting ahead of myself.</p>
<p>I also added <a href=http://wiki.maemo.org/Kernel_Power>kernel power</a> which I really like for its IPv6 capabilities, as well as extended battery information.  If my N900 is connected to my home network, I have lighttpd running, and you have IPv6 available, you can check <a href=http://n900.woodbridge.smartcampaigns.com/battery.php>battery settings</a> online.</p>
<p>Unfortunately, when I added Kernel Power, I stopped being able to boot Mer.  It seems like Kernel Power may be incompatible with Bootmenu</p>
<h3>Getting the image</h3>
<p>So, to boot MeeGo, I could either write over the whole internal memory using the ubiimg, or I could write over my whole microSD card using the MMC image.  I commented on Quim Gil’s blog that what I’d really like to be able to do is get an MMC image that I could load onto a partition, instead of onto the whole card, wiping out the existing partitions.  qgil opened this as a <a href=http://bugs.meego.com/show_bug.cgi?id=5136>MeeGo bug</a>.</p>
<p>Stskeeps provided a little more detail about how flasher works.  The –b option boots the kernel that is being flashed.  The –R option overwrites the kernel.  While this was helpful to know, it didn’t address the issue of being able to overwrite just a partition instead of the whole card.  When I brought this up, stskeeps gave instructions about how to get around this issue.  Unfortunately, it assumed a lot of background knowledge that the average “evening tester” might not have.</p>
<p>However, based on this, I made some progress.  I went out and downloaded the meego-headset-armv5tel-n900-nokia-propietary-1.0.80.13.20100803.2-mmcblk0p.raw.bz2 file.  Using bzip2 –d on the .bz2 file, I then had the raw image in an unzipped format.  I then used kpartx with the raw image to create a new device based on the filr.</p>
<p>I’ve not used kpartx before and found it a little confusing.  I tried the –l option and it told me there were two partitions in the file which would be loop0p1 an loop0p2.  When I ran without the –l option, it seems as if it when out and created the devices as /dev/mapper/loop2p1 and /dev/mapper/loop2p2  Nonetheless, I now had a device that I could mount.  I mounted it as /mnt/p1 I then mounted the fifth partition of the memory card on the N900 using sshfs.</p>
<p>Following this, I copied the files over to the N900 using<br />
<i>rsync -aHx --progress --delete . /mnt/p2</i> which was basically Stskeeps’ command, modified for the way I had done my mounts.  I had mounted /mnt/p2 to be the fifth partition of the MMC card on my N900.</p>
<p>I then stopped for dinner and let it copying everything over.  It did list out a bunch of nasty looking messages about rsync protocol incompatibility, so I’m not positive everything copied over properly.</p>
<h3>Initial testing</h3>
<p>My first test was to simply chroot to that partition.  This worked quite nicely.  However, I couldn’t access the network.  It looks like the image that was provided did not have a resolv.conf file.  I created one pointing to Google’s DNS servers:</p>
<blockquote><p>
nameserver 8.8.8.8<br />
nameserver 8.8.4.4
</p></blockquote>
<p>At this point, the networking started working, including IPv6.  For fun, I did a tracepath6 to ipv6.google.com and found it worked nicely.  Unfortunately, I couldn’t get much further than this.</p>
<p>It does seem like with this much in place, it ought to be possible to hack Easy Deb to bring up a chroot Meego environment.</p>
<h3>Bootmenu</h3>
<p>At this point, I figured I would give Bootmenu another try.  I am still having problems with it boot Mer after I installed kernel power.  I tried using Bootmenu to bring up Meego, and it also appeared to just hang.  It might be that there are some undocumented options in Bootmenu that would make it work.  I have yet to find the options available in the /etc/bootmenu.d/ directory.</p>
<h3>Flasher</h3>
<p>Without getting very far with Bootmenu, I figured it was time to try flasher.  I copied the vmlinuz-2.6.35~rc6-133.2-n900 file to my laptop running Windows Vista.  I have flasher 3.5 installed there and I tried flashing it passing the parameter b"root=/dev/mmcblk1p5” based on the suggestions from stskeeps.  Have I told you how much I hate trying to flash my N900?  I always have problems getting it to flash.  Power up the N900, press u.  Enter the command on my laptop.  Hope that I get this all done in the right order at the same time.  Usually, I don’t and it starts booting and the message “Suitable USB device not found, waiting.” shows up.</p>
<p>That said, I have succeeded from time to time and I get a nice picture of a penguin and then various boot messages.  If I try to boot with root=/dev/mmcblk1p5 or /dev/mmcblk0p5 I get an error message saying<br />
“VFS: Cannot open root device “mmcblk1p5”  It lists the available partitions as mtdblock0 through mtdblock5.</p>
<p>When I try using /dev/mtdblock5 (or for that matter any of the other devices, I get no file system could mount root.  Tried ext3 ext2 cramfs.</p>
<p>I’m pretty sure that my partition is ext3.</p>
<h3>kexec</h3>
<p>Before I called it quits for the time being, I tried one other thing.  I found a page about using <a href=http://wiki.meego.com/ARM/N900/Install/kexec>kexec</a>.  Since I am using kernel power, I have kexec available.  Since I’ve loaded the image on /dev/mmcblk1p5 and I mount it as /media/mmc5, it seemed like I should be able to load the kernel off the MMC card.</p>
<p>Taking the example from the webpage, and adjusting it for my configuration, I tried</p>
<blockquote><p>
kexec -l /media/mmc5/boot/vmlinuz-2.6.35~rc6-133.2-n900 --command-line="init=/sbin/init rootwait root=/dev/mmcblk1p5 rw console=ttyS2,115200n8"<br />
sync<br />
kexec –e
</p></blockquote>
<p>Unfortunately, like so many other attempts, this also seems to leave the machine hanging, and I need to pop the battery out to restart things.</p>
<p>So, where does this leave me?  Right now, I can run Meego at the command line using chroot, and not do much else.  However, hopefully these notes will give other people clues about how they can test MeeGo, give the developers ideas about how people are trying to test it so that they might be able to come up with better test environments, or maybe simply provide me a few more hints that will help me get MeeGo up and running on my N900.</p>
<p>P.S.  As I was exploring the files, I found a file that provided configuration information for various devices, including the N95 and N97.  Might it be that MeeGo will end up running on some of these older devices?  If so, that would be very cool.</p>
<span class="net_nemein_favourites">11 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=fa1138b6a68c11dfa9a6ef62905c57c257c2&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/fa1138b6a68c11dfa9a6ef62905c57c257c2/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=fa1138b6a68c11dfa9a6ef62905c57c257c2&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/fa1138b6a68c11dfa9a6ef62905c57c257c2/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Fri, 13 Aug 2010 02:43:49 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-fa1138b6a68c11dfa9a6ef62905c57c257c2</guid>
        </item>
        <item>
            <title>Setting up a Nokia #N900 to be an #IPv6 Enabled Web Server</title>
            <link>http://www.orient-lodge.com/node/4197</link>
            <description><![CDATA[
<p>This morning, I set up my Nokia N900 to be an #ipv6 enabled web server.  In this article, I will discuss what some background information about setting this up and then the details of what I did.<br />
&lt;!--break--><br />
Let me start off by describing the Nokia N900 for those who are not acquainted with it.  It is, in my opinion, the best geeks’ phone out there.  While non-geeks might enjoy some of the power off the phone, I generally steer my non-geek friends to an iPhone or an Android.  However, for someone that wants a phone that they can configure, customize and program for, to their hearts content, there is nothing I have found like the N900.</p>
<p>The N900 connects to the internet over WiFi or over cellular.  Out of the box, it only supports version 4 of the Internet Protocol (IPv4).  For many people this is sufficient.  You can browse the web, and run many specialized applications over IPv4.  The problem is that we are running out of IPv4 addresses.  To get around this, people use network address translation (NAT) so that they can have one IPv4 address for their home, which they share with all their computers.  Cellphone companies also typically offer IPv4 addresses that are behind NAT as well.</p>
<p>NAT makes it easy for a device to access the Internet, but it makes it difficult for other devices to start a conversation with a device behind NAT.  This means that while my cellphone can easily contact servers out on the Internet, as long as I am running IPv4 behind NAT, other devices cannot access my cellphone as a server.  Generally, this is a good thing.  In most cases, you don’t want anyone on the Internet to be able to access your cellphone.</p>
<p>Version 6 of the Internet Protocol (IPv6) fixes this by making many more internet addresses available.  It also provides for enhanced security and mobility, so that a device can keep the same internet address no matter where it is and how it is connecting to the Internet.  Both of these are very important if you are going to set up a lot of cellphones to act as servers where ever they might be used.</p>
<p>There is a package for the Nokia N900 called <a href=http://wiki.maemo.org/Kernel_Power>Kernel Power</a>.  Among other things that this does, it enables IPv6.  I’ve loaded Kernel Power on my N900 and have been using it for a long time.  It appears to be very reliable.</p>
<p>My home internet service does not provide IPv6 connectivity.  However, by using <a href=http://gogonet.gogo6.com/>Freenet6</a> I have connectivity.  I have an Ubuntu server that uses the Tunnel Service Protocol (TSP) to connect to Freenet6 and runs a radvd router to make IPv6 available to other devices on my home network.</p>
<p>I’ve created an AAAA record which provides the IPv6 address for my phone.  I do not have Mobility IP configured yet, so you can only access my phone over IPv6 when it is connected via WiFi to my home network.  Mobility IP is one of the next topics that I wish to explore.  </p>
<p>I am running SSH, so people who have proper keys to my server can connect, and I’m exploring allowing other users to connect in.  The next idea was to set up a web server.  I’ve read about people trying to set up Apache for their N900’s, but that seemed like overkill and too much work.  I read about <a href=http://www.web2py.com/>web2py</a>, and installed it on my machine.  However, it takes up 24 meg of diskspace, and I couldn’t find any way to access it other than through an IPv4 localhost address.</p>
<p>Another possible server was <a href=http://www.monkey-project.com/>the Monkey Project</a>.  It does not appear to be packaged for the N900 and looks like it would require compiling in a sandbox and then loading on to the N900.  Again, this looked like more work than I was ready to take on this morning.</p>
<p>One person recommended <a href=http://www.floodgap.com/httpi/>httpi</a>.  This is a lightweight webserver written in perl.  It looks promising, and I’ve set it up.  Unfortunately, it does not yet support IPv6, so I haven’t explored it further.</p>
<p>With this, I ended up using the <a href=http://www.lighttpd.net/>lighttpd</a> server.  It is working fairly nicely for me.  It is available as a package to download and install.  It does not support IPv6 out of the box, but all you really need to do is add the line<br />
<i>server.use-ipv6 = “enable”</i><br />
to the <i>/etc/lighttpd.conf</i> file, and IPv6 starts working.</p>
<p>I did a few other minor configuration changes.  For example, I changed <i>static-file.exclude-extentions</i> to include .py files for python and .rb files for Ruby.  I then changed cgi-assign to point to the appropriate files.  For example, I needed to change the php program to point to php in /usr/bin instead of /usr/sbin.  I also needed to add the files for processing python and ruby.</p>
<p>I turned on statistics and experimented, unsuccessfully, with aliases.  With that, I have an interesting little server up and running.</p>
<p>If you have IPv6 connectivity and want to check things out, go to <a href=http://n900.woodbridge.smartcampaigns.com/index.html>Aldon’s N900</a>.  I have simple programs in PHP, Perl, Python and Ruby running.  The PHP programs display battery information and php configuration.  The Python program accesses the GPS and provides information about where the phone is currently located.</p>
<p>With a web server, PHP and databases available, if I get really ambitious, I might try setting up some standard LAMP based package like Drupal or Wordpress.  There are other servers that I’m interested in running.  For example, I am running <a href=http://live.gnome.org/Rygel> for media sharing.  It is based on <a href=http://en.wikipedia.org/wiki/Universal_Plug_and_Play>uPnP</a>.  I don’t know the details of how uPnP works with IPv6, so I haven’t really tested this out yet.  However, if anyone can help me in this area, I would love to hear more.</a></p>
<p>Another area that is particularly interesting to me is <a href=http://www.asterisk.org/>Asterisk</a>.  Asterisk is an open source PBX that has been ported to the N900.  I haven’t experimented with this yet, but it would be very interesting to see if I could have my cellphone be a PBX.  There is an effort to get <a href=http://www.asteriskv6.org/>Asterisk to work with IPv6</a> which gets even more interesting.</p>
<p>There are probably lots of other interesting things that can be done with a N900 as a server, such as making it available as a webcame.  So, are you running anything interesting on your cellphone?  Are you doing anything cool with IPv6?  I’m always looking for new ideas to experiment with.</p>
<span class="net_nemein_favourites">8 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=714ea6e4a4a711dfbfd6772f42c07faf7faf&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/714ea6e4a4a711dfbfd6772f42c07faf7faf/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=714ea6e4a4a711dfbfd6772f42c07faf7faf&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/714ea6e4a4a711dfbfd6772f42c07faf7faf/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Tue, 10 Aug 2010 17:47:55 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-714ea6e4a4a711dfbfd6772f42c07faf7faf</guid>
        </item>
        <item>
            <title>My First Go Language Program on the Nokia #N900</title>
            <link>http://www.orient-lodge.com/node/4130</link>
            <description><![CDATA[
<p>On the Maemo users mailing list, there has been a discussion about the <a href=http://golang.org/>Go Programming Language</a>.  Various people have tried various things to get Go to work, so I thought I would take a crack at it and see what I could do with it.<br />
&lt;!--break--><br />
Before I try installing something on my N900, I like to try and install it on my Ubuntu box.  So, I followed the <a href=http://golang.org/doc/install.html>installation steps</a> for Go to run natively under Ubuntu.  I already had most of the C tools installed and I’ve been using Mercurial for some other projects, so getting set up was fairly easy.  At the end of the install process, I received a message <i>2 known bugs; 0 unexpected bugs</i>.  Everything looked good to go.</p>
<p>I copied the sample Go program, complied and ran it without any difficulties.  Nice.</p>
<p>My next step was to repeat the process in Scratchbox.  Again, I had some of the C tools already installed, but I needed to install a few new ones.  I did not have Mercurial installed, so I installed that, then I grabbed a copy of the repository and tried to build it.  The build appeared to run fine until the very end when I received an error message saying <i>gotest: line 184: qemu-arm: command not found</i></p>
<p>My hypothesis was that the build routine uses qemu-arm to test the build, and since I was running in Scratchbox, that was not necessary and generated a spurious error message.  I tried to tweak the gotest routine, but without any success.  So, I figured that a sufficient test would be to try compiling the sample program in Go in the Scratchbox.</p>
<p>The program complied and linked fine.  However, when I tried to run it in Scratchbox, I received no output.  Checking the directory, I found a brand new 71 meg core file.  Well, that wasn’t promising.</p>
<p>Nonetheless, I hopped over to my N900.  When I am testing on the N900, I use ssh to connect to it.  I also use sshfs to mount files from my Ubuntu box.  The compiled version of the sample Go program ran fine on the N900.  The next step was to see if I could compile programs written in Go on the N900.  I mounted the Go bin directory from Scratchbox on my Ubuntu machine to my N900.  My first attempts at compiling failed with <i>can’t find import: fmt</i>.  It took me a few times before I realized that the problem was that I hadn’t set $GOROOT properly.  When I set $GOROOT to the right path and tried to compile, it worked properly.  I then linked and ran the program without a hitch.</p>
<p>On the mailing lists, people had talked about problems getting the program written in Go to run.  They talked about having to chmod the file to be executable and needing to copy it to /usr/bin.  In my case, the program was properly flagged as executable from the linking process and it ran in any directory.</p>
<p>Others have spoken about trying to build the go compiler on the N900 itself.  However, bison, which is one of the prerequisites is not readily currently available on the N900.  Since I normally build packages in Scratchbox, it only seemed reasonable to me to build the compiler in Scratchbox on the Ubuntu box and then copy it across.</p>
<p>The basic compiler package ends up being about 15 Meg.  Right now, I don’t see the need to carry the compiler around with me, so I’m just leaving it up on my Ubuntu box and mounting it when I want to play with it.</p>
<p>Looking through the documentation, it looks like there is a lot that you can build in Go right out of the box.  Beyond that, there are lots of interesting external packages that can be added in, including support for XCB, sqlite, protocol buffers, OpenGL and so on.  I’m not sure what combination of external packages would be the most valuable.</p>
<p>Finally, there is the question of whether or not yet another programming language is needed.  Go seeks to be “a dynamic language like Python with the performance and safety of a compiled language like C or C++”.  Sounds like a nice idea and so far, Go seems like a nice language.  It is well worth experimenting with if you are an innovator or early adopter.  On the other hand, I don’t expect the build procedures from Nokia to support Go packages in Maemo any time soon.</p>
<p>If you want to kick around Go on your N900 and don’t have a Scratchbox to build it in, let me know and I can zip up a tarball of my installation.  If you’re doing something interesting with Go, especially on the N900, let me know.  To me, the Go programming language is another fun geek’s tool for the N900, which is in my mind a great toy for geeks.</p>
<span class="net_nemein_favourites">3 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=f47f95547e0b11df945311034dc822de22de&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/f47f95547e0b11df945311034dc822de22de/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=f47f95547e0b11df945311034dc822de22de&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/f47f95547e0b11df945311034dc822de22de/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Tue, 22 Jun 2010 14:01:23 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-f47f95547e0b11df945311034dc822de22de</guid>
        </item>
        <item>
            <title>#iwny - Bar codes and Location: Foursquare, Stickybits, Yellow Arrow and the Nokia #N900</title>
            <link>http://www.orient-lodge.com/node/4112</link>
            <description><![CDATA[
<p>An important theme at <a href=http://www.internetweekny.com/>Internet Week New York</a> seems to be bar codes and location.  As participants arrived for Internet Week, many checked in on Foursquare, and some have received a special InternetWeek Foursquare badge.</p>
<p>At the press conference kicking off events, Commissioner of The New York City Mayor's Office of Film, Theatre and Broadcasting Katherine Oliver spoke about QR Codes in Time Square on Thursday.  <a href=http://www.pepsico.com/>PepsiCo</a> <a href http://pepsico.presslift.com/pepsicoupc>announced an agreement</a> with <a href= http://www.stickybits.com/>StickyBits</a> about UPC code scanning and there was a discussion the future of location based marketing Monday at AOL Headquarters.</p>
<p>I have been observing much of this through the lens of my Nokia N900 as well as my background interest in many of these topics.  I am a big fan of QR Codes and look forward to finding out what New York City has planned for QR code activities on Thursday.</p>
<p>Stickybits seems like an interesting effort to get people scanning barcodes with their mobile devices and might be the application that crosses the chasm from early adopters like myself to the early majority.  They have made various choices which I, as a geek, would not have done.  As an example, they are focusing on one dimensional UPC style codes instead of the two dimensional QR barcodes.  They suggest that people are used to scanning UPC style barcodes, but most people have no idea what to make of a QR code.  They may be right, but I do hope that people will learn the value of moving to two dimensional barcodes.  It is worth noting that they do support QR codes.</p>
<p>They have released an application for the iPhone and for the Android, which will capture more smartphone users, and they’ve made <a href=http://code.google.com/p/stickybits/>their API open</a>.  Perhaps the <a href=http://maemo.org/packages/view/mbarcode/>mbarcode</a> application for the Nokia N900 can be modified to support Stickybits API.  As an aside, the mBarcode application was one of the first Nokia N900 applications I downloaded and it is great.  I’ve used it to scan books, product codes, shipping labels in addition to QR codes.  There are a lot of nice things that could be done as plugins; for example, an Amazon plugin so when you scan a book you would be taken to a page to review the book on Amazon.</p>
<p>What Stickybits does is that it allows users to leave comments on various barcodes.  This seems similar to the <a href=http://www.informedindividual.org>Informed Individual</a> that mBarcode is currently interfacing with.  It also seems very similar to the <a href=http://yellowarrow.net>Yellow Arrow</a> project, although Yellow Arrow is simply SMS based.  That said, you can set up QR codes to send an SMS message to Yellow Arrow, so I could imagine some mashup of Yellow Arrow and QR Codes down the road.</p>
<p>Then, of course, there is the issue of how all this relates to Foursquare.  Currently, I use <a href=http://maemo.org/packages/view/barriosquare/>BarrioSquare</a> on my N900.  For some reason, it just has not worked reliably for me, but friends have been saying they’ve been having problems with other Foursquare applications, so it may be a problem with Foursquare and not BarrioSquare.  I often get around this by going to the Foursquare mobile website.  As a side comment, I never got the Internet Week badge, nor have I gotten the crunked badge, even though it seems like I should have received both.</p>
<p>It would seem that a good idea for various companies trying to promote their venues on Foursquare might want to put up a QR Code at their store for people to scan.  At the Future of Location Based Marketing panel last night, there was the story of a company that had bought a cheap Netbook that they kept on the counter with a note asking people to login to Facebook and like the store on Facebook.  It has help build up their fan base and has gotten many more customers talking about the store on Facebook.  A QR Code for Facebook might likewise be a good idea.</p>
<p>Another interesting mobile play is what <a href=http://mobilemeteor.com/>Mobile Meteor</a> is doing.  They did a quick pitch at the Future of Location Based Marketing yesterday.  What they are doing seems pretty simple, straight forward, and of value to folks interested in location based marketing.  They run an overlay on a website that checks to see if the person is visiting from a computer or a cellphone.  If the person is coming from a cellphone, they get much location based information.  They suggested visiting a website from a smartphone during the pitch.  I did and the website played a really annoying tune.</p>
<p>Afterwards, I found that I had gone to the main website and Mobile Meteor had not recognized that the N900 was a smartphone instead of a computer.  It is a common mistake, and to some people, it is no mistake at all.  The N900 is a great Linux based computer that I use more and more for various computing tasks.  However, in this case, I want it recognized as a smartphone.  The folks at Mobile Meteor addressed this quickly over night and by the morning I could see what they were doing with their mobile overlay.</p>
<p>Will this be the year that a location and bar code enabled Internet really takes off in the United States?  It seems like there are a lot of great possibilities.  The iPhone and the Android will continue to fight for a role in this, but I’m going to stay with my Nokia N900 as a tool for innovators to experiment and push the envelope. </p>
<span class="net_nemein_favourites">6 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=4e884df6733611dfa7f37bd065cf4dff4dff&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/4e884df6733611dfa7f37bd065cf4dff4dff/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=4e884df6733611dfa7f37bd065cf4dff4dff&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/4e884df6733611dfa7f37bd065cf4dff4dff/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Tue, 08 Jun 2010 19:07:28 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-4e884df6733611dfa7f37bd065cf4dff4dff</guid>
        </item>
        <item>
            <title>Using #webm and The Nokia #N900 Mobile Television and a Mobile Set Top Box </title>
            <link>http://www.orient-lodge.com/node/4106</link>
            <description><![CDATA[
<p>Last year for Christmas, there were two technology toys I was most interested in.  One was the Nokia N900 and the other was Roku.  The N900 costs much more than Roku, but can do much more as well.  In fact, I wondered, would it be possible to recreate something like Roku as an application for the Nokia N900?</p>
<p>Roku players are small set top boxes that stream videos from the Internet and make them available on a traditional television.  You can get Netflix videos off of Roku as well Amazon video and other sources.</p>
<p>I tried a few simple tests, and it seemed like the N900 just didn’t have the power to stream and render a video nicely to my television set, so I set this project on the back burner.</p>
<p>Then, this weekend, I heard that my in-laws had just gotten a Wii.  My wife commented that you can use a Wii to stream Netflix, so I started thinking about streaming on the N900 again.</p>
<p>An important change since then was been Google’s announcement of the <a href=http://www.webmproject.org/>WebM</a> project.  Essentially, this project makes a powerful video codec available as open source and encourages people to start using it.  This is the ‘vp8’ codec which is already available on the Nokia N900.  With the extras-development repository enabled, I executed the command</p>
<blockquote><p>
apt-get install gstreamer0.10-vp8
</p></blockquote>
<p>Reading <a href=http://zaheer.merali.org/articles/2010/05/24/n900-and-maemo5-playing-vp8webm-live-stream/>N900 and Maemo5 playing vp8/webm live stream</a>, I found a way to launch a video stream provided by <a href=http://www.flumotion.net/>Flumotion</a>.</p>
<p>I entered the command</p>
<blockquote><p>
gst-launch playbin2 uri=http://195.10.10.75:8800/live.webm
</p></blockquote>
<p>and SkyNews started streaming.</p>
<p>The next step was to plug it into my television to see what it looked like, and it seemed fine.  The final step was to add this to my desktop.  First, I created a shell script called /home/user/bin/skynews with the gst-launch command in it.  Then, I created /usr/share/applications/hildon/skynews.desktop.  This file contained the following lines.</p>
<blockquote><p>
[Desktop Entry]<br />
Encoding=UTF-8<br />
Version=1.00<br />
Type=Application<br />
Name=SkyNews<br />
Exec=/home/user/bin/skynews<br />
Icon=chartreuse<br />
X-Icon-Path=/usr/share/pixmaps/
</p></blockquote>
<p>I have a simple icon file named chartreuse that I use for testing.  Ideally, a nicer icon could be created.  To see how this all looks, I created a video showing me launching the application and then connecting it to my television.</p>
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/ow38AeIcyXc&hl=en_US&fs=1&" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed src="http://www.youtube.com/v/ow38AeIcyXc&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><p>
I also tried using a stream from a <a href=http://www.cherokee-project.com/>Cherokee</a> server but ran into a lot of buffers are being dropped and a timestamping problem.  I started testing YouTube’s HTML5 capabilities in hopes of finding a way of testing webm streams from YouTube, but didn’t get far enough to find any streams I could use.</p>
<p>So now, I’m looking for other interesting streams to experiment with.  I could easily see Netflix, Amazon, or others, setting up streaming videos using this, as well as adding on controls to select channels, pause, etc.</p>
<p>Anyone else doing any interesting video streaming on the N900?</p>
<span class="net_nemein_favourites">13 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=04d7f56a6f0f11df9638816d5caa35e535e5&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/04d7f56a6f0f11df9638816d5caa35e535e5/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=04d7f56a6f0f11df9638816d5caa35e535e5&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/04d7f56a6f0f11df9638816d5caa35e535e5/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Thu, 03 Jun 2010 12:03:57 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-04d7f56a6f0f11df9638816d5caa35e535e5</guid>
        </item>
        <item>
            <title>#IPv6 on the Nokia #N900 and #Facebook</title>
            <link>http://www.orient-lodge.com/node/4100</link>
            <description><![CDATA[
<p>After a bunch of political blog posts, I’m on a roll of technology blog posts.  Perhaps it is just part of my way of decompressing.  Anyway, today I am writing about IPv6.  IPv6 is Version 6 of the Internet Protocol.  Currently, most people use Version 4 of the Internet Protocol.</p>
<p>The way this works is each device on the Internet is assigned a special number.  Often these number are represented as four numbers between 0 and 255 and there are special rules about what numbers can be used which way.  Essentially this limits the number of devices that can connect to the Internet to around four billion.  While four billion might sound like a lot, keep in mind that every year more and more cellphones get connected to the Internet and in 2007 over a billion cellphones were sold.  Unless something is done, we will soon run out of internet addresses.<br />
&lt;!--break--><br />
One thing that has been done is to use Network Address Translation, or NAT.  Certain Internet Addresses are reserved for special uses.  For example, I suspect many people reading this blog post are using the Internet Address 192.168.1.100.  That is an address that many people use on their home networks.  Then, using NAT, the address gets translated when it goes out to the Internet.  For most people, this is sufficient.  It does make it more difficult from people on the Internet to access the home computer.  In most cases this is a good thing in that it provides an added layer of protection. But, in some cases it isn’t so great.</p>
<p>To make it so that more addresses would be available, people came up with Version 6 of the Internet Protocol.  The problem is that it isn’t widely used, or even that widely supported.  My internet connection does not natively support IPv6.  To get IPv6 connectivity, I run a tunnel to Freenet6.  This provides me with a large block of IPv6 addresses I can use on my home network.  I’ve been using IPv6 for a while for various tests.  People who want to test IPv6 are welcome to visit a <a href=http://drupal.woodbridge.smartcampaigns.com>test blog I have with IPv6</a>.  If it doesn’t come up, you probably don’t have working IPv6.</p>
<p>The Nokia N900 does not support IPv6 out of the box.  However, there is an <a href=http://maemo.org/downloads/product/Maemo5/kernel-power-flasher/>enhanced kernel</a> you can run that does support IPv6.  By loading the kernel and restarting my N900, it came up with a valid IPv6 address.  By running <i>ifconfig</i> from a command prompt with root privileges I could find the IPv6 address.  Using <i>ping6</i> I could ping to make sure that IPv6 was working.  In my case, the first thing I did was ping <i>::1</i> which is the default local IPv6 address for any machine.  This worked without a hitch.  Then, I tried pinging <i>ipv6.google.com</i>.  This is a Google server that only runs IPv6 and has worked nicely for me.  Unfortunately, after about eight packages were sent, ping6 stopped responding.</p>
<p>I brought up the default browser on the N900, and could not get to any IPv6 sites. However, Google Chromium and Firefox on the N900 both support IPv6 and I could connect to IPv6 based webservers.</p>
<p>I also tested ssh and sshd.  From my N900, I could connect to other servers with ssh over IPv6.  I could also connect to my N900 with ssh over IPv6 from machines around the Internet.</p>
<p>I also did a little testing of MediaTomb, a uPnP service on my Linux server.  Unfortunately, it does not appear to support IPv6.  I am curious about whether some of the other uPnP programs I’ve been experimenting with can do anything interesting with IPv6.</p>
<p>Around the same time, I found a very interesting application.  <a href=http://apps.facebook.com/ipoverfb/index.php>IPv6 Over Facebook</a>.  It is an example of <a href=http://www.ietf.org/rfc/rfc5514.txt>RFC 5514, IPv6 over Social Networks</a>.  I haven’t been able to do anything particularly interesting with it yet, other than some simple tests.  However, it serves its goal of being a good educational tool about IPv6.</p>
<style type="text/css">
.flickr-photo { border: solid 2px #000000; }
.flickr-yourcomment { }
.flickr-frame { text-align: left; padding: 3px; }
.flickr-caption { font-size: 0.8em; margin-top: 0px; }
</style><div class="flickr-frame">
	<a href="http://www.flickr.com/photos/aldon/4649617019/" title="photo sharing"><img src="http://farm5.static.flickr.com/4072/4649617019_6474dddf7a.jpg" class="flickr-photo" alt="" /></a><br />
<br />
	<span class="flickr-caption"><a href="http://www.flickr.com/photos/aldon/4649617019/">ipv6</a>, originally uploaded by <a href="http://www.flickr.com/people/aldon/">Aldon</a>.</span>
</div>
<p>To complete the process, I have tried to ping the N900 from my Facebook IPv6 address.  Given the very high latency of the network, I don’t know yet if the pings will make it.</p>
<p>So, that’s my geek activity of the day.  Are you playing with IPv6?  On the N900?  On Facebook?  On other interesting devices?  Got other ideas for fun experiments?</p>
<span class="net_nemein_favourites">13 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=6370cc5c6b3911dfa23ca18bc58250bc50bc&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/6370cc5c6b3911dfa23ca18bc58250bc50bc/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=6370cc5c6b3911dfa23ca18bc58250bc50bc&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/6370cc5c6b3911dfa23ca18bc58250bc50bc/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Sat, 29 May 2010 15:22:42 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-6370cc5c6b3911dfa23ca18bc58250bc50bc</guid>
        </item>
        <item>
            <title>My Over the Air N900 Update, PR 1.2, kernel power, but not MeeGo</title>
            <link>http://www.orient-lodge.com/node/4098</link>
            <description><![CDATA[
<p>Earlier this week, the latest major update to the Nokia N900 came out, PR 1.2.  This has been a long awaited release, particularly by developers.  So, as soon as I had a moment, I decided to tackle upgrading my N900.</p>
<p>There are two different approaches to upgrading the N900.  One is to ‘reflash’ the N900.  Essentially, this wipes out just about everything on the machine and installs everything from scratch.  Typically, you back up your machine, reflash it, restore your data, and reinstall whatever applications you want to reinstall.</p>
<p>The other approach is an ‘over the air’ update.  This uses the packaging system to update whatever is on your machine, and leaves everything else intact.  Since I’ve installed many packages, as well as various tweeks to try and dual boat, enable IPV6 and other things, I decided to go with the over the air approach.</p>
<h3>The Update</h3>
<p>The problem with the ‘over the air’ approach is that it takes a lot of disk space and time.  I’ve moved various files out of the root file system when I did my last major update, so I felt I could make sufficient space.  First I uninstalled a couple large packages that either took a lot of space and/or might conflict with the update.  In particular, I removed Google Chromium and Kernel Power. Then I cleaned out my package cache and started the over the air update.</p>
<p>Specifically, I did a </p>
<blockquote><p>
apt-get remove chromium kernel-power kernel-power-flasher<br />
apt-get clean<br />
apt-get update<br />
apt-get dist-upgrade
</p></blockquote>
<p>It took a little over half an hour to download all the packages that needed to be updated, and then took a few hours to update every package.  I ran into various problems along the way and it took a few times to download all the packages, and at times I had to run</p>
<blockquote><p>
apt-get –f install
</p></blockquote>
<p>to fix problems with dependencies that occurred along the way.  If you have a cleaner installation, you shouldn’t run into the dependency issues I ran into.</p>
<p>When everything was installed, I rebooted.  Because of tweeks I’ve done, the startup screen has a bunch of diagnostics that I’m used to seeing.  However, this time, there was also a blue bar that slowly crept across the bottom of the screen.  I assumed it was reflecting some sort of progress of part of the upgrade.</p>
<h3>Missing SMS messages</h3>
<p>Everything pretty much worked the way it was supposed to, with one exception.  I could not retrieve the history of my phone calls or text messages.  On one of the email lists, I found that a person at Nokia had the same problem.  It appears as if that blue bar that I watched, was the conversion of the Eventlogger database to a new format.  In my case, the conversion failed and the databases were listed as corrupted.</p>
<p>The database is /home/user/.rtcom-messaging/el.db  I had checked it, and it looked fine.  It also looked the same as /home/user/.rtcom-messaging/el-v1.db.  The v1 version of the database was supposed to be a different schema, and without the updated schema, the messages in the eventlog just weren’t being updated.  I moved the el-v1.db and el-v1.db-journal files to a different directory and rebooted.</p>
<p>That little blue bar came back as I rebooted.  When the machine was backup, a new version of el-v1.db had been created.  This time, it appeared to be created properly, because all of my phone calls and SMS messages were back in the log, and I haven’t had problems since.</p>
<h3>Reinstalling Chromium and Kernel Power</h3>
<p>I reinstalled Chromium and it works just like it had before.  Generally speaking, I prefer the default browser on the N900, followed by Firefox.  Chromium and Iceweasel work okay for me, but haven’t convinced me to switch to them as my primary browser.  I haven’t gotten around to try Opera yet, that is still on the to do list.</p>
<p>kernel power installed nicely and I rebooted for it to take effect.  I toyed with the overclocking and it appears to work.  However, overclocking apparently voids the warrantee, so I can’t recommend it.  On the other hand, I find that most computers and cellphones that I’ve used die not because of chips burning out, but because of cases, screens and keyboards wearing out.  So make your own choice about whether or not to use the overclocking.</p>
<p>What I was more interested in is the IPv6 connectivity.  I run IPv6 on my network, and I’ve been longing to try IPv6 on the N900.  Doing a <i>ifconfig</i> command, I saw that my device had a proper IPv6 address.  Then, I tried <i>ping6 ipv6.google.com</i>.  This is my standard test for IPv6 connectivity.  It appears as if there is something wrong with IPv6 in the power kernel.  The first eight packets get responded to, and then all other packets get dropped.  With this, I haven’t been able to successfully test other aspects of IPv6 including the browsers, ssh, and other programs.  This goes on to the ‘to explore later’ list.</p>
<p>Kernel Power includes a lot of other interesting features, including USB/IP, and fun networking features.  These also go on the ‘to explore later’ list.</p>
<h3>Observations</h3>
<p>Since doing the update, things run pretty much the same as they did before the update.  The biggest change from my perspective is that the menu is now one long scrollable menu that you can move items around on, instead of having a ‘more’ icon to click on.  There has been a lot of talk about portrait mode, but that was available, at least partly, in the previous version and I don’t use it much.  I’ve also heard there is an onscreen keyboard, but I haven’t found it yet, and I’m not sure I would use it that much.</p>
<p>I like to use the media player, and they’ve added icons next to the name of uPnP servers.  I’ve used Rygel as an N900 uPnP server, Microsoft Media Player as a uPnP server and MediaTomb as a uPnP server on Linux.  They all seem to work okay.  I’ve had problems with MediaTomb dropping its N900 connection in the past.  I still have that problem, but it isn’t nearly as bad as it used to be.  Also, using the last.fm scribbler for the Media Application Framework, I’ve updated my last.fm status with songs that I’ve played off of MediaTomb, so it is working pretty well.  PyPianobar, which is my other favorite media app for the N900 works quite nicely as well.</p>
<p>My test apps continue to run nicely, including one written in QT but not recompilted.  In fact, the QLCDNumber looks better than it used to in PR 1.1.1</p>
<p>The chroot Debian with LXDE seems to work just as well as it did before upgrading, which means it is good enough for playing and testing with, but not much more.  Unfortunately, since upgrading to PR 1.2 and installing power kernel, I have not been able to successfully boot into Mer.  I have Mer installed on a petition of my SDHC card, and I could boot to it before, but not now.  I also have a version of Fedora and MeeGo on my SDHC card.  I’ve never been able to boot to them, but I can chroot to them.</p>
<p>One of the next things I want to explore is the latest version of MeeGo, but I want to spend a little time making sure that my installation of PR 1.2 is stable and catching up on the rest of my life.</p>
<p>Are there any other N900 users out there that want to share stories or tips about their experiences with PR 1.2?</p>
<span class="net_nemein_favourites">9 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=e3c2316e69a611dfa998dd430473c9e6c9e6&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/e3c2316e69a611dfa998dd430473c9e6c9e6/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=e3c2316e69a611dfa998dd430473c9e6c9e6&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/e3c2316e69a611dfa998dd430473c9e6c9e6/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Thu, 27 May 2010 15:06:01 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-e3c2316e69a611dfa998dd430473c9e6c9e6</guid>
        </item>
        <item>
            <title>Media Sharing – Pandora, last.fm, uPnP and the N900 and iPhone</title>
            <link>http://www.orient-lodge.com/node/4068</link>
            <description><![CDATA[
<p>A month ago, I wrote a blog post about <a href=http://www.orient-lodge.com/n900>mobile media sharing</a> in response to press releases about NearVerse.  I brought up the idea of using uPnP to facilitate some media sharing.  Since then, I’ve played with a bunch of different packages and figured it is time for an update.</p>
<p>At the simplest level, the Media Player on the N900 works nicely as a uPnP client.  So far, I’ve used it with the N900 media player to play music off of a Windows Media Player on a machine running Windows XP, off of a Linux box running <a href=http://mediatomb.cc>MediaTomb</a> and off of the N900 running <a href=http://live.gnome.org/Rygel/N900>Rygel</a>.  All of this has been over my home WiFi network.  Unfortunately, the network is a little flaky and at times I’ve had problems connecting to the various uPnP servers.  If I disconnect my WiFi and reconnect, I can find the uPnP servers and start playing again.  Most recently, MediaTomb will play about thirty seconds of music before losing the connection and Rygel, which had been returning information about the music available has stopped doing so.  Considerable more testing is need to determine what is going on with this.</p>
<p>I have also install <a href=https://garage.maemo.org/projects/mafw-lastfm/>mafw-lastfm</a>.  This allows devices using the Media Application Framework to post information about what songs are being played to <a href=http://last.fm>last.fm</a>.  This has worked fairly reliably when playing music that is loaded on the N900.  When I use it to post information that has been retrieved via uPnP, it has worked, but not reliably.</p>
<p>A friend of mine recently purchased an iPad and I asked if it had uPnP support.  They didn’t know, so I did a little searching.  So far, I’ve found a $4.99 app called <a href=http://www.plugplayer.com/>PlugPlayer</a>.  It is a uPnP client for the iPhone and related devices.  I haven’t gotten a chance to see if I can stream music from my N900 using Rygel to a iPad using PlugPlayer, but it looks like an interesting opportunity to do a little cross platform media sharing.</p>
<p>Finally to really muddy the uPnP waters, Zach Goldberg’s <a href=http://zachgoldberg.com/2010/04/27/zhaan-now-available-in-extras-devel/>Zhaan</a> is now available in ‘extras’.  Zhaan is a uPnP controller.  Not having much for uPnP devices to control, I probably won’t have great opportunities to test it, but I suspect that if I really want to push things, I could borrow my friends iPad, have it play media streamed from my MediaTomb server on Linux and control the whole mess with Zhaan on the N900.</p>
<p>The other little bit of media fun on the N900 for me has been Pianobar.  Pianobar is a command line program for the N900.  However, there are two nice GUI interfaces, pyPianobar and qtPianobar.  I’ve run things from the command line and using the two GUI interfaces, and I like the pyPianobar application best.  Of course you can also play Pandora from a web browser, but when I’ve done that in the past, it seems to take up so much CPU time that that I haven’t been able to answer phone calls when they come in while I’m listening to Pandora in a browser.  Yet with the Python interface to Pianobar, I’ve not had that problem.  One issue is that pianobar does not appear to use the Media Application Framework.  What this means is that the last.fm application does not work with pianobar.</p>
<p>So far, all of this has been playing with audio.  The next thing I want to explore is video.  The recent discussions about Google making the VP8 video codec available as open source look particularly promising.  Will it be possible to run VP8 encoded videos on the N900?  Related to this is the interesting work in getting the <a href=http://blog.mjg.im/2010/04/16/theora-on-n900.html>Theora video codec</a> to run on the DSP of the N900.  Now, if only we can get an open source VP8 codec running on the DSP of the N900, and get Netflix to make its videos available using HTML5 and VP8, but all of those things are still down the road.</p>
<p>So, what am I missing?  Are there some interesting media applications on the N900 I should explore?</p>
<span class="net_nemein_favourites">7 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=ecab5fc0578211df97bc599b2e2594959495&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/ecab5fc0578211df97bc599b2e2594959495/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=ecab5fc0578211df97bc599b2e2594959495&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/ecab5fc0578211df97bc599b2e2594959495/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Tue, 04 May 2010 13:16:15 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-ecab5fc0578211df97bc599b2e2594959495</guid>
        </item>
        <item>
            <title>The Design of Design</title>
            <link>http://www.orient-lodge.com/node/4038</link>
            <description><![CDATA[
<p>How does Frederick P. Brooks new book, <a href="http://www.amazon.com/gp/product/0201362988?ie=UTF8&amp;tag=ahynes1-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0201362988">The Design of Design: Essays from a Computer Scientist</a> compare to his classic, <a href="http://www.amazon.com/gp/product/0201835959?ie=UTF8&amp;tag=ahynes1-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0201835959">The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)</a>?  How much time do I want to spend trying to find out?</p>
<p>These were questions I asked myself as I received an email from his publicist asking if I would review the new book.  I decided that it was a book I wanted to review and I wanted to look at the whole book, and not just a sample chapter or portions online.  As I noted before, I’m pretty picky about which books I take time to review, and while the new book might be really great, it could also be a big disappointment and not live up to the previous book.  The Mythical Man-Month is a book of mythic proportions.  It is a book that I used to require any developers working for me to read.  It sits in a special place in my book case.  It is a tough act to follow.  Nonetheless, I took the plunge, and asked the publicist for a review copy of the new book, and I’m glad I did.</p>
<p>I received my copy of The Design of Design earlier this week.  I’ve been taking time here and there to read it and still have a long way to go.  However, I’ve read enough already to state that it deserves its place next to the Mythical Man-Month.  It takes a broader view and is applicable not only to those of us working in computers, but to people involved in any sort of design.  As an example, it provides a great contrast between computer design and other types of design such as architecture.</p>
<p>He starts off each chapter with various interesting quotes, and starts the first chapter with a quote from Francis Bacon:</p>
<blockquote><p>
[New ideas would come about] by a connexion and transferring of the observations of one Arte, to the uses of another, when the experience of several misteries shall fall under consideration of one mans minde.
</p></blockquote>
<p>I have always been fascinated by how new ideas come about as well as by the connections between people with different viewpoints.  This is a book for a reading club with computer scientists, architects and fashion designers.  (I would love to hear a fashion designer’s thoughts about this book.)</p>
<p>The question of where new ideas come from is one of those great questions that many great thinkers have pondered.  The book seems to offer pointers in the right direction, but at least to me, the question remains somewhat intractable.</p>
<p>Brooks starts off by looking at a good look at the Rational Model of design.  As I read through this section, my mind wandered to Wittgenstein’s <a href="http://www.amazon.com/gp/product/0415254086?ie=UTF8&amp;tag=ahynes1-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0415254086">Tractatus</a>.  In many ways, the Tractatus is to twentieth century philosophy what the Rational Model of design is to design.  </p>
<p>The final proposition of the Tractatus is “Whereof one cannot speak, thereof one must be silent”, and it seems as if something similar needs to be said of the Rational Model of design.  Yet Wittgenstein went on to write the <a href="http://www.amazon.com/gp/product/1405159286?ie=UTF8&amp;tag=ahynes1-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1405159286">Philosophical Investigations</a>, which explore so much more.  Likewise, Brooks goes on to explore so much more in The Design of Design.</p>
<p>As Brooks explored the issues of the goals and desiderata of design, my mind wandered to the question of ‘What is Quality?’  It seems as if this book needs to be read alongside Robert Pirsig’s <a href="http://www.amazon.com/gp/product/0061673730?ie=UTF8&amp;tag=ahynes1-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0061673730">Zen and the Art of Motorcycle Maintenance</a>.</p>
<p>Another diversion my mind took as I read this was thinking about how both the Mythical Man Month, as well as The Design of Design relates to what is going on in the world of the <a href=http://www.orient-lodge.com/N900>Nokia N900</a>, and for that matter in the broader areas of Linux development and cellphone development.  When you get right down to it, the IBM System 360 was a much less powerful computer than the Nokia N900.  Yet the System 360 went through a design process that everyone refers back to.  What has the design process for the Nokia N900 really been like?  What about the design process for Maemo or MeeGo?</p>
<p>Readers may suggest that these are very different situations, it is like comparing a <a href="http://www.amazon.com/gp/product/0596001088?ie=UTF8&amp;tag=ahynes1-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0596001088">The Cathedral and the Bazaar</a>.  I think this is an important point.  The System 360 is a Cathedral and everything going on with cellphones, tablets, slates and Linux is a Bazaar.  The Design of Design needs to take its place in the special section of beloved books wedged between Zen and the Art of Motorcycle Maintenance and The Cathedral and the Bazaar.</p>
<p>Over the next few weeks, I expect The Design of Design will color my thinking about various topics I write about here.  You should go out and get the book, read it, and share your thoughts.</p>
<span class="net_nemein_favourites">1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=da591b7443e511dfaa7205ea5a5cc04ac04a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/da591b7443e511dfaa7205ea5a5cc04ac04a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>4 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=da591b7443e511dfaa7205ea5a5cc04ac04a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/da591b7443e511dfaa7205ea5a5cc04ac04a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Fri, 09 Apr 2010 13:46:50 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-da591b7443e511dfaa7205ea5a5cc04ac04a</guid>
        </item>
        <item>
            <title>Mobile Media Sharing</title>
            <link>http://www.orient-lodge.com/node/4033</link>
            <description><![CDATA[
<p>Yesterday, both <a href=http://www.dmwmedia.com/news/2010/04/05/nearverse-gets-1-million-lokast-mobile-sharing-platform>DigitalMediaWire</a> and <a href=http://www.digidaydaily.com/stories/nearverse-wants-to-save-the-mobile-universe/>Digiday:Daily</a> ran stories about <a href=http://www.nearverse.com/nearverse-secures-1-million-in-seed-funding-to-speed-traffic-on-the-mobile-web-highway-via-data-carpooling/>NearVerse securing $1 million in seed funding</a>.  I had written about <a href=http://www.orient-lodge.com/node/4008>NearVerse</a> a few weeks ago so I thought I’d find out what is new.</p>
<p>Really, there wasn’t much news.  The company sent out a press release about funding they had received last year.  Their iPhone app, which was supposed to be the hot item of SxSW just didn’t get all that much buzz, and most of the people that tested it for me where unimpressed.  Yet I still think they may be on to something.</p>
<p>This thought was reinforced as I read through various blog posts about the Nokia N900.  Zach Goldberg has been writing some very interesting things about UPnP and the Nokia N900 on his blog, <a href=http://zachgoldberg.com/>BlueSata</a>.  In one post, he wrote about the <a href=http://www.sonos.com/Default.aspx?rdr=true&amp;LangType=1033>Sonos</a> multi-room sound system.  It is worth noting that the Sonos page talks about being able to control the sound system from an iPhone.  By the sounds of Zach’s blog post, you can probably do the same from a Nokia N900 and his UPnP software.</p>
<p>Yet it is the idea of mobile media sharing that gets me.  Could some of Zach’s work on UPnP on the N900 be used to facilitate sharing music and other media between N900’s, and perhaps even iPhones and people’s home music systems?  Could Zach’s code be used to take the idea of NearVerse’s LoKast to a whole new level?</p>
<p>I don’t know enough about UPnP and it’s hard to tell how Zach’s code might work with my idea.  I haven’t managed to get Zach’s code to run on my machine yet, and even if I do, I haven’t found any N900 owners around where I live so I wouldn’t have a great chance to test out some of the ideas.</p>
<p>So, anyone else out there experimenting with UPnP on their cellphones?  With LoKast?  With other ways of sharing media from mobile devices?</p>
<span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=7238104641b411df8a8c69b79d60d274d274&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/7238104641b411df8a8c69b79d60d274d274/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=7238104641b411df8a8c69b79d60d274d274&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/7238104641b411df8a8c69b79d60d274d274/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Tue, 06 Apr 2010 19:45:15 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-7238104641b411df8a8c69b79d60d274d274</guid>
        </item>
        <item>
            <title>Configuring the Nokia #N900 Chameleon for Mer, MeeGo and Fedora</title>
            <link>http://www.orient-lodge.com/node/4029</link>
            <description><![CDATA[
<p>Recently, the first development version of <a href=http://meego.com/>MeeGo</a> became available and I figured it was time to turn my Nokia N900 into a Chameleon.  This blog post will recount some of my experiences.  Non-geeks might want to skip the rest of this post.<br />
&lt;!--break--><br />
First, let me point to a couple of the other blog posts about MeeGo.  <a href=http://www.digitaltrends.com/mobile/intel-and-nokias-meego-opens-up-to-developers/>Digital Trends</a> compliments the MeeGo team because “it’s transparency that’s very uncommon in mobile device development.”.  <a href=http://jaaksi.blogspot.com/2010/04/meego-is-now-opened.html>Ari Jaaksi</a>, who is heading MeeGo Devices and MeeGo operations @ Nokia blogs, “So, it is an invitation for hackers who want to participate in MeeGo development, not for end users ;-)” and a lively discussion opened up there in the comments.  This ‘developer’ focus is also echoed in <a href=http://thenokiablog.com/2010/03/31/meego-nokia-n900-stay-away/>the Nokia Blog</a> which warns ‘end users should stay away’, and provides a screen shot of ‘text on black and white screen’.</p>
<p>I’ve been programming computers for over four decades now, so I think I can call myself a developer, but I’m also enough of a developer to know my limits and I have not delved deeply into mobile development yet, so I approached my effort cautiously.</p>
<p>Recently, I ordered a 16 gb microSD card for my phone.  My initial thought was that this would give me lots of space to play so I formatted it on the N900 to be eight different 2 gb partitions.  </p>
<p>I used sfdisk on the N900 to repartition the device.  Using the command ‘sfdisk –l’ I found that the card had 486192 ‘cylinders’.  To make things easy, I decided to make eight 2 gb partitions.  With that, each partition would need to be 60774 cylinders.  I had read that N900 likes the first partition to be a FAT partition, so I set that aside for that purpose.  Also, following notes from others, I set the second partition to be a Linux Swap partition of 2 gb.  Traditionally, partition tables can only have four partitions, but one can be an ‘extended partition’, this is a partition you can split into additional partitions.  So, I set my third partition to be a 2 gb linux partition, and I set the fourth partition to take up the rest of the card.  Then, I created four more 2 gb linux partitions in the extended partition.</p>
<p>To make this easy, I set up a file with the partition information I wanted to use:</p>
<blockquote><p>
0,60774<br />
,60774,S<br />
,60774,L<br />
,,E<br />
,60774,L<br />
,60774,L<br />
,60774,L<br />
,60774,L<br />
,,L
</p></blockquote>
<p>With this, I then used the mkdosfs command on the N900 to create a dos file system in the first partition.  I used mkfs.ext3 to create the unix partitions.  With that, I then searched for ways to tweak my phone to boot off of a flash card.  The Maemo Wiki has an article, <a href=https://wiki.maemo.org/Booting_from_a_flash_card>Booting from a Flash Card</a> and <a href=https://wiki.maemo.org/Advanced_booting>Advanced Booting</a>.  Both looked a little messy and I was unsure if they would work with the N900.</p>
<p>There was an article in <a href=http://maemocentral.com/2010/01/26/n900-can-run-android-win-nt-4-0-win-3-11-win-95-win-98-debian-mer/>Maemo Central</a> about booting different operating systems.  This led to an article on the <a href=http://mer-project.blogspot.com/2010/01/dual-booting-mer-on-nokia-n900.html>Mer Project</a> about duel booting.  Following this through a few links, I ended up in the Maemo Garage to try and download <a href=https://garage.maemo.org/plugins/scmsvn/viewcvs.php?view=rev&amp;root=bootmenu&amp;revision=53>bootmenu</a>.  Unfortunately, I couldn’t get this downloaded, so I took another tack.</p>
<p>Jeff Moe has a great write on <a href=http://wiki.maemo.org/User:Jebba/Fedora>installing Fedora</a> on the N900.  Using a link from his page, I downloaded a debian package of bootmenu.  I installed it, and found it worked quite nicely.  First, I installed it without any of the other OSes available.  When I booted my N900 with the keyboard open, it gave me the choice of booting to Maemo, or powering off.  If I booted with the keyboard closed, the N900 booted the way it always has.</p>
<p>I had already downloaded Fedora for the N900 a while ago for testing, and had run it in chroot mode.  Now, I moved it out of my user directory into its own partition on the memory card.  I could still nicely chroot /media/mmc3 /bin/bash and run Fedora that way.  I added a fedora.ext.item to the /etc/bootmenu.d directory and tweaked it to match how things were configured on my machine.</p>
<p>When I rebooted the N900, I had an option to start either Maemo or Fedora.  The problem is that if I tried starting Fedora, it would start the boot process and then shutdown after about eight seconds.  This is because of the watchdog issue.  To get around this, Jeff recommends using flasher to disable the watchdog.  I attempted this from my Windows Vista machine and received the following messages:</p>
<blockquote><p>
flasher v2.5.2 (Sep 24 2009)</p>
<p>Suitable USB device not found, waiting.<br />
USB device found found at bus bus-0, device address \\.\libusb0-0001--0x0421-0x0<br />
1c8.
</p></blockquote>
<p>At this point, flasher hung, so badly that I could not even kill it from the task manager.  I will probably retry this from my Vista machine a bit later, and then if that doesn’t work, install flasher on one of my Ubuntu boxes and try again there.  It would be nice if there was some easier way to turn off watchdog.</p>
<p>It appears as if other people have the same concern.  Alexey Torkhov wrote about <a href=http://alexeytorkhov.blogspot.com/2010/02/running-fedora-arm-on-nokia-n900.html>an RPM package that he created to disable watchdog</a>.   This looked particularly promising.  However, when I tried to run rpm in my chroot fedora on the N900, I received an error message: “Cannot open Package index using db3”.  I tried rpm -vv --rebuilddb and rpm -vv --initdb but neither command worked.  </p>
<p>At this point, I figured it was time to try yet another approach.  I moved over and tried to install MeeGo from the <a href=http://wiki.meego.com/ARM/Meego_images_for_N900>MeeGo Images</a>.  Actually, like was the situation with Fedora, I had already downloaded it and was playing with it in chroot.  Now, I moved it to its own partition on the card, so I could try booting it as well.  I worked off of the rootfs version because I wasn’t sure about how to use the ubi version on the memory card, and I wanted to be particularly careful.  The downside of this, is that the rootfs version doesn’t include Nokia’s proprietary stuff.</p>
<p>This time, when I tried to install Alexey’s n900 watchdog package, RPM ran nicely.  However, it failed on a dependency on watchdog.  I tried running yum, but that failed when it tried to retrieve repository metadata.</p>
<p>For my final attempt of the day, I attempted to install Mer.  I gave it its own partition, ran it in chroot mode and decided to try booting it.  The first time I booted it, it appeared to hang for a little bit.  I tapped on the screen a few times to see if I could wake things up.  Unfortunately, the first thing that it does is try to calibrate the touch screen.  My random wakeup taps got interpreted as calibration, and the screen was completely messed up.  I ended up taking out the battery and trying again.  This time it calibrated nicely, ran through the rest of the configuration and brought me into Mer.  It took a little while before I managed to get the wireless working smoothly, but soon everything was okay.</p>
<p>I found the onscreen keyboard really annoying and I never figured out how to use it properly with the web browser.  Finally, I tried to shutdown mer.  I issued the shutdown now command, and it started its shutdown process, but never seemed to complete.  In the end, I popped the batter again.  I rebooted, and tried to go into Mer one more time, but started getting what appears to be the same problem with the watchdog.  So, I’ve gone back to running Maemo for now.</p>
<p>Future explorations include trying to get <a href=http://maemo-freak.com/index.php/hacks/1397-lxde-ubuntu-mobile-904-on-mer-running-smoothly-on-n900>lxde running on Mer</a> and perhaps eventually trying to boot Android.  </p>
<p>However, I’ve now spent enough time playing with the cellphone, and I should try to get some other things done today.  Hopefully, somewhere along the way, I’ll come across a way to deal with the watchdog and I can really start experimenting.  If any of you have clues or suggestions, please let me know.</p>
<span class="net_nemein_favourites">12 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=f11bb7483e7e11dfb07589b822d73af13af1&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/f11bb7483e7e11dfb07589b822d73af13af1/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=f11bb7483e7e11dfb07589b822d73af13af1&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/f11bb7483e7e11dfb07589b822d73af13af1/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Aldon Hynes &lt;aldon.hynes@orient-lodge.com&gt;</author>
            <category>feed:d96b080fca66d64fd56a892298c08a27</category>
            <pubDate>Fri, 02 Apr 2010 17:01:24 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-f11bb7483e7e11dfb07589b822d73af13af1</guid>
        </item>
    </channel>
</rss>
