Reminder-ng 0.3.1 has been released!

March 1, 2010

So, after 19 days, thousands of line changes and weeks of swearing(who doesn’t? :P), I am happy to say that Reminder-ng 0.3.1 is out!

This release features priorities for reminders and also allows users to specify what alarms they want to hear/see after a reminder has expired, they could also have a script executed. In addition to the new features, it also sports quite a few bug fixes concerning how missed reminders are presented and also the general running of the program. Another thing is that the user interfaces should look a bit nicer due to the various adjustments made to try to adhere to the GNOME HIG.

This release also has Italian translations(contributed by Antonio Arcudi), so any Italians out there, good on you. Anyone want to contribute translations to their languages, I would be more than happy to add them. :)

Now for the problems. As with release 0.2 of Reminder-ng, it still has the lack of artwork. I have worked on something, but frankly they do not really appeal to me, nevertheless they will be coming for the next release anyway. The second problem actually concerns the program, now with version 0.22 of libcanberra the sound clip does stop playing if you acknowledge the visual notification, but since Ubuntu Karmic uses version 0.15 and since it misses the required function you will have to listen to the clip until the end. Admittedly that isn’t a really big problem, but just thought I would point that out anyway.

Screenshots can be seen here. Binary and source packages can be downloaded from here.

Edit:- I forgot to mention. Users of the Reminder-ng 0.2 series, you can just update it to 0.3.1 and you will still have all your reminders as you did before and they will be given the normal priority. So you won’t have to edit the database files or migrate the reminders or whatever. :)

Screenshots of Reminder-ng

February 11, 2010

Well, I had a request to show some screenshots of the program in action, so here they are:-

Oh, you probably might think that the preferences dialog is the most barren preferences dialog ever, and you might be right. :P

The reminder add dialog

The preferences dialog

The main window

The missed reminders dialog

Presenting Reminder-ng: A reminder application for GNOME

February 10, 2010

So I have been working on a new program, it’s called Reminder-ng(I hope to change the name to something better), it is a reminder application for GNOME which allows you to manage reminders, and alerts the user when they expire. I wrote this program since I had time on my hands, and I wanted to see how it would feel to start an open source project from scratch.

I had started writing this program a few months ago and although I haven’t been working on it full tilt, it does quite a bit already and should be stable enough for daily use. However, the program does miss a few things:-

1) Artwork:- I am not a very good artist, and haven’t had much time to make an icon for the program, so unfortunately the tray icon for the program consists of the refresh picture at the moment, not very accurate.

2) Translations:- This program has not yet been translated to any other language as of yet, so English is pretty much the only option at the moment.

3) Alerts:- For now, there is only one kind of alert(consisting of a notification and a sound clip), so I am hoping to expand this using a priority system in the near future.

4) Timezones:- You can only have the reminder within your local timezone, this might be a problem when you want to have a reminder for an IRC meeting.

About how it is written, the language is C and I am using GTK+ along with some standard C code(which I hope to “glibbify”), the coding style is in the same way as a standard GNOME application is written.

The current version is 0.2, you can get the source and binary packages here and the homepage is here, the source can be browsed here. Please note that the debs would only work on Ubuntu 9.10 or greater and that the rpms on Fedora 12 and greater. Patches, suggestions and bug reports are very much welcome. :)

Oh, and before you say it, yes, I could have hosted this on Launchpad, the only problem was that I wouldn’t be able to use git if I did, I know git is probably harder then bazaar, but I would like to get to know the hard one before trying the easy one especially since git is more popular than bazaar is. I am thinking of starting another project, which if I do start will be on Launchpad and bazaar, but that’s for another post. :)

And about the weird version number which I used for the first public release, it was because version 0.1 had some problems regarding Ubuntu support, and also because it lacked the ability to notify users about missed reminders(which I think is a pretty much “must have” feature). So I decided to skip one version and announce 0.2 as the first public release.

Mic issue on Asus Eee 1001HA

December 24, 2009

As I mentioned in my previous blog post, I am unable to use the mic in my new netbook. Well, after looking around a bit, I discover that the netbook has a digital input in addition to the analog input, now when I look at the gnome-volume-control I only see the analog(external) input and not the digital one, which obviously means that ALSA does not see it. After a little more digging, I found a patch where digital input support was added to Acer laptops using the ALC268 codec(the 1001HA uses ALC269), I decided to tinker around with that a little and tried to apply it to the ALC269 as well without any results.

I have filed a bug report here if you want a look.

Now, I am not very strong on sound(I mentioned that previously too), so my apologies if I misdiagnosed the problem in anyway or if I did not provide enough information, in which case I would be more than happy to get the extra information required.

I joined the netbook club

December 24, 2009

So I got my first netbook this monday. First off, the details; it’s an Asus 1001HA with an N270 Atom processor, 1Gb of RAM, a 160Gb hard disk, 0.3 Mpixel web cam, came preloaded with Linux and it cost me(technically my mom, but anyway :P) around 436$.

Now, when I started using the netbook with the stock OS, I was pretty much taken in by it’s boot speed(about 8 seconds) and I also liked the ease with which I could use the interface in general. But the interface did have one fatal flaw, it was catastrophically awful to look at. Seriously Asus, if you’re going to sell a laptop with Linux on it, don’t use an interface that looks as is if it was made to deliberately repel customers. Another thing I hated was the sheer inflexibility of the system(granted, this probably was a sensible design feature).

So, after a few hours of use, I removed the stock OS from the netbook and replaced it with Ubuntu 9.10. Most of the hardware worked out of the box with the stock Ubuntu install, but the wireless card didn’t which was a RaLink 3090. After a bit of googling around I did manage to find a driver for the wireless card in question in the staging tree for the 2.6.32 kernel, so I got the source, configured and compiled it. So, full of hope, I booted the new kernel up to find that network manager detected the card, but could not use it. After a few more minutes of looking around, I discovered that the firmware(or whatever it was) had to exist in a certain location(which it didn’t). So I got down the official driver from RaLink(same as the one in the staging tree in 2.6.32, but happily it’s not true for that in the 2.6.33 kernel, will explain later) and I found the files the driver was looking for, plopped them in the required location and lo-behold wireless now works!

Now apart from the wireless driver which caused a few problems, the default interface was also a bit of trouble because it took too much screen space and it wasn’t that easy to use on a netbook. So I decided to give gnome-shell a try, and I must say that I am loving it, albeit there isn’t any support for the old gnome-panel applets. So if you have a netbook and hasn’t given gnome-shell a try, do so, ofcourse your mileage may vary, but I just love it. :)

About the wireless driver in the 2.6.32 staging driver, it’s awful to look at, now I know I am not a kernel developer, but comparing that driver to the Intel wireless driver syntactically, the RaLink driver is a mess, but I am happy to say that the staging driver in the 2.6.33 kernel(which is actually the 2860 and 3090 drivers together) is a lot better, so there is some hope yet of having the 1001HA working out of the box completely in the near future. :)

There were a few surprises when I bought the laptop, the first one was that the Linux version is about 87$ cheaper than the equivalent Windows one(probably obvious I suppose). The second, most surprising, was that EPSI(the vendor) only offered the Linux version in their showrooms whereas the Windows one had to be ordered beforehand if you wanted it. So it looks like Linux is getting more and more exposure. :)

Edit:- I forgot to mention that the mic does not work for me, so I’ll need to look into that too.

The birth of an idea due to the prospect of a mundane task

December 14, 2009

So a few days ago, my mom told me that I had to index the contents of all our data CDs and DVDs, this was not the first time, and like all other times it was a really shoulder-sagging moment. The steps of the boring job was, insert each CD/DVD, read the folder names in the root of the media and write them down, which frankly is one of the dullest and most monotonous jobs I can think of(frankly I would rather watch a hard-core financial documentary for 6 hours), so with the fear of the mundane task ahead of me, I tried to think of a solution to the conundrum.

The solution was to write a program that would do all that(and perhaps more) for me all in the time of a few seconds rather than that of a few 10 minutes along with the absence of the headache and fury if was I doing it manually. I did not bother with writing a script because frankly I don’t know enough bash to save my life and since I already had a fairly good idea of how to do it with DeviceKit-Disks(now UDisks) and GLib along with a few other choice libraries.

So I started writing the program, but immediately I had a problem, even though I was informed by UDisks that there was a media change, I somehow could not obtain the mount point of it, which is highly essential since you need to open that path as a directory. So after a few hours of looking everywhere and trying different things, I discovered the problem which was one of the smallest, yet most mind boggling issues ever, I was using an audio CD to test it instead of a data CD, the reason being that GVFS mounted special media at a gvfs mount(USER_HOME/.gvfs/….) instead of a normal unix mount(/media/…), which meant that UDisks did not have a clue about the mount path(I think that was a bad idea on the part of the GNOME devs personally).

But after that big problem, things got a lot easier and I finished the basics of the program. Mind you, this post is about three days after I finished the program, the reasons being that my mom forgot about the task(like all the previous times), so now all that effort was a bit of a waste(not a total waste because it gave me something to do and it improved my knowledge on a few areas of the GNOME desktop), and because I thought I would post the program in case it may benefit someone directly or in an obscure fashion after making it a bit more “mainstream friendly” and adding a few nice touches.

The features of this small program(I dubbed it “cd-root-dir-reader” which is a stupid name :P):

1) Automatically eject the media after it has been finished(option “-e” if you want it).

2) Read the media recursively once(option “-r” if you want it), or not at all(not sophisticated, but I couldn’t think of a plausible way of doing this without resorting to nesting code on and on until infinity).

3) Output the contents of the media at a file in USER_HOME/Media-reader.

Code is here if anyone wants it(Sorry for the ubuntu pastebin link, I don’t really own a server and I could see no other way of providing the source). Compile with:

gcc name-of-input-file -o output-file -Wall `pkg-config –libs –cflags gtk+-2.0 dbus-glib-1 gthread-2.0 gio-2.0 polkit-agent-1`

Note: The media to be read should be inserted after the program has been started.

Since I have nothing much to do these days, feature requests and anything else would be accepted. :)

DeviceKit-disks plugin for gnome-sensors-appet has been released

November 21, 2009

There is now a release of gnome-sensors-applet with the DeviceKit-disks plugin that I wrote. Get it hot and fresh from here. A few things about the plugin, you need to be running DeviceKit-disks version 007 or greater, releases running the required version are Ubuntu 9.10 and Fedora 12, if you don’t have the required version of DeviceKit then the API is not one that the plugin recognises and so you will not get any sensor readings at all.

For the advantages, now you will not need to muck around with hddtemp any more, the process of getting the disk temperature readings is now just as simple as adding the applet and adding the required disk temperature readings from the provided list in the applet preferences. Using hddtemp necessitated installing hddtemp, adding it to the list of services to start at runtime and configuring it properly, so there certainly is an improvement there. :)

Testing and bug reports are most certainly welcome, especially since I can only test it with one hard drive.

Other details about the new gnome-sensors-applet release can be found here.

Edit:- Users of DeviceKit-disks versions less than 007 can get the same thing, but you will need to use an unreleased version of the plugin that was written by me for the older versions of DeviceKit, you can get it from gnome-sensors-applet git, and I can say that it should work properly too, but no guarantees on my part there unfortunately as I will be following the latest DeviceKit-disks releases only.

Hello world! (And planet)

November 20, 2009

My first ever blog post, so with that, I am now a part of the blogosphere. Here’s to my survival. :P


Follow

Get every new post delivered to your Inbox.