December 20, 2007

Vacation = True;

From today to Januarth 6th I'll be in Winchester, Virginia spending the holidays with my sister, aunt and the rest of the family. Not looking forward to the cold weather (which I have never experienced) or the snow (either). Wonder if I can build a tux snowman...

Couldn't finish translating Parcellite to C to release v0.5 before I left so I'll either finish it during my trip or as soon as I get back. It's pretty close to being done, it's missing the actions menu and the new CLI interface I've been experimenting with so you can have access to the clipboard through scripts and the terminal.

Happy Holidays!

December 19, 2007

Origins of C

"C is a programming language which is like, totally ghey. It's low-level and has those stupid pointers. It was superceded by Java 20 years ago and is virtually extinct today. The only actively developed code using C today is the Linux kernal and the Yahoo! search engine, both of whose user count do not exceed 16, combined.

C code often ends up looking like the output of figlet(6). This is to be expected from a language that has three different uses for '*' depending on context."


Seems pretty accurate to me.

December 12, 2007

Path Towards the Female Body



Saw this in Sayonara Zetsubou Sensei the other day. I wonder what the geek's path towards the female body is...

Mailing List -> Forum -> IRC -> Messenger -> Webcam -> IRL

December 10, 2007

Progress

I've been translating Parcellite to C for version 0.5. So far I have it catching clipboard history and the history menu is working. Been going at a slow pace, I want to make sure the code is clean and as bug free as I can write it. I would be further along if I hadn't spent more time understanding how the autotools work.

You can grab the current progress from the C branch of my subversion.

svn co http://xyhthyx.googlecode.com/svn/branches/C/ parcellite-C


At the moment you need the latest autotools. Just do the following to compile.

./autogen.sh
./configure
make
sudo make install

December 5, 2007

Language Readability

The latest xkcd comic is win.

For educational purposes, I will compare a simple GTK+ about dialog in Python versus one in C.

Python
about_dialog = gtk.AboutDialog()
about_dialog.set_icon(about_dialog.render_icon(gtk.STOCK_ABOUT, gtk.ICON_SIZE_MENU))
about_dialog.run()
about_dialog.destroy()


Simple, readable. All I did was create a dialog, set its icon and name, run it then destroy it. In C it's a different story.

C
GtkWidget* about_dialog = gtk_about_dialog_new();
gtk_window_set_icon(GTK_WINDOW(about_dialog), gtk_widget_render_icon(about_dialog, GTK_STOCK_ABOUT, GTK_ICON_SIZE_MENU, NULL));
gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(about_dialog), "Parcellite");
gtk_dialog_run(GTK_DIALOG(about_dialog));
gtk_widget_destroy(about_dialog);


Sacrificing readability for speed? I think it's worth it.

December 1, 2007

White Panel Text



Alot of people don't know that you can overwrite your current theme with a certain file in your home folder. If you notice in the above screenshot, I have white text on the panel while everything else defaults to black. To achive this, simply create the file .gtkrc-2.0 and place it in your home folder. In it, place the following code:

style "panel"
{
fg[NORMAL] = "#ffffff"
}
widget "*PanelWidget*" style "panel"
widget "*PanelApplet*" style "panel"
class "*Panel*" style "panel"
widget_class "*Mail*" style "panel"
class "*notif*" style "panel"
class "*Notif*" style "panel"
class "*Tray*" style "panel"


Now you can use dark panel backgrounds with light colored themes. To refresh the panel type killall gnome-panel or just exit to GDM and login again.