Category Archives: Uncategorized

State of the hash functions, 2012

The state-of-the-art in non-cryptographic hash functions has advanced rapidly in the last few years. When I did some searching this week I was happy to see that new cutting-edge hash functions had been released even since last time I looked … Continue reading

Posted in Uncategorized | Leave a comment

Refcounting immutable cyclic graphs

Cycles are a thorn in the side of refcounting. But yesterday I discovered (or perhaps rediscovered) a simple, efficient scheme for refcounting cyclic graphs if the defs are immutable: find strongly-connected components and make all nodes in each SCC share … Continue reading

Posted in Uncategorized | 4 Comments

Using dtrace on OS X to debug a performance problem

I recently ported upb’s table-based decoder to use setjmp/longjmp-based error handling. I did this largely for code simplicity and readability, so that the non-error code-paths didn’t have to check for errors all the time. But unfortunately I noticed a dramatic … Continue reading

Posted in Uncategorized | Leave a comment

ARM architecture is mired in oppressive legalese

My Efika MX Smarttop came and I’ve had some fun compiling upb for it and trying it out. I don’t have a pressing ARM use case yet, but I want to work ahead a bit and get familiar with the … Continue reading

Posted in Uncategorized | Leave a comment

EINTR and PC loser-ing (The “Worse Is Better” case study)

Richard Gabriel’s 1989 essay Worse Is Better is a famous comparison between LISP and Unix/C that pops up from time to time and is guaranteed to spark a spirited discussion. The philosophical argument itself is not something I want to … Continue reading

Posted in Uncategorized | 4 Comments