Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

June 18, 2008

*work work work*

If you haven't noticed, I have been a little inactive lately. That's because I started working full time and I'm still getting use to managing the little amount of time I have after my commute. I've also been working out some kinks on my grad school submission and my new apartment.

I really need to sit down and finish v0.8 of Parcellite. Though technically it's ready for release, I just need to clean it up a bit and add my own Spanish translation to it (and others). Version 0.7 is now available in Debian and Ubuntu's official repositories though :)

May 24, 2008

*hack hack hack*

Sat down for a while to work on v0.8 of Parcellite and managed to commit some changes to the way actions are executed. I used to use a simple system() call, but in its single-threaded nature Parcellite would become unresponsive until it finished executing your action. I implemented a simple pthread for each action executed so that you may continue to use the clipboard manager as it executes your desired action, something I should have done from the start but oh well :)

May 1, 2008

Positive Feedback

Lately I've gotten alot of positive feedback on Parcellite. I'm glad fellow open source enthusiasts are able to find use of my little project. Unfortunately I haven't gotten the chance to sit down and work on it because of "real life." Hopefully soon I can sit down and hack away version 0.8 which will include some new features and improvements, most of which have been suggested by the users.

March 15, 2008

Spring Break

Spring break started for us this week. I still have to go work tuesday and thursday but for the rest of the time I'll be able to catch up on some online courses, coding and get around to installing Arch.

I've been hacking away at Parcellite and I have what could be v0.7 in the subversion repository already. Soon after I browse through the code a few more times I'll be able to make a release.

Also got a chance to play some SSBB yesterday. Epic game is epic.

February 25, 2008

Translations, Coding and Brawl

Over the weekend the lead developer of BillReminder, Og Maciel, mailed me about his app needing an updated spanish translation. I helped Og with some spanish translations quite a while ago when I used BillReminder's source to teach myself PyGTK and I contacted to thank him for his app. So on saturday I entertained myself updating the translations and mailed it to him so he could commit it.

I hacked a bit of Parcellite afterwards and released v0.6.1 which had some bugfixes that were in the svn for weeks. I feel that it is stable enough now to include that i18n header file and translate it to various languages. Maybe Og could help with that.

At night, I went over to a friend's house who had a modded Wii to play some Super Smash Bros: Brawl. Right now I'm having a serious withdrawl, I need to play moar! Can't wait to get my hands on my own copy and practice for competitive play.

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.

November 21, 2007

Studying C

I borrowed the book C How to Program from a friend in order to get started learning C. This book, in addition to this excelent resource (although outdated) I'll be studying and practicing in my free time until I feel comfortable using C.