Long Time No Blog – Goodbye 2009!
January 17th, 2010Topics: Personal, FOSS, KDE, Computers, Maemo, N810
Another year has passed. Now that I’ve just finished a major exam and taken care of some school requirements, I can finally take a breather and look back at the past year, and hopefully learn and grow from it, too.
Disclaimer: What follows is a mix of personal reflections and FOSS/KDE-related topics and how those have affected me. If you’re looking for some analysis or review of KDE events and trends only, please feel free to ignore this. Otherwise, hold on to your seat (or bed) as this might take a while.
KDE. Of course it’s only proper that I start with the KDE stuff. What can I say? KDE continues to grow and rock! Sure, there are still KDE SC 4 naysayers. Those will always exist, and some of those we lost may never return. What’s important I think is that KDE unwaveringly pushed forward with their vision for KDE SC 4, of course with some adjustment along the way from listening to feedback. I believe that the hard investments in the “pillars” will pay off really soon now (if it hasn’t yet already). Plasma, one of the most hard hit, will truly shine as more and more people gravitate towards computers that are no longer your usual desktop or laptop forms. In the meantime, the rest of the KDE Software Compilation 4 continues to rock, as they have always been, even since 4.0.
In contrast, my contribution/presence in KDE, mostly focused on user support and, recently, through the Community Working Group and Userbase, went the way of the Dodo. Everyone who knows me personally can attest that I’m a slacker. But more than that, I kind of took a big hit from some burnout due to many factors. And I’m not even a full-pledged developer yet! I don’t want to point fingers or name names, so let’s just leave it at “I need to grow a thicker skin” (actually applies everywhere when dealing with people), which I’m constantly working on, now that I’m semi-back. Nevertheless, for the CWG, the only responsible thing to do was to open up the position for someone who deserves it more. I’m still hoping (and working towards) to pick up the pace this year, especially in programming.
Distro Odyssey. I have yet again switched to another distro. Source Mage GNU/Linux is a nice distro that gave me what I was looking for back then. It still is a nice distro, but my needs have changed. SMGL is really an advanced distro. Unfortunately, a bit too advanced for my current level of Linux knowledge. It was also taking up too much time to compile updates again and again on my turtle desktop. So I went looking again for a distro, this time a binary-based one that wouldn’t lose too much of what I learned to love in SMGL: control, vanilla-ness, relatively small community (compared at least to the “big ones”). I now have a new computer (which I forgot to/didn’t blog or dent/tweet about), which solves the compilation issues. But still, I’m not that confident at my Linux fu to dare dance at that level again.
My first stop was Arch Linux, a distro I’ve long been curious about but never really tried. It did have some of the qualities that I liked in SMGL (I might even dare say that their package management systems are somewhat similar, even in limitations
). Unfortunately, I was left between the devil and the deep blue sea. Perhaps I’ll blog (and be corrected) about my experiences some other time, but suffice it to say that Arch kind of left me dissatisfied as a KDE developer who wants a vanilla KDE experience that just works and almost always up-to-date. I don’t even want to start talking about Chakra (no offence meant).
After some … “convincing” from a dear friend who also just recently switched from his distro of 7(?) years, I tried the Fedora KDE spin (which, by the way, is the most downloaded Fedora spin). I was pleasantly surprised. My first ever Fedora experience was Fedora Core 5, and it was a bleeding edge mess (no RPM hell for me back then). This time, things just worked (except for a few NVIDIA driver-related hiccups). I can even run on their latest “testing” repo and not have any breakage (haven’t tested the kde-redhat repos yet). Even better than some distro’s “stable updates” repo.
Their KDE community is not that large, very friendly (upstream-friendly as well), and helpful. And yes, no RPM hell so far. Again, maybe more on my distro choices some other blog post. I can’t really say if I’m going to stay in Fedora, but so far, inertia has taken over. I have very little reason to go looking for yet another distro for now, so I’m not gonna drag my butt yet.
Maemo, N810, and Mobile. Maemo and Nokia in 2009 was one media frenzy/controversy after another. Ever since Nokia acquired Trolltech, it was already presumed that Qt will eventually play a major role in Maemo’s future. That role was cemented when Nokia revealed that Maemo 6 (codename Harmattan) will be using Qt instead of GTK+. However, they announced this even before Maemo 5 (Fremantle) or even the device that it will be running on, the N900, were released, creating a spectre of uncertainty among the community and outsiders as well. Of course, for a KDE guy, that’s good news. But things haven’t been so rosy, at least from where I’m standing, with a N810 in my hand.
I’ve always dreamed of getting KDE SC 4 on the N810. Not just a regular KDE workspace forcibly slapped on the small form factor, but a real and decent “port”, probably beginning with something like a plasma-netbook for tablets. While that might be technically possible, unfortunately for me it seems that any and all such future efforts will be poured on Maemo 5 or 6 and the N900 and later. While the N810 is a pretty decent mobile device, it has some limitations that might not be attractive to those doing a KDE SC port, such as no OpenGL ES drivers (although it seems that the Mer team has already received them, so that might change in the near future). Mer might be the future/last hope for my N810, but I’m not exactly sure it will be “port”-friendly. Everyone is all about Maemo 5/6 and N900, and I really can’t blame them. A fact of life I’ll just have to accept and watch from the sides. I definitely don’t have the skills to start things myself and by the time I do get to that level, I might already have my own Maemo 5/6 device to enjoy.
Personal. The last quarter of 2009 was a very trying time for me and my family. I almost lost a close friend to a vehicular accident. Typhoons that ravaged the country and severely affected people that we know. Deaths in the families of our friends. And probably the worst experience of all was having our house broken into while people were still in there, sleeping. I was staying with my aunts at a hotel when it happened, which they say is a good thing as we might have lost more than just material things. Though I still get nightmares even today, and the general feeling of helplessness and insecurity hasn’t completely vanished.
Still, things weren’t all that bad. We did remain unscathed by the typhoons that passed. And we also got to see our aunts from the U.S. again. I got a new decent computer, one that’s not almost obsolete even before the date of purchase (as my previous desktop was). And we’re still whole and alive as we entered the new year, with new hopes and dreams. So yeah, life isn’t all that bad.
So long 2009 and thanks for all the fish!
Quarterly report: Q2 – Q3 2009
September 30th, 2009Late and irrelevant blog post as usual. But still have that urge to blog. Some things are just not meant for 140 characters.
KDE … I’ve been mostly quiet on the KDE development side. The only patch I made the whole period was to add a label at the top of Konsole tabs in Konversation, similar to the topic label at the top of chat windows. The label’s text syncs with your Konsole profile’s settings for window titles. Of course there’s a handy button beside it that lets you conveniently call the profile management dialog right then and there.
School … Most of my time has been spent (besides procrastinating and playing caregiver/nurse) with school work. Or rather, cramming/rushing school work. This semester I’ve been blessed/cursed with two subjects that are completely new to me: “Data Communications and Networking” and “Database Management Systems”. Let me just say, in all honesty and humility, that I suck at networking. At least as it was presented in our textbook. It was very low-level, theory-laded, and computation-centric, almost engineering-like. I guess that’s “computer science” (or computer math?). On the other hand, I was really into DBMS. Probably because it’s more practical to me, being used almost anywhere, but specially for the Web. Fundamentals of Database Systems by Elmasri and Navathe has so far been a good read.
Events … In contrast to my inactivity, the past months have been buzzing with activity. July saw the first ever joint GNOME and KDE annual conferences in sunny(?) Gran Canaria. Of course, I wasn’t there
The videos this year were so superbly done, so make sure to grab your favorite talks if you still haven’t. Then, KDE released 4.3.0, showing off the maturity of the KDE Desktop and the Development Platform. The good news is that it doesn’t stop there. 4.4 is just a few months away!
Gadget lust … Nokia/Qt has also been quite busy, with one announcement/release/blog post after another. Most controversial probably are Pyside, the LGPL Python bindings for Qt, and a slightly vague post about a new multimedia framework in the works for Qt. But probably most talked about and most hyped is the much anticipated (but probably belated) announcement of the N900 and Maemo 5. No, it’s not yet the much dreamed of (by Qt/KDE fans at least) Qt-based Maemo and is not yet the “finished” device in Nokia’s long-term strategy, but it still has me drooling over it. Sure it has some hardware and software bad points (still not Qt
, but it will at least let me enjoy the best of both (of my) worlds, allowing me to finally have one device in my pocket instead of two. But damn it’s really expensive! Let’s see how it pans out in the coming weeks when it’s actually released.
The future … The next quarter will be fun-filled, starting off with two “meets”. Maemo Summit is the more “grassroots” gathering for Nokia Internet Tablet and Maemo communities (compared to Nokia World where the N900 was demoed, which was more “suit”-ish). I’m excited about it because of potential news and discussion about the N900 and the future of Maemo (which will be Qt-based
. But I’m equally hyped about the Developer Sprint happening on that same weekend(!), this time about the Future of KDE Game Development. Being a wannabe/frustrated game developer/designer, of course I find this something to look forward too.
Exciting times ahead. Unfortunately, I don’t know I’ll be around to enjoy and participate, even virtually. I’ve decided to take a self-prescribed/imposed sabbatical, for personal reasons (mostly to preserve my sanity and, consequently, my life). But with all this buzz going on, how can anyone stay away and still stay sane?
“Quarterly” Report: Yakuake
April 17th, 2009Another month has passed without a blog post. My new year’s resolution is an epic fail. Luckily, the rest of my life didn’t follow suit. Since I’m trying not to beat around the bush, I’ll get straight to the point. This post will be all about Yakuake, specifically the cool new features you’ll be seeing in the next release.
First up is moving/rearranging tabs using drag and drop. Click and hold on a tab with the left mouse button (or right mouse button, if you’ve reversed them) and drag and drop to the desired location. Drop indicators will appear on the tab bar, indicating where you’re allowed to drop a tab. People using tabs in Konsole might be familiar with this behavior.

You can now prevent tabs (formally called “Sessions” in Yakuake) from being closed. You can do this through the tab’s context menu (right-click on the tab name) and setting the “Prevent Closing” option. If you try to close that tab, you will be asked to confirm the action. This lock applies to all terminals (in the case of split views) in that tab. There’s a catch, however. Due to certain limitations in how the embedded Konsole works, there are 2 instances where the protection is bypassed: Using the shell’s own exit methods (“exit” command or Ctrl+D) and the embedded Konsole’s Close Session method (right-click inside the terminal, select Close Session or press Ctrl+Shift+W).

Another new type of lock is “Disable Keyboard Input”. This virtually makes the terminal read-only, perfect for important processes that must not be interrupted by keypresses or for monitoring something in the terminal. Again, this option is available in the tab’s context menu, but this time, you have the option to lock individual terminals or all terminals in the tab. And since this disregards any keyboard input inside the terminal, it means that even Ctrl+D and Ctrl+Shift+W are blocked. So with the feature to prevent closing tabs, you now have one indestructible tab.
And last, but definitely not the least (in fact probably the most visual change) is the new “Visual Effect Overlay”. Basically, this makes it possible to display a translucent “cover” over a terminal. This is effect is used in the disable keyboard input feature mentioned previously. For example, if you try to type into a locked terminal, that terminal will flash red for a while (or repeatedly, if you keep on typing). And when you’re trying to choose which terminal to lock from the tab’s context menu, the corresponding terminal is highlighted with a blue color when your mouse hovers over the terminal name.
I’m personally very happy with this coming release, since I’ve been responsible for the first two features mentioned. My biggest hacking contribution to KDE so far, and my first SVN commit spree. Lead Yakuake ninja, Eike Hein, (should I start calling him Hokage?) did the rest of the work, including a lot of other features and bug fixes. And he has more planned for the future. A website is in the works, too.
Winter has arrived in Yakuake, so hopefully you will have a shiny new version very soon.
/me is a happy KDE hacker
Crash and Burn
March 11th, 2009Topics: Personal, KDE, Source Mage, N810, UPOU
Preface: I’ve started putting a list of Topics (read “tags”) at the top of my blog posts so that planetkde readers can choose whether to continue reading or not at first glance. I’m kind of nice that way.
I haven’t figured out how to do it automatically in Wordpress though, without some PHP hacking (I presume). Mere tinkering with the theme doesn’t affect the content that is sent out through feeds.
2009 Q1 is almost over and already life has been showing it’s ugly side. I barely survived this last semester. Entirely my fault, of course. I’m resolved to go over my subjects again this summer break, this time more thoroughly, as I feel I merely skimmed through the whole course this year. Blaming stupendously horrible textbooks is not really an excuse.
That’s not to say the whole quarter was a mess. The N810 was probably the biggest saving grace. Finally getting a real usable desk (and cleaning my room to take advantage of that) was also a bonus. I have been able to work on some of my mini-projects for KDE and Source Mage, like hunting down the cause of an ugly bug in Konsole that affected Yakuake, creating a theme for the Source Mage wiki, etc. My list of pending todo’s is far from empty, though, particularly setting up a Maemo SDK on Suzaku (my desktop). Maybe I should keep a list of accomplished feats for some source of inspiration…
But what made the last two months hell on earth was less technical and more emotional. I’ve come to the conclusion that of all kinds of problems I encounter, I handle emotional stress worst. Emotional baggage brought about by family and personal problems and whiny and insatiable users/people (but probably well-intentioned… I’d like to give them the benefit of the doubt, I really do) really forced me to wave the flag and walk away for a while. And even begin to ask whether it’s all worth it. Unfortunately, I still don’t have an answer to that.
In the meantime, I’m probably going to try to keep myself busy with activities to avoid thinking “bad stuff”. But I need to be careful, as someone noticed that I easily crash and burn whenever I go into an intense “marathon”. Although at this point, I don’t know how I can keep up with my todo list if I don’t. Up next: Maemo SDK and figuring out how to get Qt and KDE apps on the tablet, Yakuake website (almost ready), reviewing Textpattern for my own site, and starting my own dream Qt/KDE apps.
(Wish me luck… I’ll need it. Lots of it)
HowTo: Dual Booting the N810
February 16th, 2009Topics: FOSS, KDE, N810, HowTo
This isn’t really a full HowTo. They’re more like my own notes for future reference, for myself and hopefully for others as well. Instead, I link to already available material, but make annotations for some customizations that I made.
This HowTo describes the steps to take in “dual booting” on the N810, that is, booting from a flash card.
1. Why dual/multi-boot?
The Maemo wiki cites a few reasons why. The main reason why I decided to dual boot was space. I really wasn’t using the internal 2GB flash memory and I have no use of GPS at the moment. And since Marijn’s KDE packages would be taking up more space, I decided to use the internal memory as my “main partition”. It will probably be useful for future KDE development as well. (Note: Marijn says that the packages were broken, so I wasn’t able to install them fully at that time)
2. First, gain root powers
To be able to perform any of the next steps, you need to have superuser access. The Maemo wiki presents three ways to gain root access. I was advised to use the openssh method. This way, I hit two birds (root access and ssh) with one stone.
3. Split the card
I’m not sure if this step is absolutely necessary. But since the N810 uses the internal flash memory for virtual memory (swap) automatically, I think it’s a good thing to do so anyway.
IMPORTANT: Be sure to backup your data on the internal flash memory as partitioning and formatting will completely erase anything in there.
Oh, and turn off virtual memory in the Control Panel first.
Partitioning might be a bit daunting if you’re not used to command line partitioning tools like fdisk and sfdisk. But the guide in the wiki is very simple and straightforward. The most confusing part is trying to remember which device node (under /dev) stands for which flash card. Just remember that mmc*1 is for external. anything else (mmc*0 and mmc2) are for internal.
Some other notes:
- The first partition’s starting cylinder is always 1.
- The next partition’s starting cylinder is 1 more than the previous partition’s end cylinder
- To compute the number of cylinders for a given MB size, I used the formula numCylinders = sizeMB / 0.032 or numCylinders = sizeKB / 32.
Since I wanted to split the card in half, but giving more space for the cloned system, I gave around 29,000 cylinders to the first partition, leaving the rest to the second partition. The sfdisk step looked something like this:
sfdisk /dev/mmcblk0 /dev/mmcblk0p1:1,29000,6 /dev/mmcblk0p2:29001,,
Maemo wiki: Partitioning a flash card
4. Attack of the clones
This last step was the most complicated in the process, but even that is made easy by a lot of ready made scripts. It would be best if you had your Maemo browser open to the wiki page so that you can just copy the wget commands instead of typing them manually (which I stupidly did).
I followed the guide to the letter except for the following:
- I didn’t configure the bootmenu options at that time (see below for more information)
- Since I was using the latest Diablo version, I used immc2 for the device name in the Set the default boot device step.
- I also didn’t remove the menu (last step)
Maemo wiki: Booting from a flash card
5. And finally…
Everything went well and I was booted into the clone system on the internal flash card in no time. Now for some final tips:
- Don’t forget to re-enable the virtual memory
- Don’t be worried if the memory usage reported for the Device is almost twice as big as on the original system. I was told that this is because the flash card is not compressed, unlike in the original um… memory (what is the technical name for that? RAM?).
- I found that the 30 (or was it 20?) second delay for the boot menu was too long. I wanted to shorten that time, like you could when using GRUB. You can edit the bootmenu.sh file in /mnt/initfs/. However, that mount is read-only, so you have to remount the thing with this command: mount -o remount,rw /mnt/initfs/. Look for the MENU_TIMEOUT line and set the number of seconds that you want.
Enjoy your cloned system and extra space!
Just some small updates, while I'm trying to get off my ass and migrate the site completely to Textpattern.
