Hackfest Weekend
Back from a really fun hacking weekend in Wellington, where I met some new people (and fellow hackers) and got to work on a project integrating TBB further into the HipHop-PHP compiler (and exposing it to PHP), which can be found at Github. We made some pretty good progress and came up with a few pretty graphs.

As mentioned in the last post, I have decided to purchase a Linode VPS for a couple of months to try it out, and so far I am super impressed with the overall service. I will be using it mainly as a LNMP (Linux, Nginx, MySQL, PHP) host and so far it is doing the job well. I will also be spending the coming months looking further into RoR, Perl, a couple of NoSQL servers (CouchDB, Redis), and maybe a message passing framework or two. This will also give me a chance to play around with some monitoring systems, and some deployment systems, such as Capistrano.

As a side-note, anyone have any ideas of what to do with a bunch of Clickatell SMS credits? I have an account with plenty of credits but it's sitting pretty stagnant at the moment.

Also really looking forward to visiting Christchurch in the coming weeks. Haven't been there in forever.
An Update
Still alive! Posting since I just updated the look of my blog (yet again). I have updated the syntax highlighting colors as you can see below (just scroll down a bit). They should now more or less match my Emacs color theme, and code blocks should also be a fair bit more readable now.

So what have I been up to lately? Well for a change I've actually been rather busy.. I've had a few jobs to work on which has kept me occupied, and I've been travelling around a bit (and hopefully will be more in the future). I've also decided to check out Linode, and I'm looking at getting, or at least sharing a VPS with some friends (for evaluation purposes). Linode just may some day end up hosting this web site :)

Also cleaned up the comment area a bit, feel free to try it out ;)
Emacs Again
Back to Emacs again! Think I might stick with it this time, got a custom colortheme and everything else is pretty much exactly as it was in Gvim :D
Using viper-mode and vimpulse.el of course!
ProtoIRC
So I made a tiny and very hackable IRC bot/client base in PHP for rapid prototyping. Of course I threw it on GitHub. It makes heavy use of PHP >= 5.3 closure support as well as regular expressions for defining just about everything. Basic knowledge of the IRC protocol is recommended. You can find more information in the README file in the previous link.

Here is an example of what a minimal bot looks like:
  1. <?php
  2. require('protoirc.php');
  3.  
  4. $irc = new ProtoIRC('hostname', 6667, 'NickName', function ($irc) {
  5.         // This code will run on connect
  6.         $irc->send('JOIN #channel');
  7. });
  8.  
  9. $irc->in('/^:(.*)!~.* PRIVMSG (.*) :!echo (.*)/', function ($irc, $nick, $channel, $args) {
  10.         // Arguments are self documenting
  11.         $irc->send($channel, "Echoing '{$args}' for you {$nick}", 'green');
  12. });
  13.  
  14. // Also available is the ability to catch stdin, irc in, and irc out. Set up timers, and call functions asynchronously.
  15.  
  16. // This will run once, until disconnected
  17. $irc->go();

HashTWM Patch
This morning I woke up to find a patch waiting for me on GitHub that extends HashTWM's primitive tag support with what appears to be a more full featured, dwm-like tag support. Thanks to http://github.com/gtellalov for this patch :)

This is the beauty of open source :D
Todo.txt-Utilities
Just created another git repository for my miscellaneous todo.txt utilities. For now there are only two scripts, and both are written in PHP. Each is explained briefly in the README file.
One of the utilities I wrote yesterday while learning how to use GraphViz takes a todo.txt file and spits out a DOT one which can be piped into one of the GraphViz renderers.

It generates output that looks like this:

/images/screenshot-todot.png


As you can see it takes the item with the highest priority, and steps through to the lowest priority, before splitting off to the remaining items.
You can also find this script in the git repository.