January 31, 2010
zbar-sharp, now bugfixed and pushed to github
I’ve long been wanting to play with Git, but have either missed the time or the reason… Anyway, as I discovered a minor bug in the zbar-sharp bindings I recently released… I figured this might just be the kind of project I could push to github, and either forget or bugfix depending on what mood I’m in when a bug is discovered… 
So I’ve created a github repository for zbar-sharp, to which I’ve published a minor bugfix… I’ve also managed to publish the documentation there… it was a bit tricky, because GitHub only wants to serve HTML files if they’re in a special branch… Nevertheless I succeeded… And zbar-sharp can now be found here:
By the way did I mention, git is really nice… I just had a little fun making a bugfix branch and merging it…
January 17, 2010
Design patterns
I recently finished reading “Design Patterns: Elements of Reusable Object-Oriented Software” and thought I’d share a word about this book. Not that there’s much to say, it’s absolutely a classic, and definitely worth a read…
I’ve found the patterns applicable many places, and recently had the privilege of using one in my C# programming exam. I previous mentioned this book when I discussed “Framework Design Guidelines“, which I wasn’t too happy about at the time… However, “Design Patterns” is definitely the book for writing reusable code, whereas “Framework Design Guidelines” is more concerned with the usability of the APIs.
Anyway, that was a word on “Design Patterns”, definitely worth a read…
December 30, 2009
ZBar bindings for C#
As part of the food management system my group made this semester, we wrote bindings for ZBar and based on those a bar scanning widget for Gtk#. Anyway, I figured it might be useful somebody else, so I’ve been using a few days cleaning up the ZBar bindings, extracting the Gtk# widget from our UI-mess and writing a simple example of how to use it.
The result is bindings for a subset of ZBar and a Gtk# bar scanning widget. I don’t intend to maintain the source, but if you find any bugs etc. or wish to start a project for the bindings, please leave a comment…
The example application using the bar code scanning widget can be seen on to right. Note: this was a really lousy webcam
. The check-mark appears when a bar code have been recognized and then fades away.
In Foodolini we used HAL to detect webcams as they were plugged, however, having heard that Ubuntu will be deprecating HAL, I didn’t care to clean up the source for this feature. If you interested it can be found in the source for Foodolini. And if anybody should happen to know how to detect webcams, distro independently, without HAL, please leave a comment…
December 20, 2009
Foodolini, A food management system
Now I’m done with my third semester at Aalborg University. The focus on this semester was software engineering with the Object-Oriented Analysis (OOA&D). Personally I found this subject rather boring, I guess making pretty diagrams trying explain technical stuff in a manner “mortals” can understand maybe utterly uninteresting
Anyway, for this project we analyzed, designed and implemented system for managing recipes and food in a common household. The system was suppose to compute nutritional intake and manage diets and exercises as well, however, these features were never fully designed and implemented. Nevertheless, it uses the USDA National Nutrient Database for Standard Reference, to find the nutritional content of various groceries.
The system is called Foodolini and was implemented in C# on Mono using Gtk#, but also runs on .Net and Gtk# for .Net. Foodolini uses Sqlite as database, and we wrote a simple and neat ORM tool, inspired by SubSonic’s SimpleRepository. However, the most interesting feature in my opinion is the bar code scanner used when registering groceries in the system. It’s implemented using a ZBar which captures and scans images from a webcam. I’ll be release C# bindings for ZBar and a Gtk# widget in an upcoming blog post, when I’ve cleaned it up a bit…
- Foodolini 1.0.0 (sources, binaries and documentation)
- Report (documenting the analysis, design and implementation of Foodolini)
October 17, 2009
Musicplayer module for pluck
I’ve been working a bit on a website for a friend, not computer literate, so I took a look around for a simple, easy to use, content management system without a million useless features and found pluck. It’s simple and yet supports modules to extend the functionality, though within limits…
Anyway, I needed a MusicPlayer module that would make it easy to publish music in Flash based music player, so I wrote one. The documentation for pluck is fairly good, php on the other hand is horrible (it took me a while to figure out I had to enable error reporting). Nevertheless, the result allows the user to upload mp3s, choose player skin and settings. For playback I used Xspf Jukebox which has 20 skins included some of which are fairly good looking…
You can download the module here… It’s for pluck 4.6, tested with 4.6.3.
Update: This plugin is now hosted at github: github.com/jopsen/pluckplayer.