Latest News >> 2008-08-06

Well, I’ll be at DefCon this year, and I always try to do something fun for the conferences I attend.

2008-08-01

Well looks like my rant about the state of open source feed readers hit some sites, so I should put in a few clarifications so people understand what I was looking for more specifically. I’ll do it by answering several of the questions people sent me.

2008-07-20

RubyFringe was my last Ruby conference and it was the best conference to go out on. Everything about RubyFringe was great. It was well organized, contained eclectic talks, and supported the weirdness that’s usually hidden at the other conferences.

2008-06-25

I’ve been completely fed up with news/feed/rss/atom readers these days. I use Linux as my primary operating system, and I only have a few feeds that I want to rip through quick so I can get to reading the content. Yet, trying to find a reader that doesn’t suck donkey balls has been a chore.

Just a quick announcement that I’ve managed to get Vellum nearly close to what I need for building all my stuff. It has been refactored to be funnier and also includes a simple “import” system that implements an idea of recipes. The recipes are still rough, but do work by taking the contents of another .yml (YAML) file and putting those contents into the master with a namespace.

Vellum also has a fairly complete unit test suite that exercises most of the system that I can test. Not sure if that’s how Python people do their testing, but it seems to be working good for me.

If you’re interested in trying it out, grab the latest 0.4 release or grab it from the bzr with:

bzr branch http://www.zedshaw.com/projects/vellum/

The funny refactoring I did was to break up the one large class into three smaller classes:

  • vellum.Press—Loads either YAML or Python build specs and does the “coagulate” needed to resolve imports.
  • vellum.Script—Responsible for taking the results of Press and building the internal executable data structures for the script.
  • vellum.Scribe—Runs a script you give it according to the options set.

Ok, that joke has been choked to death and probably won’t get any funnier, even if it ever was all that funny to begin with.

Now, here’s what you can do with Vellum’s new recipe stuff:

  • Put common tasks you have into other .yml (not .py yet) files.
  • Put those common files into projects you start so you don’t have to write them over and over again.
  • Have your primary build.yml load them, and then the tasks and options in the imported recipe file get put into a name space. This means if you have distutils.yml with a target of “clean” then your build.yml will have a target of “distutils:clean”.
  • You can put these files in other directories too and the slash will apply to the namespace name.
  • Since the main file can be a .py you can have it generate a .yml that gets loaded as part of the configuration process. This can be the start of an autotools style config system (but one that doesn’t suck).

I’ll just be adding two tiny little things this next week and then I’m gonna call Vellum 1.0 since it does most of what I need:

  • A path mechanism so that these common recipes can live in some central place and referenced easily. Then I’ll post up a bunch of recipes you can grab and install for common stuff.
  • Ability to have a recipe be a .py file so that they can get run like .yml files during the resolution.
  • Documentation and probably hosting the project on launchpad so people can contribute.

The Vellum project page has more information and a few more samples you can play with.