Gliders, Italy and Androids

What an incredible summer and it is funny how it all started.  I found myself without a job at the end of April.  A week or two later I started a crazy schedule of fencing, archery and hiking amongst the usual day-to-days at home.  I even got to try out some serious tree climbing and zip-lining.  And I met new friends at a retreat and a number of parties too.  I even got to hang out with and host Anna and Behnaz, two friends from Montreal for over a week.

At the beginning of July, after months of preparation my brother, Martin went for the Air Cadet’s gliding summer camp.  After over 6 weeks of intensive work, training and practise, my brother can now legally fly a glider by himself.  I am incredibly proud of him and we now have a real pilot in the family.  Wow.

The past month and a half I had the honour and pleasure of hosting one of my very good friends from Italy, Laura.  Laura came to visit us, see Canada and learn English.  We did that and a whole lot of hiking, sightseeing and partying in Toronto, Niagara, Tobermory and Hamilton.  And her English became a lot better too.  I am so thankful that you came Laura and I hope you enjoyed being with us as much as we having you over.  Thanks!

After a full summer, I’ve come full circle.  About three weeks ago, I interviewed and got hired as a mobile developer for Web Impact.  I get to work on building Android mobile applications in a great environment with awesome coworkers.  I have always wanted to get into mobile programming.  But I never imagined that I would be doing what I get to work on.  Unfortunately I can not disclose the details of what I am working on and the technology behind it.  However I can say that the technology and the way we apply it is how I envision the future of mobile, web and desktop computing will look like.

This year has been an amazing ride so far.  And from what I can tell there is even more awesomeness in store.

Beautifying the Boot – GRUB2 & Plymouth Themes in Ubuntu 10.04

I like eyecandy especially when it comes to my Linux workstation.  I was pleasantly surprised when I first booted up my fresh install of Kubuntu 10.04.  However after installing the NVIDIA drivers (Sigh.  NVIDIA when will you learn?  Open sourcing your drivers is not going to kill you.), I lost the pretty Kubuntu splash screen.  After a lot of experimentation and searching the Web for a sane solution, I managed to not only bring back the splash screen but also add a pretty background for GRUB.  Here is how:

1. Install the v86d package

sudo aptitude install v86d

Why exactly a daemon is needed to execute x86 code is beyond me.  But without it GRUB2 and the initialization scripts refuse to show the proper splash screen.  Instead you get the fallback purple Ubuntu text theme.

2. Edit Your Grub Config (/etc/default/grub)

This is a big step.  You need to edit the GRUB2 configuration to add a few modsetting options.  Otherwise things will not work out.  You’ll need to edit the configuration first use your favourite text editor to edit the file.  I use Vi for this example.  If you prefer Kate or gedit to change the “sudo vi” parts to “kdesudo kate” or “gksudo gedit” throughout the manual.

sudo vi /etc/default/grub

You’ll need to change the following lines:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=" splash quiet vga=769"

To something like this:

#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
#GRUB_CMDLINE_LINUX=" splash quiet vga=769"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodset
  video=uvesafb:mode_option=1280x1024-24,mtrr=3,scroll=ywrap"

Commenting out those lines prevents the original configuration.  Note that the GRUB_CMDLINE_LINUX_DEFAULT should be one line, I put it on two lines for readability.. Instead we want to manually set the video mode of the framebuffer.  Namely we want to use the uvesafb driver and to run the resolution at 1280×1024 with 24-bits of colour.  If your screen uses a different resolution substitute it in the mode_option option.  [It always good to check what resolutions your graphics card supports, by using the vbeinfo command when running inside of grub.]

mode_option=1280x1024-24

In addition, to you’ll need to change the following line:

GRUB_GFXMODE=640x480

To something like this:

GRUB_GFXMODE=1280x1024
GRUB_GFXPAYLOAD_LINUX=1280x1024x24

The first line sets the correct mode for the graphical console.  The second one keeps the changes when switching over to Plymouth.  If the second line sounds magical, I can just vouch it worked for me.  Other users reported not needing this line or using the “keep” instead of an actual resolution.

3. Edit /etc/initramfs-tools/modules

Next up we need to update what options get included in our initramfs (initial ramdisk that gets loaded up first by Grub and that is used to initialize the entire system at boot).  On the very bottom of the /etc/initramfs-tools/modules file, just add the following new line.  This will make initramfs load up the right splash mode at boot.

uvesafb mode_option=1280x1024-24 mtrr=3 scroll=ywrap

4. Fixing the Splash Delay

This next step fixes the delay that normally happens when Plymouth runs at boot.  Open and edit the /etc/initramfs-tools/conf.d/splash file.  All you need is to add the following line on the bottom of the file:

FRAMEBUFFER=y

5. Updating GRUB2 and Initramfs

Before you can see the changes in actions, you need to update your initram and Grub installs.  First you need to rebuild the initramfs image with:

sudo update-initramfs -uv

Then you need to update your Grub installation with:

sudo update-grub2

And you are done!  Below I also mention how to modify which Plymouth theme gets used, and how to add a nice background image to Grub.

Changing the Plymouth Splash Theme

Before you can change the Plymouth theme, you will need to either install or build your own theme.  I did not bother with building my own but the second link below gives instructions on how to build your own.  Once you have some additional themes, you can switch between them by running:

sudo update-alternatives --config default.plymouth

Follow the on-screen instructions and rebuild your initramfs image as you did above.

Changing Grub’s Background

Just like with the Plymouth themes, you’ll need to install an extra package (e.g. grub2-splashimages) or create your own images.  Next you will need to edit the script that sets up your Grub2 image.  It seems a bit hackish, but at the moment there isn’t a better way to do this.  So open the /etc/grub.d/05_debian_theme file with your favourite text editor.  Look for the following line (should be line 10):

WALLPAPER="/usr/share/images/desktop-base/moreblue-orbit-grub.png"

All you need to do is to change the WALLPAPER value, to the full path of the image you want to use as your background.  The third link below contains some useful guidelines for picking a background image with the correct dimensions and colour value.  I would stick with an image that is 640×480 and 16 bit colours.  Once you finish editing that line, remember to update your Grub2 install just like we did above.

And there you have it – a much nicer looking booting experience.  I’d like to thank the following sources for letting me piece together this guide:

Old is the New New

Or at least it seems that way. After all the fun that was summer, it looks like I will be going back my old pace of life and digs. So does that mean?

First of all, no real changes in my life at the present. The world changes around me. I feel like I am running around like mad trying to change life. But instead it looks like most of my efforts are resulting in my not moving. Or maybe it is the motions of the universe cancelling out my motions. Either way nothing new on my side. At least nothing new that I can envision. Maybe just a gentle slow plodding toward where I need to get to. Except…

Except that I may start working as a software developer again. And I might get the chance of working on various mobile platforms. I’d like that very much as I do want to move into mobile programming. If not I am pleased that the job market for software developers is hot. Especially ones with experience and modest expectations. I think the era of the very highly paid developer will draw to a close, as the economy tries to readjust. But I am so ready to get back into coding on a day to day basis.

On the tech side, after playing around with openSUSE this summer I realized this distro is not for me. I love the polish and care that the KDE side receives in openSUSE. But the underlying system and configuration just does not match the way my brain works. A Debian distribution feels more natural and works better. Combine that with a focus on ease of use that Ubuntu offers… well I am back to using Kubuntu. Kubuntu 10.04 is a better version and feels just as snappy as openSUSE. While the construction of the system and the popularity of Ubuntu win out over openSUSE.

MeeGo 1.0 and Maemo5 PR 1.2 Released

While I was busy with the randomness of life, awesomeness hit the world of mobile Linux.

Maemo5 PR 1.2 Released

For all you proud owners of Nokia N900s, go and upgrade to the recently released PR 1.2 update for Maemo5.  This update really, really improved the performance of the phone.  Better multimedia playback, faster browsing experience and many other improvements.

I went the way of reflashing the device, using Nokia’s Updater.  Now it claimed that it would wipe out my personal data on the device.  So I made a backup and let the Updater do its thing.  I went the Windows route, because I didn’t feel like messing with the Linux flasher.  Both work the same, I just went with the easiest route.  To my surprise and delight, all my data carried over.  I needed to reboot the N900 before everything showed up.  But it was all there with the exception of my applications.  That required me to go and re-download and reinstall all my apps.  Not a big deal, but a slight hassle nonetheless.

What about MeeGo?

One thing that didn’t happen was an update to MeeGo for the N900s.  On one hand I understand why Nokia didn’t want to push-out a risky upgrade to existing N900s. On the other, never getting official support for MeeGo on the N900 is a shame.  Developers will get to play with MeeGo images for the N900.  But don’t expect Ovi or anything non-community based finding its way on the MeeGo for Handhelds, in terms of anything for the N900.

MeeGo 1.0 for Netbooks

Even if MeeGo never arrives officially on the N900, it is ready to hit the netbook.  The MeeGo project recently released MeeGo 1.0 for Netbooks.  Being the ever curious geek, I decided to download and install the MeeGo 1.0 image on a USB stick.  Since the netbook at home is currently on the other side of the pond, I decided to try it out on my non-portable super-netbook (a.k.a. desktop workstation). Unfortunately I got as far setting up and booting off the USB stick.  Then I got a funky framebuffer not found message, and the poor thing tried to start up a display.  I guess no playing around with MeeGo, if it isn’t a supported netbook just yet.

However Nixternal (of KDE/Kubuntu fame) had a better go and blogged about his good impressions of MeeGo.  So far people are impressed.  The MeeGo platform will impact the netbook and tablet market, at least with the products showcased at Computex.  Also it looks like DeviceVM will make their next SplashTop product on top of MeeGo.

Migrating to openSUSE

If you’ve followed my dents on identi.ca, you may have noticed that I asked people for their recommendations for a good KDE4 Linux distribution.  Well after a bit of thought I decided that I would move away from Kubuntu to openSUSE.  Why the change?

  • KDE4 is the desktop environment that gets all the attention and polish.  Kubuntu is great and valiant effort by the community to bring the Ubuntu experience to KDE4.  However, there is a lot of polish and integration missing that openSUSE provides.
  • A system that supports my hardware. From some weird reason, the Ubuntu kernel maintainers removed a flag that cause my DVD burner not to see CDs.  This is not the case in openSUSE.  I actually tried to burn something off a LiveUSB before installing openSUSE.  Yes, I could of recompiled my kernel with the right flags.  But if I wanted to do that, I wouldn’t have moved off Gentoo to Kubuntu.
  • A system with lots of packages and community repositories. This is why I didn’t choose some of the lesser known distributions.  openSUSE (and Fedora) do a good job at this.
  • A stable system. Fedora does not do that.  The upcoming release of Kubuntu LTS et al, seems to break things.  openSUSE is extremely conservative in this manner.
  • Something I am familiar with. This was not a hyper-important point, but I do like the fact that I’ve used SuSE in the past.  So installing openSUSE is a bit like going back to an old and comfortable place.

And so far I am pleased.  The desktop looks polished, quick and a great KDE4 experience.  All that said there are somethings I don’t like:

  • Configuration is weird. I am not a huge fan of YaST.  It is good, but somehow my brain has gotten used to thinking either configuration files or KDE’s System Settings.
  • Leaving Upstart. Upstart is really, really neat way of dealing with services.  Now I’m forced to think in terms of rc.d runlevels and I’m not a happy bodkin.
  • NXServer installation breaks things. Oh yes it does.  I fought for quite a while with getting my OpenSSH server starting at boot.  It looks like the bootscript for nxsensor (nxserver’s statistics gathering engine) screws up runlevels.  Never ever had this issue in Ubuntu.
  • No DEBs. I miss DEBs,  aptitude and various DEB tool.  I’m hoping that zypper and yast manage RPM dependencies in a saner manner than what I remember from 2004-2006ish.

Somethings I look forward to trying out:

  • How easy updates work. openSUSE 11.3 is in the works, and I can hardly wait until it comes out in July.  I got a taste of KDE 4.4 via a backport  PPA in Kubuntu.  And I want that that goodness, without my system acting weirdish after the update.
  • Easy to do backups. I could not for the life of me setup a decent backup scheme under Kubuntu.  openSUSE provides a backup module right into YaST.
  • Better performance. So far openSUSE feels snappier than Kubuntu.  We’ll see what will happen once I restore all data from a backup.
  • Developing and distributing KDE and Qt with ease. This is a huge one.  I want to get into programming in Qt and enhancing the KDE experience.  I’m hoping that the tools and build system in openSUSE makes this braindead easy.

We have a Go for MeeGo

6 days after I blog that the MeeGo project should start with a release of MeeGo as a first step… well they do exactly that.  Now before everyone goes off and tries to flash their nifty Nokia N900, please don’t.  This first release is just the underlying stack, without any GUI elements.  As in if you flash your device to this first release… you’ll get a console with a blinking cursor.  Now I don’t know about you… but I don’t know how to make a phone using the console.  Still great work MeeGo folks.  I look forward to seeing the upcoming release with the MeeGo User Experience, to see how the system will look once it becomes something an advanced end-user can use.

Nokia N900 – The Penguin Has Landed

You may have noticed that I’ve dropped off the side of the Internet somewhat. Life can get busy at times, especially for someone who sometimes gets muddled up with time management and priorities. Another compelling reason for this is that I recently bought a Nokia N900. And I’m still getting used to incorporating it into my day to day activities.

Getting It Home

Unfortunately, Nokia does not sell the N900 in Canada. In theory it might eventually. But I wasn’t going until the Canadian duopoly of Rogers and Bell along with the CRTC got around to doing so. So much for Canada being a leader in telecommunications technology. Instead I bought my N900 through Amazon and used Shipito to forward my parcel. Later I found out that buying from Dell may have been a cheaper and faster alternative. It took about three weeks but I eventually got my toy.

Hardware

I must congratulate the engineers at Nokia for coming up with solid feel to the N900. I would of preferred a metal body like my old N810. But the N900 is definitely not as flimsy and plasticky like my Nokia 5800 XpressMusic phone. The touchscreen is quite sensitive and responsive much like the iPhone’s. The sliding keyboard also feels great. Each key nicely rounded, depresses in a solid quiet manner and gets illuminated in low light conditions. The 5 Megapixel Carl Zeiss camera takes great pictures with good resolution and great colour balance. My 5800 in comparison took decent photos but everything was a shade of grainy grey. The auto-focus on the camera leaves much to desire. But it might be a case of my not knowing how to use the software. The N900 takes MicroSD cards, which helped with migration away from my old phone. The internal memory is a massive 32 GB. Sound quality of the speakers is excellent. Great feeling stylus as well.

I loved the large full kickstand on my N810. Apparently the preproduction units of the N900 also had this design. However the production N900s have a small kickstand built into the lower frame of the camera. It took my quite some time to find it. And since the kickstand is off-center the whole device wobbles on its kickstand. Not cool. The real scary thing is the micro-USB connector. The power adapter for the N900 recharges the device using the micro-USB. And the port itself is surface mounted to the circuitry. I’ve read quite a few horror stories involved where the port detached from the device! So I’m paranoid, and extra careful with plugging in the micro-USB cables to the N900.

Software

The UI on the N900 screams wow. The Compiz-like 3D views and effects win everyone who sees the device in action. A phone should not be able to look and act so sexy. The UI is intuitive and very finger friendly. Web browsing is where the N900 excels. The swirl zoom in and zoom out, smooth scrolling and fast rendering makes web browsing fun. The browser fully supports Javascript and Flash, so the experience is comparable to using a full desktop browser like Mozilla Firefox. The N900 also has a great PIM/contact management. Combine it with the Hermes app from Maemo extras, and you have an awesome contact management that integrates your contacts on various messaging, microblogging and social network services. Amazing. There are a few nice apps available through the repos and the Ovi store. Including the fun games of Bounce Evolution and Angry Birds.

It is not all roses in the software realm. The N900 while a mobile computer and all that jazz is still a mobile device. Space and energy constraints plague every mobile device out there. So there is a limit to how much multi-tasking one can do. Fair enough. But sometimes the device grinds to a slow halt with just a few apps on. Why? I get it why it happened when I copied my 6GB music collection off my MicroSD onto main memory. Maybe I need to restart the device once in a while? But why two browser windows, two instant messaging apps and a music player can stall the device… Also the Maemo5 platform used on the N900 is new, so there will not be the number of apps that Symbian S60, Apple’s iPhone and the Android app stores enjoy. Nokia has Ovi working for the N900, except payments are still missing. Hence my hesitation to say the N900 will work well for non-enthusiasts. It looks like Nokia also has similar feelings. Then again Nokia has said that Maemo6 will be the mainstream platform, with multi-touch support, app stores and all that jazz.

Thoughts, Ideas and Dreams

This review is reaching epic proportions now. In short, I love my little N900 mobile computer/Internet tablet/cellphone. It is definitely something I looked forward too. And I’ve owned a number of mobile computing devices already: Palm Tungsten E, Nokia N810 & Nokia 5800 XM. A great thing is that the device and platform has the potential of getting way better with time.

Related Links

News – Google Chrome for Linux, Thunderbird 3.0 & Malware for Ubuntu

Dorian is currently concentrating on writing and getting things ready for Christmas.  So in the meantime, here are some new stories to tide you over:

Tech News – Canonical Bringing Music to Ubuntu, LH Strikes Again & Affero GPL Can’t Fix the Cloud

Canonical Launching a Music Store?

Rumours on the world wild web point to the possibility of Canonical building an iTunes-like music store.  Works for U thinks such a move would add another viable revenue stream for Canonical, even if it seems to stretch the resources of the firm.  If this music store comes to Ubuntu, I’m sure many users will enjoy using it.  And it will help Canonical start a community of artists, musicians and software firms to using Canonical and Ubuntu as a platform for selling content and applications.

The Linux Hater Tries Karmic Koala

No one knows who hides behind the LH mask.  Is he an enlightened but disgruntle Linux programmer?  Or is the king of all trolls?  Who cares!  Read up his (or her) review of the “fail” that is Ubuntu’s Karmic Koala.  You’ll get a kick out of it.

Kubuntu Needs Documentation Help

nixternal (Richard Johnson) calls for help to improve the sad state of the Kubuntu documentation.  If you are a tech writer and enjoy using Kubuntu, please help out.  UPDATE: You should know how to use DocBook to help.

Affero GPL Can’t Fix the Cloud

One of the great opportunities and threats for commercial open source is the emerging cloud computing landscape.  However Matthew Asslett (451 Group) points out the Affero GPL doesn’t negate the threat of no monetary contributions from cloud providers to commercial open source vendors.  Yes it doesn’t.  But the licenses were designed to get  source code contributions from developers.  Business models need to focus on selling value (some scarce resource based on real scarcity not an artificial one) to clients, and some clients will not see the value.  There will always be those that get away.  The Affero GPL does help “guide” most cloud providers contribute back.  If anything the GPL will give more freedom and opportunities for many more smaller players than a few large ones.  And that solves many more economic and social problems than anything else.

News – Chromium OS is Here

Chromium OS is Here

Google just announced their Chromium OS project.  This will act as the open source precursor to Chrome OS.  And the folks at Canonical are helping Google build it.  Exciting times ahead, especially for netbooks users and cloud computing advocates.  Thanks to the 451 Group‘s Matthew Aslett team for posting about this.