Recent Posts

Reentrant bugs without concurrency

archived 2010-03-16T19:41:26-07:00 in: ,

One usually encounters the concept of reentrant functions in the context of concurrent programming. Wikipedia provides this summary of a reentrant function:A computer program or routine is described as reentrant if it can be safely called again befor... more

A quick tour of R internals

archived 2010-03-14T22:02:10-07:00 in: ,

This week I had a chance to make a small speed improvement to R by moving some code for the commonly used which() function from R into C. Patrick, a colleague at work, suggested the change after observing that which could become a bottleneck when dea... more

From wordpress to nanoc

archived 2010-02-21T20:38:00-08:00 in:

Welcome to the new and improved userprimary.net. In the spirit of static is the new dynamic, I took on the project of converting this blog from Wordpress to an autogenerated, yet entirely static, site using nanoc.With a static site, I can avoid havin... more

Writing packages for homebrew on OS X

archived 2009-09-28T20:49:23-07:00 in: , ,

One of the things that I really like about homebrew, a new package manager for OS X is that creating new packages is very easy if you've done a minimal amount of Ruby programming. Each package -- or formula in homebrew parlance -- has associated with ... more

How to open hoisin sauce with a saber

archived 2009-09-26T19:25:10-07:00 in:

The other night while making dinner I tried to remove the plastic wrap on the top of this bottle of hoisin sauce and ended up removing the entire top of the bottle, glass and all. Posted via email from Seth's posterous archived on 2009-09-26 in... more

The macro mode on my new camera seems to work...

archived 2009-09-26T16:31:27-07:00 in:

SPIDER! Posted via email from Seth's posterous archived on 2009-09-26 in null ... more