cailin's blog
welcome to cailin nelson's blog. there's more about me on our about us page. if you're more interested in the ladybug, try ava's blog instead.
don't hesitate to contact me about anything.
a small sliver of sanity in a mad mad world
a few weeks ago, i got a ticket for "running a stop sign" on my bicycle. this occurred a) on one of the established san francisco bike routes ("the wiggle") and b) on a @#^%$^% spare the air day. while i did not have ava with me, i was riding the bike with her bike seat on it.
according to the insanely annoying motorcycle cop who was pulling over every single cyclist that rounded the corner of pierce and waller that morning, an "old lady had nearly been hit by a cyclist and complained". yeah, sure buddy, there's been a rash of elderly pedestrians mowed down by young mothers on their bicycles lately. got it.
log4drupal now available on github
both the 5.x and 6.x versions are now available for download on github. sorry, i just can't do CVS anymore. to download:
- start by going here: http://github.com/cailinanne/log4drupal
- then click the
all tagsdrop-down and choose the appropriate version - then click the download button
a full description of the module is available here
recent software engineering interview questions
Hash Table
Write an implementation for a hash table in Java. You may use arrays and the built in int hashCode() method that returns the hash code for all Java objects.
This was a whiteboard question.
Multi-Threading
- add new comment
- read more
- 112 reads
breadth-first graph search using an iterative map-reduce algorithm
i've noticed two trending topics in the tech world today: social graph manipulation and map-reduce algorithms. in the last blog, i gave a quickie guide to setting up hadoop, an open-source map-reduce implementation and an example of how to use hive - a sql-like database layer on top of that. while this is one reasonable use of map-reduce, this time we'll explore it's more algorithmic uses, while taking a glimpse at both of these trendy topics!
exploring apache log files using hive and hadoop
if you're exploring hive as at technology, and are looking to move beyond "hello, world", here's a little recipe for a simple but satisfying first task using hive and hadoop. we'll work through setting up a clustered installation of hive and hadoop, and then import an apache log file and query it using hive's SQL-like language.
unless you happen to have three physical linux servers at your disposal, you may want to create your base debian linux servers using a virtualization technology such as xen. for a good guide on setting up xen, go here. for the remainder of this tutorial, i'll assume that you have three debian (lenny) servers at your disposal.
let's get started
- add new comment
- read more
- 2881 reads
log4drupal - an updated logging api for drupal 6
drupal 6 included an upgrade to the built in logging functionality (watchdog). drupal 6 exposes a new hook, hook_watchdog which modules may implement to log Drupal events to custom destinations. it also includes two implementations, the dblog module which logs to the watchdog table, and the syslog module which logs to syslog.
with these upgrades, log4drupal is less critical addition to a drupal install, and i hesitated before providing a drupal 6 upgrade. however, eventually i decided that log4drupal is still a useful addition to a drupal development environment as log4drupal provides the following features still not provided by the upgraded drupal 6 watchdog implementation :
- a java-style stacktrace including file and line numbers, showing the path of execution
- automatic recursive printing of all variables passed to the log methods
- ability to change the logging level on the fly
in addition, the drupal 6 version of log4drupal includes the following upgrades from the drupal 5 version
- all messages sent to the watchdog method are also output via log4drupal
- severity levels have been expanded to confirm to RFC 3164
- log module now loaded during the drupal bootstrap phase so that messages may be added within
hook_bootimplementations.
you may download the drupal 6 version here. see below for general information on what this module is about and how it works.
- 3 comments
- read more
- 3085 reads
easy-peasy-lemon-squeezy drupal 6 installation on debian linux
installing drupal is pretty easy, but it's even easier if you have a step by step guide. i've written one that will produce a basic working configuration with drupal6 on debian lenny with php5, mysql5 and apache2.
all commands that follow assume that you are the root user.
let's get started!
- 4 comments
- read more
- 4973 reads


