Wincent Colaitua on Functional Programming
[Wincent Colaitua](http://www.wincent.com) has written an [interesting, worth reading blog post](http://wincent.com/a/about/wincent/weblog/archives/2007/09/why_functional.php) why functional programming could become more and more important in the future.
Note to myself: Have a deeper look at [Haskell](http://www.haskell.org).
Full Perl-Compatible Regular Expressions in Objective-C
A few months ago I wrote about a mechanism which allowed simple [Pattern Matching with NSPredicate](http://www.stiefels.net/2007/01/24/regular-expressions-for-nsstring/).
Although it is a good method to check if a string matches a Regular Expression it lacks a lot of features you normally expect while you're doing something with Regular Expressions, such as capturing subpatterns or doing search and replace.
[Philip Hazel](http://www.uit.co.uk/exim-book/author-bio.htm) (who also wrote my favourite SMTP server, [Exim](http://www.exim.org) created a library called [PCRE (Perl-Compatible Regular Expressions)](http://www.pcre.org) a long time ago which implements the Regular Expression syntax used in [Perl](http://www.uit.co.uk/exim-book/author-bio.htm) (sometimes I miss that time) for the C Programming Language.
While PCRE is great for doing Regular Expressions in C, it's usage with Objective-C is some kind of cumbersome as NSString objects must be converted to plain C strings and back again.
But recently John Engelhart released an alpha version of his PCRE-based [RegexKit framework](http://regexkit.sourceforge.net), which provides a sweet object-oriented interface to Regular Expressions. It looks very mature and there is also a [very good documentation](http://regexkit.sourceforge.net/Documentation/index.html) available.
Thank you very much, John!
Brute Forcing Best Arrangement for a Skat Tournament
I started this project because I was faced with the following problem:
Let's say you want to plan a skat tournament with 12 players and you have four tables available. So three players are sitting on every table playing one round against each other. After a round the players are changing their seats so that no player is playing against an opponent he or she already played against.
The question now is: Can I arrange my players in a way so that every player is playing five times and not playing against an other player twice? And if so, how would this arrangment look like?
Locating Memory Leaks with MallocDebug
I am currently working on a interesting project written in C (more about the project in a few days or weeks) which requires a very clean memory management. I decided to write it in C because it does pretty long and complex calculations and I wanted to do it fast. But using C also means to do the whole memory management by myself. This can be a very hard job especially if a program is very memory-intensive.
Merge Tracking in Subversion 1.5
Everyone who is working with [Subversion](http://subversion.tigris.org) using multiple branches knows this problem: Merging changes from branch A to branch B needs to be documented (in most cases in the log).
This can be risky as if one developer forgets to put that important information in the log, no one will ever see which change sets are now merged in branch B and following merges can cause lots of conflicts or loss of changes.
There is no automatic book keeping in Subversion - yet. In the upcoming release, Subversion 1.5 will provide [merge tracking support](http://subversion.tigris.org/merge-tracking/).
I am really happy to see that great software gets even better!
STNPostgreSQL.framework Universal Binary and Examples
I updated the [STNPostgreSQL.framework project page](/projects/stnpostgresqlframework) with a download link to a Universal Binary of the framework and a few examples on how to use it.
Preview: STNPostgreSQL.framework
I am very pleased to announce the public preview of STNPostgreSQL.framework.
STNPostgreSQL.framework is an open source Objective-C framework for accessing [PostgreSQL](http://www.postgresql.org) databases in a convenient object oriented way.
The current version is **pre-beta** so don't expect that much features or stability. The APIs are still subject to change!
I have a lot of ideas which will be released in future versions. If you have some questions, ideas for improvement or if you want to join me on this project please send me a [mail](/contact). Thanks!
More information and download instructions can be found on the [project page](/projects/stnpostgresqlframework).
Unit Testing with Xcode
Unit testing is some kind of a controversial topic. There are many opinions by software developers whether to make unit tests and how frequently they should be used.
I don't want to start a preach here or discuss the pros and cons of unit tests in every little detail. It's just a little tutorial how Unit Testing works with Objective-C and Xcode.
Software needs to be tested, right? So, when is the right time to test your application?
Well, before I heard something about Unit Tests I did tests every time after I changed a function or added some functionality to my software and I think this is what most people do.
The problem is that mostly after these changes only a few parts of the application are tested. The application is/can never tested completely by the developer by hand and errors might occur when a end user uses it.
So the ideal test would be to go all through your software and test every little feature and functionality. I think that is not really possible. But this process can be automated. And at this point Unit Tests come into the play.
Late Night Cocoa Podcast

[Late Night Cocoa](http://www.latenightcocoa.com) is a great podcast about Cocoa and Mac OS X development and if you're interested in these topics and haven't heard about Late Night Cocoa yet, [fire up your iTunes](http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=213023580)
and give it a try.
Over 200 Downloads of RegexTester
I must admit, I am a little surprised that my teeny tiny little software [RegexTester](/projects/regextester) was downloaded over 200 times in just five days (according to [macupdate.com](http://www.macupdate.com/info.php/id/24535)). I am very pleased and I'd like to get some reviews and opinions.