Emacs Again
Gravatar
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!

/images/emacs.png
ProtoIRC
Gravatar
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();
  18. ?>

HashTWM Patch
Gravatar
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
Gravatar
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.
LibOrgParser Update
Gravatar
Today I brought my LibOrgParser repository up to date with my local copy, for the first time in a while since I've been rather slack with my local repository.. but hopefully I got everything. The new version brings reading and writing functionality, as well as a new API, and the OrgQL utility, which lets you run simple SQL like queries on an org-mode file, thanks to the SQLite library. Queries that look like this,

  1. SELECT ALL FROM /home/hashbox/todo.org WHERE heading CONTAINS todo


Oh and I found this image I made a while ago, kinda neat I think :)

/images/org-mode.jpg


Add OrgQL to that, and that's pretty much my todo list flow :)


Edit: Oh and while we're at it, here's a one liner bash function for opening links in a file:
  1. function nav() { grep -ohE "[[:alpha:]]*://[[:alnum:][:punct:]]*" $@ | while read; do xdg-open "$REPLY"; done; }
  2.  
  3. # use like this
  4. nav todo.org someotherfile.txt