Subscribe: Shameless Ramblings
Added By: Feedage Forager Feedage Grade B rated
Language: English
add  dell recovery  dell  install  kde  kubuntu  new  package  process  recovery  time  ubuntu  update  usb creator  usb  work 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Shameless Ramblings

Shameless Ramblings

"There is always truth in sarcasm." --Brian Deaton

Updated: 2017-10-09T18:26:04.402-02:30


Blender 2.59, now with Ocean Simulation


Ok, so I have been tinkering with Blender of late, even going so far as to enroll in an online course (The Nature Academy).

Over the course of various tutorials, lessons, etc, it became necessary to update Blender from the 2.49 release currently found in Natty (Ubuntu 11.04) to something more recent. Initially, I used the most excellent PPA Blender SVN maintained by Ralf Hölzemer.

This was great, up to the point where it seemed each commit broke one of the lessons or tutorials I was working on. Of course, this was to be expected, as the PPA provided a daily build for the in development 2.59 series.

Now that Blender 2.59 is released, I felt it was time to make a stable build. That was pretty easy, take the 2.59 package snapshot from Oneiric (Ubuntu 11.10) as a starting point and backport to Natty. Update it to use the official 2.59 source tar.gz from Add in a little flavor from the Blender SVN package, and voila, you have a nice 2.59 build.

While this was going on, I was also still working on the lessons from my online course, and the most recent lesson came out on Oceans. Unfortunately, this lesson required downloading a special build from Save the Ocean Sim. This was sub-optimal, I had just built 2.59 and now needed to use an earlier build and for one not built for Natty.

After going to the Save the Ocean Sim site, I downloaded the most recent patch and applied it to my build for 2.59. With much happiness (and minimal fiddling), it all compiled and tested fine with the ocean test blend from their site.


open up a terminal, and do the following to get this new Blender build:

sudo add-apt-repository ppa:roderick-greening/blender

Cheers and happy blendering,


In response to "the libappindicator story"


I generally never weigh in on these things, but I think in this case I understand what some may be missing here.

This is in reference to the following blog post: the libappindicator story

Each side refers to process and how the other side failed to follow it. My question is "can anyone point me to the relevant documentation which shows the process being referred to" and "can both parties review this process to see where they fell down" and "can the process be reviewed to ensure that it is clear and works so as to prevent similar future issues".

I suspect that there is no documented process, nor is it generally understood as to how all this was supposed to work by both parties. It's easy to reject an idea citing some failure to comply with a non-documented process. I'd like to be proven wrong and see that a process actually exists and work from there, but I suspect it's currently vapourware.

It's fine for you to state Canonical did not follow the process, but to not link to a doc or provide a post showing the process as approved by either GNOME or the team within GNOME responsible for this particular area, it's quite frankly irresponsible.

In order to make any such claim, you need tangible documentation. GNOME is big enough and the teams are diverse enough, that you need to document process. How else do you get efficient and allow new development to occur? You cannot exist forever in a vacuum.

So, if there is indeed a well documented process, show us the link. Show Mark that his team failed to follow the documented process. Then, once that's done we can move on. Mark will admit defeat and apologize and we can call it a day.

However, if this is not well documented nor consistent across GNOME projects, then GNOME needs to recognize that the lack of a documented process may have contributed here and let's correct that and move on.

PS: I work in a very process driven area (customer service and delivery) and it requires well documented processes to function. I understand all to well when some process exists virtually and is not well documented what can happen. Orders get missed, revenue drops, productivity suffers. As well, people point fingers. The only way to rectify is document the process and get everyone to acknowledge it. The process doesn't have to be perfect, it just has to be documented so you can at least have a reference point to move forward from.


Interesting comic regarding Wikileaks


Not KDE/Kubuntu related, but hits a note on freedom...


Android Programming in Ubuntu - The Journey Begins


So, having had some free time and a little kick in the creativity pants (thanks to Rick Spencer), I've embarked on a journey to try my hand at some 'Droid programming.

To get started, I purchased "Sams Teach Yourself Android Application Development in 24 Hours", by Lauren Darcey and Shane Conder (ISBN: 978-0-321-67335-0). This should be readily available a Chapters, Amazon, etc., and cost's $47.99 CAD.

The book is fairly straight forward, and easy to follow. So far, I completed the first 4 hours, and have had a great time in trying out the examples and all the extra exercises at the end of each chapter.

As I go through the lessons, I'll post my progress, and provide some useful tips, tricks, etc that I have found along the way.

In my next post I'll cover how to set up your environment under Ubuntu, and some things the book either missed or have changed since printing.

Stay tuned!

Copy playlist files to your Media player in Amarok


Ok, so last night I was trying to help my wife with something in Amarok. She has made a few playlists that she uses for her dance classes, and was looking for a simple way to transfer the songs in the playlist to her media player. I was shocked to discover that this feature had not yet made its way into Amarok 2.

After some digging around, I found that there was a way to do this via Amarok scripting, and in fact someone had written and posted one online. It is available using the GHNS feature in Amarok under the Script Manager, and is called "Copy Selected Files" (search under most downloaded).

For those not familiar with how to add and/or enable these scripts, please have a look at the quick video below. I didn't add any audio, but the visual should be enough.

(object) (embed)

Have a Dell Laptop and want Kubuntu with Recovery Partition...


Well, I recently purchased a Dell Mini 10v, and wanted to have Kubuntu 9.10 on it. I purchased it with Ubuntu, but it came with Ubuntu 8.04, and it was the lpia version. Neither of these appealed to me, however, the Dell recovery partition did. So, I set out trying to find a way to get Kubuntu on there with a recovery partition.Thanks to Mario Limonciello (superm1), who works for Dell, I was able to get a process that more or less works, and gives me a recovery option for Kubuntu 9.10.Here's basically what you need to do.1) Download the DVD iso for Kubuntu Karmic 9.10 to your system.2) Visit and grab the latest dell-recovery deb (at least version 0.27) for Karmic and install it from any Karmic system (gdebi can be used here). This will not work from a live CD/DVD as the process requires a lot of temportary space to work with, so you must be in a working Karmic install (Ubuntu, Kubuntu, etc).3) Now, run the dell-recovery-media program as follows:dell-recovery-media --builderThe --builder option is a recent addition by Mario, which allows building Dell recovery media from any Ubuntu ISO, so it will work with Kubuntu, with a few tweaks.4) Click the Forward button and you are given an opportunity to choose the ISO to build the Dell image from.Click on Choose Image and select the Kubuntu DVD iso you downloaded earlier. The screen will update and show some details about the image (which should show Kubuntu Karmic 9.10).5) Click the Forward button, and hit Fetch/Update GIT Tree. This may take a few minutes to complete. Once the fetch is completed, hit the Close button in the GIT Tree Status window. From the GIT Tags drop down, select Origin/Master.6) Click the Forward button to go to the FISH screen. This allows you to add additional packages to the install process. We are going to skip this for now (I may expand on this in a future post).7) Click the Forward button and choose to create a USB Flash Drive8) Click the Forward button and enter a version number (I chose K00 for Kubuntu ), then click Apply. Enter your password when prompted to Authenticate. The program will now start building the new ISO to copy to the USB Stick.9) This will then launch the usb-creator application. At this point, you should be able to simply click Make Startup Disk (See some of my previous blog entries about usb-creator-kde for more info about this).10) After the startup disk completes installing, you can close it and the Dell Recovery window which pops up after. 11) The last step you need to perform is to remove the del-recovery deb from the newly created USB Startup Disk, as it is gtk based, and has some additional deps that are not found on the default install media and will thus fail during the install process. Assuming the mount point for the media stick is /media/disk, you would preform the following command to remove this file:rm /media/disk/debs/main/dell-recovery_*_all.deb12) It is now safe to unmount the USB Stick or reboot if you wish to install from it now.13) After you install the new dell image, you should re-install the dell-revocery application. Unfortunately, one of the deps is currently missing from the package. To get around this, you will need to install policykit-1-gnome as follows:sudo apt-get install policykit-1-gnomeThen use gdebi to install dell-recovery, which you downloaded (refer to step 2 for the link).14) Now, you can use dell-recovery-media to rebuild the ISO from the recovery partition and make as many USB disks or ISO's as you want. As well, you can now access the restore option in grub (hold space bar during boot to expose the boot options).I hope this is useful to you. I will be working with Mario to see how hard it would be to create a Qt/KDE front-end for the dell-recovery package, so that we can avoid having to remove anything.[...]

Arora 0.10 in Kubuntu 9.10


For anyone looking to try out a lightweight browser under KDE (or even Gnome for that matter), they should definately give Arora a test run.

For the upcoming Karmic Koala release, we have worked very closely with the upstream Arora developers to ensure we have a nicely integrated browser, which can serve as an alternative to the default system browser.

For example, in this release, we see AdBlock support as well as wallet (password/form autofill) support. This was missing in the 0.9 and earlier series, and was definately a feature I missed when testing out this, otherwise, fantastic browser.

Now that it has the wallet and AdBlock features, I can heartily recommend that everyone give it a serious try. If you find the default system browser doesn't work on some of your favorite sites or you find Firefox to be a bit bloated, then you will surely love Arora.

Check out for details on downloading the new Karmic Koala beta or if you already have the beta running, simply install Arora in Add/Remove software.

To find out more about Arora, please see

Switching from Acer to Dell...


I have been a long time supporter of Acer, and have 4 Acer systems. However, due to recent issues in dealing with their technical support (helpless desk) I have given up on Acer and instead switched to Dell.

Dell has embraced Linux, and especially with partners like Canonical pushing for more preinstalled Ubuntu systems from Dell, I can only imagine Dell doing bigger and grander things with Linux and Ubuntu.

Given that, I have decided to switch to Dell and throw my support behind them. I have also just today ordered two brand new netbooks from Dell, and will be selling my old Acers.

It's important I believe to start and support vendors who are truly cogniscent of Linux and are willing to work with developers to ensure their systems work well with Linux. Dell is going down the correct path, so here's my thumbs up Dell and Great Job.

And good-bye Acer, it was fun while it lasted.

Recover a Non-booting Linux System


Ok, inevitably, it will come to pass that if you are testing out Alpha Releases, you will experience at least one time in your life where the system will not boot.

Recently, while working on Karmic (Ubuntu 9.10), I did an update an rebooted into a non functional system. Apparently just before freeze for Alpha 6, there were some uploads which caused the build systems to not completely build all the necessary packages. Hence I had a partial update.

Anyway, things seem to be resolved now, so on to recovery. I am documenting this mostly so I remember how to do it again (copy/paste is your friend) and maybe it will be useful to others.

First, you need a live CD/DVD/USB running your favorite Linux. In my case, it's Kubuntu. I used my usb-creator-kde to make a live USB from a known working and recent release.

After booting into your live environment, you need to open a terminal and switch to mount your partitions under /mnt.

To determine the partitions, you can use fdisk as follows:

ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd88dfd16

Device Boot Start End Blocks Id System
/dev/sda1 * 1 61 489951 83 Linux
/dev/sda2 62 38913 312078690 5 Extended
/dev/sda5 62 1306 10000431 82 Linux swap / Solaris
/dev/sda6 1307 7385 48829536 83 Linux
/dev/sda7 7386 38913 253248628+ 83 Linux

Disk /dev/sdb: 2057 MB, 2057306112 bytes
64 heads, 62 sectors/track, 1012 cylinders
Units = cylinders of 3968 * 512 = 2031616 bytes
Disk identifier: 0x0000a283

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 1012 2007777 b W95 FAT32

sdb is my USB drive and sda is my HDD. sda1 is /boot, sda6 is / and sda7 is home. Yours will likely be different.

After you figure out your partitions, you will mount them as follows:

ubuntu@ubuntu:~$ sudo mount /dev/sda6 /mnt
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt/boot
ubuntu@ubuntu:~$ sudo mount /dev/sda7 /mnt/home

Verify everything looks correct before proceeding (i.e. you got the partitions correct and mounted in the correct places).

Next, you need to take care of /proc and /dev as follows:

ubuntu@ubuntu:~$ sudo mount -t proc none /mnt/proc
ubuntu@ubuntu:~$ sudo mount -o bind /dev /mnt/dev

Ok, now you have setup your chroot environment, and may change into it:

ubuntu@ubuntu:~$ sudo chroot /mnt

At this point, you should be able to update your system, add/remove packages using apt-get, or edit any files you need to fix the system.

In my case, a simple apt-get update && apt-get upgrade will fix things.

After making your changes you need to exit the chroot and unmount the partitions in the reverse order.

Now you should be able to safely exit the live system and reboot.

Hope this helps.

Fishing Trip...


So, taking a break from my Ubuntu development, I decided to go on a fishing trip with a friend of mine.We went to a truely remote community in Newfoundland called Rencontre East. It's only accessible by Ferry, and it's a 3 hour car ride to get to the Ferry. It's an outport fishing town with a population of about 170 according to 2006 statistics, though I believe more recent numbers would put it closer to 120. Primary industry is the fishery - Cod, Caplin, Lobster, and Crab.Wharves along the HarbourIt is an absolutely beautiful place to visit. The mountains and valley were forged by a glacier, and there is a fiord (lake) nestled between the mountains, which is 600 feet deep. The lake is home to sea trout and salmon, and possibly other species. Our desitination was to a small cabin at the far end of the lake, and required us to take a boat from the coastal side of the lake to its head.Heading up the lakeWe fished along the way, using a locally made spinner called a spoon spinner. It seems to be the only thing that works in this lake, for the majority of the fishing done here. We managed to catch 13 trout that afternoon, before finally setting foot on the far shore and the beach in front of our cabin.Cabins on the beachThe next day, we had trout for breakfast, and they were quite a treat. There is nothing better than enjoying the fruits of your labor. After breakfast, we got geared up for a trek around the lake by foot. We have to cross two shallow rivers, as we trek to the left of the cabin, and around the lake. It's rough going, as the shoreline is peppered with fallen rocks and boulders from the sheer rock faces above. As well, there are many natual springs and spectacular waterfalls.One of the many waterfallsWe fish along the coast for about 4 hours and it starts to rain. My friend is a short distance ahead of me, at what the locals call Duffy's point, while I have sought out the protection of a small overhang of rock, where I make a dry place to sit and have a snack while the rain falls effrortlessly on the lake. My friend makes his way back to my semi-dry shelter, and we enjoy a drink and some home made trail mix. We discuss my inability to land any trout today, and his many catch and releases and the 3 keepers he has so far. I am feeling a bit dismayed to say the least.Not a Keeper, but funny none-the-lessAfter the rain let's up, we decide to turn back for the day, and fish our way back to the cabin. Part way back, I stop at a spot where I know there should be some good fishing. Since I'm not having any luck with the spinner, and I' tried every lure I have, I decide to try a plain old bobber and worm. The locals warned me that this never works and you can't catch anything without a spoon spinner here. So far, that seemed to be the case, but I was real desperate to not be shown up.So, I set up my line and cast. No sooner than the line hit the water and I had a strike and lose it. Followed by several others, that I cannot land. My friend sees that I am now sitting on a rock and not following him back. I motion him to wait or come back, which he does the latter. By the time he get's back to me, I have landed my first keeper for the day. It's not huge, but it will do. We stay a bit longer and eventually I catch another worth keeping. So, you can catch by bobber here.. wish I had tried this earlier today.Eventually, we get moving again, and after a total of 6 hours walking and fishing, we are back at the cabin. We set a fire and prepare a meal of chicken and some bottled moose. We play some cribbage, anbd have a few drinks before finally retiring for the night.The next day, we plan to fish for the morning and then we will boat back to the other end of the lake and back to town. We had an offer to go out on the ocean and jig for Cod fish, and we are quite looking forward to this. [...]

New TACACS+ (tac_plus) server package


Over the last couple of weeks I have been working on packaging, testing and patching a TACACS+ server to work with Ubuntu Server.

I figured it was time to post up a quick blog about this package, and hopefully see what interest there was out there for this service.

What is TACACS+ and what does the tac_plus package provide?

TACACS+ (Terminal Access Controller Access-Control System Plus) is a protocol which provides access control for routers, network access servers and other networked computing devices via one or more centralized servers. TACACS+ provides separate authentication, authorization and accounting services.

This package provides the server (daemon) for TACACS+ which responds to authentication requests from a RAS (Remote Access Server). The daemon will validate the request against an SQL database, and provide authorization and the level of access, if the authentication passes. The RAS can also provide accounting information to the daemon, for logging purposes.

Please note, there are other implementations of the TACACS+ protocol out there, some of which are unmaintained. This particular version is maintained and is a complete re-write of the TACACS+ daemon from Cisco Systems, and has been implemented in C++. It is under heavy development, and there may be some bugs or missing features in this release. I am working with the author to ensure these things get properly reported and addressed as they are discovered.

Where is this package available for testing?

It is currently in beta testing in my PPA:

Where can I get the source?

The source is currently hosted at, and you will need to register for an account to access the download area. I am working with the author to get this hosted in a proper prepository like sourceforge, github, launchpad, etc. Please be patient while we work these details out.

The Web UI for configuration is not yet packaged. You will need to get the tgz from main site until I get it packaged.

Why this version and not some other?

1) Fairly new project
2) Active development and maintenance
3) C++ :)
4) Has a Web UI for configuration (to be added to package shortly)
5) Uses a db to store configuration and AAA logs rather than plain text files

Anyway, feel free to test it out. Also, please give me feedback on how this works for you. Remember, you need to get the Web UI tgz after installing this package and set it up. Hopefully, I'll get this packaged in the next week or so, time permitting. There is a man page (man tac_plus) and a readme (README.Debian) which should help in getting things up and running.

I'm an Uncle...


So, my sister finally had her baby on July 9th - a whopping 11lb 13oz boy.

Baby, Hunter Jaxon, is 22.5in long, and I swear will be walking in no time. :)

Anyway, just wanted to share my joy with everyone. I guess, I'll be spending some time with my new nephew over the coming weeks, so I may not be as active developing over the next couple of weeks.

Anyway, things should get back to normal soon.

Here's a pic of me and Hunter:


usb-creator-kde - available for testing


So, I meant to post this up a couple of weeks ago... better late than never.I have posted an early beta copy of usb-creator package in my PPA. It contains packages for both the gtk and kde front-ends and a common package, which contains the back-end, and some other common bits.If you are interested in trialing the beta, feel free to download the debs or add my PPA to your sources.list (if you add it to your list, please read the warning on my PPA page).To get the files, navigate here.Here are some screenshots showing the kde front-end in action. Enjoy![...]

usb-creator-kde - in action and with icons...


Here's a new screenshot showing usb-creator-kde with media detected and some icon bling (icons subject to change).

Basically, I updated the ui elements from QPushButton to KPushButton and assigned icons as KIcons based on appropriate icon/button functions. So they should change with the icon theme - yay.

Anyway, here it is...

usb-creator-kde - adventures in gobject land


I'll first start out with a disclaimer: I am not fluent in Qt nor Gtk programming. What I know or have learned is through the internet, various books and reading others code. So, what I describe below may not be the best way to achieve the end result, but it appears to work and allow for minimal interference with an existing application backend.Now that that's out of the way, I'll proceed with the discussion: porting gobject calls to Qt so that I can get a usable KDE/Qt frontend for usb-creator-kde.For the gtk client (usb-creator), the backend currently implements timers, callbacks, and process watchers via gobject. Similar mechanisms exist for Qt. The current backend is unsuitable for general use by both a gtk and Qt frontend as gobject and Qt seem to tromp all over one another, and cause the frontend to crash. TO get around this, we need to move the gobect calls to the gtk frontend, and implement wrappers that the backend can call from the frontend. Once we have wrappers in place, we can then re-implement the wrappers in our desired frontend (e.g. PyKDE).Here's an example of some code from the backend:self.timeouts[udi] = gobject.timeout_add(UPDATE_FREE_INTERVAL, self.update_free, udi)And from the PyGtk manual:timeout_addint timeout_add(int interval, callback callback [, mixed user_data1, ... ]);Registers a function to be called periodically. The function will be called repeatedly after interval milliseconds until it returns false (or nothing) at which point the timeout is destroyed and will not be called again. So to keep the timeout alive, your callback function needs to return true; Unfortunately, there is no single call in Qt that provides this mechanism (none that I know of). So, to implement this, I needed to write a couple of functions, using unnamed arguments lists, lambda notation, etc.First off, we need a generic timer callback function that will call our passed function, test the return value, and stop the timer if the return value is not True. I also want this function to be private to my frontend class. Here what it looks like: def __timeout_callback(self, func, *args): '''Private callback wrapper used by add_timeout''' timer = self.sender() active = func(*args) if not active: timer.stop()So, func is the passed calback function to execute, followed by a list of optional arguments *args. The sender will be a timer object, which we get from self.sender, assuming that the parent is some QObject or derivation thereof (in my case, the frontend class KdeFrontend is derived from QObject).Ok, that allows us to have an arbitrary function with any number of arguments, and have it stop a timer when appropriate. We now need to implement the public wrapper that will use this private callback. Here is the code for that: def add_timeout(self, interval, func, *args): '''Add a new timer for function 'func' with optional arguments. Mirrors a similar gobject call timeout_add.''' timer = QTimer() QObject.connect(timer, SIGNAL("timeout()"), lambda: self.__timeout_callback(func, *args)) timer.start(interval) return timerThe add_timeout function takes the same parameters as the gobject.timeout_add function. Inside, we setup a new timer, connect it to our private callback, start the timer and return a reference to it. The magic is in how we connect the passed function func. Notice that we use lambda to call our private callback, passing along the func and *args. Normally, you do not pass a function with variable parameters to Qt connect statements, but in our case, we absolutely are required to do so. This is where using lambda comes in handy.So, [...]

usb-creator-kde - update and screenie


The creator is steadily moving along. Right now the main stumbling blocks are gobject calls in the backend and the use of a DBusGMainLoop in the backend.

Together, these constitute a non-working backend for PyKDE/PyQt. KCrash has become a nightmare.

In order to get around this, we need to pull out the gobject and DBusGMainLoop and move them somewhere related to the frontend. At that point I can re-implement the bits I require as PyKDE/PyQt code, while maintaining a common backend code base.

I've taken the first step, and moved DBusGMainLoop to the gtk frontend via a wrapper. I have re-implemented similar functionality via the same wrapper in the kde frontend using DBusQtMainLoop.

Next on the list is to rip out the gobject calls... I suspect a couple of days before I get that all figured out... (unless I get a real dose of inspiration).

Anyway, here's the screenshot as promised, so you know it's not all pie-in-the-sky :)


usb-creator-kde... for karmic


So, during UDS, the Kubuntu team decided it would be nice to work on making Kubuntu easier to install on netbooks.

The are several things that need to be adjusted to make the netbook experience enjoyable, but the first real thing required is a native client for putting a Kubuntu desktop image into a usb stick.

There already exists a PyGtk front-end, but no PyKDE one. At UDS I decided to take on the task of porting the existing PyGTK client to PyKDE.

At this point, I have ported much of the required code base to support a native client for Kubuntu. There are still some bugs to fix, and some of the new code for the PyGTK front-end does not yet work 100%, and hence neither does the PyKDE front-end.

If anyone is interested in looking at the code and feels like offering advice, it can be found here:

To check out the code: bzr branch lp:usb-creator

Anyway, I am working closely with the usb-creator team, and hope to get this working/completed within the next couple of weeks.

Thanks to all who have helped thus far.

Where have I Been?


Wow, I can't believe it's been about 5 months since I last blogged. That will tell you how hectic my life has been lately.

What's been happening? Well, for one, I'm about to be an uncle... my little sister is having a baby due in less than 7 weeks. I think I am almost as excited as she is! :) I can't wait to spoil the little tyke .. hahah!

Besides that, I have been really busy with work. We are undergoing some changes, and as a result, it has pulled me away from my normal Kubuntu packaging. However, I now have things mostly back in order, and am back to my packaging duties.

Finally, I am typing this at the airport, on my way to UDS Barcelona. I think this trip will be much more interesting than the California one, and definately hotter. I don't think I packed enough shorts... :)

Anyway, here's to hoping I have more time to blog and more frequently.

UDS Jaunty - My Two Day Replay


The last two days have been very busy indeed, so much so that I missed blogging about Day 1, hence the "Two Day Replay".Day 1: I awoke at 6:40AM, not to my alarm, but just by mere fluke. A certain roomie (who shall remain nameless), made certain to set the alarm for 6... AM, but missed the fact that the clock itself was not set correctly for AM. So, when I awoke, the clock was actually showing 6:40PM. The day was off to a great start, as luck was apparently on my side.After a much to large breakfast, we headed outside to get the bus to Google. I was really excited to be a part of this great community and be afforded the opportunity to go to UDS. The summit began with an introduction, and a brief overview of things to come. Mark provided some keen insights on where we are headed, what the market is doing, and how we are going to get there. Now I was really getting pumped.Here's how the days sessions ran for me...Desktop Experience PlansThe Ubuntu Desktop team outlined their plans for notifications in Jaunty, which are similar to what we have in Kubuntu with KDE 4. While not terribly exciting to most, it does show their interest in both usability while adding in some nice bling.Debian / Ubuntu RelationsWe had a great discussion here about how the various Ubuntu flavors could work together to foster better relations and involvement for the core/motu Ubuntu developers. A lot of ideas were presented, and hopefully, something good will materialize.Upcoming Launchpad FeaturesKiko gave a great talk on Launchpad 3.0. Lots of upcoming features and of course, the big one, open sourcing Launchpad.NetworkManager connection policiesThere were some discussions about how to handle 3G, wireless, and wired and how best to setup policies on creation and tear down of these connections. Currently NM will keep up multiple connections, but there was a con-census that this is not our desired behavior. We discussed some use cases to present upstream.Kubuntu Jaunty Gap AnalysisA lot of items got covered in this one, like auto-installing flash for KDE 4. The discussion then lead to the whole kubuntu-restricted extras and the fact that the user generally doesn't know to install this package to get flash, mp3, etc, unless they read it in some wiki or forum. So we decided to add this as a check to update-notifier-kde, and provide the user a chance to install some or all these packages. This is a great thing for our users. There were a lot of other things discussed, so feel free to review the specThe day ended with a great meal at a local Tai restaurant. I had Tom Kha soup and Spicy Peanut something or other. It was pretty good. Some found it spicier than others (/me points to Tonio). Day 2:Ubuntu Developer Process ReviewA great session by Daniel. It has inspired me to seek developer (MOTU or "insert new name here") status in the near future. I think once I get past Jaunty release, that will be the time to apply, as I will have gone through a complete development cycle, having only started near the end of Jaunty.Jaunty Ubiquity UsabilityWe discussed a few UI changes to the installer to improve usability. One of the major changes is to the timezone chooser, which should definitely be an improvement over the existing one.Kubuntu Jaunty documentationWe need lots of help getting the docs updated, both in upstream KDE as well as for Kubuntu specific packages, etc. If you can use a text editor, you can help.Tonight I had one of the best burgers, from Chili's. 3 different cheeses, thick back bacon and a pattie which was about an inch thick. After supper, we had a great jam se[...]

ufw-kde - a simple firewall for Kubuntu users


Well, as I head out to UDS, I am putting together my demo of ufw-kde, a GUI front-end to ufw (the Uncomplicated Firewall), which is command line based only.

Here is a preview screenshot:

California, here I come...


So, I am sitting at the St. John's International airport, waiting to board my flight to UDS in California. Last night was a beautiful night, but today it's snowing, limited visibility and 70Kph winds. I wonder if I will get out on time? The flight is listed as on-time, so that certainly looks promising.

Tomorrow begins what promises to be an interesting week. Not only will I be a part of helping shape the next Ubuntu release, I also get to meet some great people in person, and I am really looking forward to that.

So California, here I come... look out!

My recent development work... aka training excercise


I recently began to dabble with Python, and I am really starting to like the language. It is quite powerful, and intuitive, and allows for some really rapid development, especially when coupled with pyKDE4 (KDE Python bindings).

I was originally trained as a programmer, primarily using C/C++. However, in more recent years, I have been mostly programming in bash and perl, all under work related coding.

With my recent involvement with Kubuntu, I have felt it necessary to learn python, as many of its support applications are written in that language. So, what better way to learn than jump right into a new project. That's where todays post comes from...

I have recently submitted two new projects to Launchpad, with the following two goals:

1. teach myself python and pyKDE
2. hopefully fill a gap within Kubuntu in time for Jaunty

At this point in time, the projects are mere shells/placeholders, and really do not do anything useful besides provide a tray icon and a main window and help dialog. However, this is all a part of the learning process, and more code will appear as I test out various things.

So, what are these two projects? Well, the first is ufw-kde, a graphical interface to the Uncomplicated Firewall. The second is clamav-kde, a replacement for Klamav, which has yet to be ported to KDE4.

Anyway, my primary goal is learning python and kde programming via the python bindings. If these do indeed turn out to be useful in their own right, then that's awesome too.

If anyone is interested in help out on either project, feel free to contact me.

KDE-Nightly (Neon) - For the Thrill Seeker in You


Well, thanks to Harold (apachelogger) our resident packaging savant, we have the ability to test drive KDE 4.2 trunk daily. Remember, this is trunk we are dealing with and many things break, and possibly break quite often and maybe for extended periods of time. For this reason, you should never install this on your production machine.

I decided to give this a test drive, and figured the best way to do so was via a VM. So, I installed Virtualbox first and set it up. I won't go over all the details here, as there are a wide variety of docs available for setting up virtual box (aka google for it).

Once I had a VM drive all setup and installed with the latest Intrepid, added the KDE Nightly Neon repository (the PPA for KDE Nightly) to a new sources.list.d/neon.list file. The PPA is enabled by adding this entry:

deb intrepid main

The next thing you need is to update your repositories package info. Either using your favorite package manager, and hit their update option, or from the command line execute the following:

sudo apt-get update

Now, you should have an updated package list which contains the Neon packages.

Next, using your package manager, locate the kde-nightly package and select/mark it for installation and apply it or execute the following from the command line:

sudo apt-get install kde-nightly

This will install the required files and setup a new kdm xsession for KDE Nightly (Neon). Once you logout and end up back to KDM, you can choose this new session (rather than the default KDE session).

Reference post can be found here.

Many thanks to apachelogger for this.

Upcoming KDE 4.1.3 release.... Nov 5th


Well, the Kubuntu team has had a busy night/day, packaging KDE 4.1.3 in preparation for release into intrepid-updates. KDE tagged 4.1.3 on October 29th, in preparation for the November 5th release. I'm pleased to say we are way ahead of the game, after the last 24 hour stint in package building and testing.

It's not like we had an easy time either, what with this coinciding with the Intrepid release and all. The mirrors were completely bogged down, and a few of the team had issues finding a mirror suitable to download from. Luckily, I had a great up-link and a close east coast mirror to work with.

Anyway, the packaging is pretty much completed, we just need to build the stack, test and then deploy to the updates queue. This should coincide with the KDE release date of November 5th, if all goes according to plan. It's a lot to take in, a new Kubuntu release immediately followed by an update to KDE, and a great team to pull it all together.

Kubuntu Intrepid and Desktop Notifications


For those that aren't aware, Intrepid Ibex is just about ready to hit the streets (sometime Thursday). There have been a lot of changes in this release, and the Kubuntu desktop has had its share, including the switch to KDE 4.1. However, this post isn't about the new release, but rather a new application within this release, called update-notifier-kde.The app was written by our friend Jonathan Riddell, and has been steadily improved upon by members of the Kubuntu team.What is update-notifier-kde? It's a small python app that sits in your system tray and monitors your system for updates, crash logs, reboot requests, and other notifications. It integrates tightly with adept/apt, apport, and package update hooks.Providing the user with useful feedback is very important to the whole desktop experience, and this app delivers.Over the last few months, I have added a few tweaks here and there, and fixed a few bugs reported during the Intrepid alpha and RC testing. Currently, I am working on replacing the old KPassivePopup with the better KNotification. It's a work in progress, but by using KNotification, the user is able to change how notifications are sent/received for any event update-notifier-kde generates, which was not the case with the KPassivePopup.Configuration of these notifications is done via the system-settings. This can be seen in the following screenshot:With KNotification, the user can completely disable the Popups, or add sounds, etc. This is important, because not all users are equal, and not everyone wants to see the Reboot Required Popup. There were a few bugs surrounding this very thing, and I'm glad to say, users will have the ability to finally turn this off if they choose to (not that I recommend disabling any of the default notifications).So, I said it's a work in progress and that's for a couple of reasons:The code changes aren't yet uploaded (expect version 0.10 to have the change included)It needs some work on localizationThe KNotification isn't anchored correctly  (IMO) so I need to review thatBelow is a shot of the current KPassivePopup. This is the KDE 3.5 bubble, and is non-interactive.And here, we have the newer KNotification popup.I hope to complete these changes within the next day or two, so this should hit intrepid updates in the near future.[...]