Did anyone else attend a local Software Freedom Day 2007 event? I showed up at the Dallas event. I wasn’t sure what to expect but it was fairly well attended. They had a lot of free (in both meanings of the term) stuff to give away, ranging from GNU/Linux CDs to T-Shirts and stickers. I was only there for a short time but I talked to one curious person who had heard a little about open source and free software. He took a FSF flyer, membership form, and some Ubuntu CDs. I ended up with one of the green SFD2007 t-shirts myself. I took a couple of photos with my phone, which are now on flickr with assorted other SFD 2007 photos.
If anyone in Dallas is looking for the local Software Freedom Day 2007 event, it’s being sponsored by Ubuntu Dallas folks. Sounds like they’ll be meeting at the Tempest Tea at 5600 West Lovers Lane around 11am on Saturday the 15th. There’s an announcement and a little more information in a forum thread on their site. I’ll try to make it by if possible.
One of the C projects I’m working on needed some object oriented features of the type one would normally use C++ for. I thought it shouldn’t be too hard to do some minimal OO stuff in C and it turns out there are plenty of examples and complete frameworks out there to help. If you’d like a complete OO framework for C, Laurent Deniau’s webpage, Object Oriented Programming in C, is a good place to start. The most interesting system described is the C Object System (COS) which is described as “strongly inspired from CLOS and Objective-C and to a lesser extend by Cecil, Dylan, Haskell, Python, Slate and SmallTalk”. The description also notes that COS provides dynamic message dispatching that’s up to 1.5 times faster than Objective-C and generic message forwarding that’s up to 80 times faster than Objective-C. COS is designed to match the simplicity, flexibility, and extensibility of Python, Ruby, or Smalltalk while retaining the efficiency and portability of C. The COS framework is licensed under the LGPL. Pretty cool.
Laurent also describes the Object Oriented C (simplified) framework, which is a small (300 sloc) pile of code derived from OOC-2.0 that provides C programmers with a feature set similar to Java. There’s also “Exception in C”, which provides a Try-Catch-Finally implementation for C.