Richard Penwell

/dev/clue was linked to /dev/null

Welcome to my personal corner of the interwebs, I’m glad you found it. My name is of course, Richard Penwell. I’m a young professional and a technology enthusiast. I’ve been using a variety of technologies for over a decade to solve interesting problems.

I live in Boston, MA and currently work for g8wave producing software for cell phones. I grew up in the inland northwest of the United States.

Recent Articles

Why you should run the 64bit MacOS kernel...

I know that which kernel (64bit or 32bit) for MacOS is a pointless detail, but I did find a compelling reason to change it.

If you run the 32bit kernel and perform a `uname -a` on your system it reports a 32bit system. This will affect any `./configure` scripts and set the compilation to occur in 32bit mode. Example, if I build ruby from scratch it ends up a 32bit binary.

continue reading...

SmartFoxServer client for Ruby

I’m pretty impressed with myself. Yesterday I went from the command ‘jeweler smartfox’ to a stable release in rubygems.org. There’s a product called SmartFoxServer by gotoandplay.it. It’s typically used to provide flash based chat systems.

Yesterday, I built a ruby client for that server.

If you need to interoperate with SmartFox please, check it out.

All details are listed in the SmartFox gem project

And now, an example:


require 'rubygems'
require 'smartfox'

continue reading...

Setting up Ubuntu to host Ruby on Rails 3

Here I will share with you my “secret recipe” to set up a Ubuntu 10.4 server for hosting a Rails 3 application. As always, your milage may vary.

continue reading...

ActiveRecord with non-column backed DateTimes

Recently I’ve been making views on LiveText more Rails-ish. In the aim to do so we have a model who has two DateTime attributes which are actually stored in another table, namely a CampaignAlertPredicate value, we do this so we could add new predicates without having to alter the actual table to include tons and tons of values. Think of it as a dehydrated SQL query.

In any case, we commonly use only a few predicate values at this time, namely a start_at and end_at value. To make a nice

continue reading...

Color theory and random values

You may or may not have noticed that the top of this page changes on each view. I did this to match some wonderful personal cards that I picked up from Moo. Each card is different, and looks somewhat like the heading portion of the page. (I lightened it a bit for readability).

I thought I’d share the code I’m using to do this in case someone else wants to do something similar, albeit with a different scheme hopefully ;-). I define these two helper methods in the ApplicationHelper

continue reading...