Digital Sanctum

Personal blog of Shane Witbeck Tags · Archive · About


View by year: 2022 2021 2020 2013 2012 2011 2010 2009 2008 2007 2006 All

How to Get Hardware Details from Command Line on Ubuntu

26 Oct 2021
CPU cat /proc/cpuinfo | grep 'model name\|cpu family\|processor\|cache size' | sort -u Here’s an example of the output: cache size : 12288 KB cpu cores : 6 cpu family : 6 model name...

How to fix 'connection refused' for Kubernetes or how to renew certificates

04 Oct 2021
One of the lesser known causes for getting a connection refused error message when connecting to a Kubernetes cluster is expired certificates. This post will outline the steps to first, determine if you...

How to use go mod with private GitHub repositories

17 Aug 2021
If you have one or more dependencies in a private GitHub repository the following instructions are one way to allow git mod download to succeed. Step 1: Pass repository credentials to Go module...

Searching for Examples of GitHub Actions

07 Oct 2020
The following snippet works great for finding public examples of GitHub Actions: "push" created:>2019-11-13 language:YAML path:/workflows The 2019-11-13 clause denotes the date when GitHub Actions became generally available.

How to Replace HTML Links With Markdown Links Using sed

10 Sep 2020
Tools like Pandoc are great if you want to convert entire files from one format to another but if all you need is to replace links from one format to another sed is...

Seven Years

07 Sep 2020
2013 It’s been seven years since I’ve written a blog post. A lot can happen in seven years and it did! I quit my job as a cloud consultant and accepted a job...

How to Install OpenStack Heat

01 May 2013
If you’d like to get up and running and hacking on OpenStack Heat this guide is for you. In this post I’ll describe how to get up and running quickly with the goal...

How to Create ISO Storage on XenServer

30 Apr 2013
This post walks you through how to create local volume on a XenServer host to serve as ISO repo. 1. ssh to the XenServer host 2. Check free local disk space: df -h...

OpenStack Summit 2013

23 Apr 2013
Last week I attended OpenStack Summit along with almost 3,000 other geeks in my favorite city, Portland, Oregon. I’ve been to a few conferences over the last several years but this one was...

How to Copy File Contents From a Remote Machine to Local Clipboard

27 Mar 2013
I use ssh to gain access to several remote servers and have always wondered how to copy the contents from remote files to my local clipboard. I use a mac as my desktop...

How to Setup a PXE Server on Ubuntu

22 Mar 2013
This post shows you how to setup a PXE (Preboot execution environment) server on Ubuntu. It assumes a fresh install of Ubuntu 12.04 and at least two machines. One acting as the PXE...

Ubuntu Automatic Install Tutorial

13 Mar 2013
This tutorial will walk through the steps necessary for a completely automated installation of Ubuntu. First, download an ISO to use as the starting point. Create a work directory and extract the ISO...

How to Setup VNC Between a Mac and Ubuntu

13 Mar 2013
This tutorial instructs you how to quickly VNC into a headless Ubuntu server. It’s assumed that you have a server running somewhere and for whatever reason you need access to a graphical environment...

How to allow sudo without a password

03 Jan 2013
Suppose you’re setting up an automated task or something similar and it would be nice not to worry about entering a password for sudo. Here’s how to allow sudo without a password for...

Killing Multiple Instances of a Process on Mac OS X

01 Jan 2013
In this post, I’ll outline a couple ways to kill multiple running instances of a process on OS X. A handy program to have is pidof, which is a utility that returns the...

How to Install Java 7 on Mountain Lion

20 Dec 2012
To start, download and install the latest release of Java 7 from here. After the install is complete you should have it here: /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk Since Apple has done away with the Java...

Top 10 Java Companies and Projects to Follow on GitHub

02 Dec 2012
Java is the fourth most popular language on Github so naturally here’s my hand-picked top 10 companies and projects to follow: Ning Simple Square SpringSource Typesafe, Inc Eclipse ElasticSearch Netflix DropWizard Storm

How to Read File Contents in Java the Easy Way with Guava

30 Nov 2012
Here’s an easy and no-frills way to read the contents of a text file using Guava: If the file is on your classpath: import; import; URL url = Resources.getResource("foo.txt"); String text...

How to Embed Jetty with Spring MVC

24 Nov 2012
This post will walk you through how to embed Jetty with a simple Spring MVC application which can be run standalone or deployed to with no code changes. Why Embed Jetty The...

How to Build a Self Executable Jar File

18 Nov 2012
I’m always looking for ways to simplify the management of Java services. Recently, I’ve learned how to create a self-executing jar file without the need for an extra bash script. Having one file...

Basic Authentication in the Play Framework Using A Custom Action Annotation

07 Jun 2012
If you need a simple way to protect certain controllers in your Play Framework app with basic authentication, one option is using a custom action annotation. This post was also inspired by a...

Github keeps asking for username and password

06 Jun 2012
If you’re using https protocol for your remote.origin.url and you continually get prompted for your username and password, you can make the following change to prevent the prompts in the future: If your...

Play Framework 2 Tutorial: Ebean ORM

01 Jun 2012
In this post, part five of the tutorial series about the Play Framework, you’ll learn the basics of creating models and using the Ebean ORM. Configuring Ebean In order to start using Ebean...

Play Framework 2 Tutorial: Database Access

30 May 2012
In this post, part four of the tutorial series about the Play Framework, I’ll talk about database configuration and access. Configuring JDBC Connection Pool In order to start accessing a database in your...

Play Framework 2 Tutorial: Testing

28 May 2012
This post, part three of the Play Framework tutorial series, I’m going to touch on the basics of testing. Three areas will be covered here: Testing Routes Testing Controllers Testing Views This is...

Play Framework 2 Tutorial: Introduction

26 May 2012
I’ve been putting off learning the Play Framework because I wasn’t sure it was going to be just another framework that’s here today and forgotten tomorrow. As of the time this post was...

Play Framework 2 Tutorial: Debugging with IntelliJ IDEA

26 May 2012
In part one of this series of Play Framework tutorials, I outlined how to get a very simple Play Framework app up and running and deployed to Heroku. In this post I’ll describe...

How to Avoid iPhone Data Overage Charges

28 Apr 2012
The following are several tips you can use to avoid iPhone data overage charges. **Turn Wi-Fi on.** To turn Wi-Fi on, tap Settings -> Wi-Fi (turn this on). When Wi-Fi is turned on,...

Instant Web Server From Current Directory

04 Apr 2012
Ever wanted to run a web server from the current directory with no setup and no fuss? Here’s how: python -m SimpleHTTPServer 8888

How to Test Java Mail Without a Server

21 Apr 2011
If you have an app that sends email and you want to test it without a mail server, I recently found an elegant solution. The solution involves using the Spring framework and an...

Maven 3 Homebrew Install

31 Dec 2010
I recently decided to install Apache Maven 3.0.1 via my favorite packaging system for Mac (Homebrew). This presented a couple of issues that I worked to resolve and documented here for others. Problem...

Using RabbitMQ, Spring AMQP and Spring Integration

31 Aug 2010
I’ve recently done a proof of concept using RabbitMQ, Spring AMQP and Spring Integration. This post will describe how each of these open source technologies along with some enterprise integration patterns were used...

Building Effective Software

21 Jul 2010
In over ten years of experience building software, there are patterns and nuances that you pick up on in terms of building effective software systems. Three areas where I believe any software project...

Growl for JRuby

13 Jul 2010
I set out to find an elegant solution to providing growl notifications for a JRuby application. Here are my findings: gems growl - nice simple code but requires Growlnotify extra to be installed....

heroku no app specified

05 May 2010
I’ve started playing around with Heroku lately and ran into an issue when I created my app on one machine and cloned from Git on another. After some digging, I found that I...

Function-based Indexes in Oracle

30 Apr 2010
I’ve been meaning to investigate something that came to mind a while back and just now got around to it while researching a bug. My feeling was that there may be a faster...

Content-based Manipulation with jQuery

09 Apr 2010
Ever wanted to apply some CSS formatting based on the content? Here’s an example how to do it using jQuery.


03 Apr 2010
750 is roughly the number of hours I’ve gained in the three years of working from home full-time by not commuting to work. In these times when the economy is bad companies are...

Rework Book Review

12 Mar 2010
I rarely read books cover to cover in four hours. I rarely pre-order books six months in advance. I very rarely write reviews about the books I read. Rework by Jason Fried and...

How to Test Struts 2 Actions Without a Container

25 Jan 2010
I recently worked on a project that used Struts 2.1 and the Spring framework integration plug-in. There are sporadic examples of how to test Struts actions in this context but none of them...

Solved: Installing Gems from Behind a Firewall

16 Dec 2009
For a few years my team has been happily using Ruby and JRuby in our work for a big international bank. Suddenly, we could no longer install or update gems from behind the...

Amazon S3 Upload with Ruby

25 Nov 2009
Need a quick and dirty way to upload some photos or other files via command prompt? Have Ruby? First, install the Amazon S3 gem: sudo gem i aws-s3 Then, edit the following to...

WordPress to Jekyll

18 Nov 2009
I’ve just completed moving this blog from WordPress to a static site generated using Jekyll. Why the move? Here are a few reasons why I decided to make the move: minimalism - I...

Tools of My Trade

23 Oct 2009
In response to Rubyists - what are your “tools of the trade”? Hardware Mac Pro: 4 core, 2 x 2.66GHz Dual-core Intel Xeon, 7GB RAM Dell 24” LCD Monitor: primary display Samsung 19”...

Running Apache Buildr with JRuby and Nailgun

23 Oct 2009
If your using Apache Buildr for building your projects one of the best ways to gain performance is to run Buildr with JRuby and Nailgun. Nailgun vastly improves the startup time for the...

Add Google App Engine Jars to your Maven Repository

10 Oct 2009
Since Google App Engine for Java came out several months ago I’ve been learning how it works. Since it’s launch there’s been a few releases and for some reason Google only made the...

Testing Your App Using Spring's AbstractTransactionalJUnit4SpringContextTests

02 Oct 2009
AbstractTransactionalJUnit4SpringContextTests is a pretty long class name but it makes easy work of testing a Spring application which uses a database. This post will walk through a quick example of how to use...

Installing Erlang on Mac OS X

01 Oct 2009
I’ve recently been intrigued by RabbitMQ which is an implementation of AMPQ (Advanced Message Queuing Protocol) written in Erlang. Here’s the short and sweet installation instructions for Erlang on Mac OS X: Download...

Solved: java.lang.NoClassDefFoundError: Acme/Serve/Serve

04 Sep 2009
During the setup of testing some RESTful integration tests by extending org.jboss.resteasy.test.BaseResourceTest, I received the following error: java.lang.NoClassDefFoundError: Acme/Serve/Serve Not a very helpful error message is it? This means you’re missing the Tiny...

Location of IntelliJ IDEA Files on Mac OS X

31 Aug 2009
IntelliJ IDEA is my IDE of choice and sometimes it’s helpful to view certain files associated with IDEA. The location of these files are not completely obvious when running on Mac OS X...

HURL: Great Tool for Testing Web API's

24 Aug 2009
If you’re looking for a dead simple web-based tool for inspecting HTTP requests, look no further. HURL has an easy-to-use interface where you can submit URLs with headers and parameters then view both...

Solved: Time Synchronization Issues with Amazon S3

22 Aug 2009
A while back I setup a script to create backups and store them on Amazon S3. Until recently, this has worked great. The script kept bombing with the following error when it actually...

Yahoo Loses Top Talent and Sheds Services in the Wake of MS Deal

13 Aug 2009
Yahoo’s deal with Microsoft recently sparked a lot of interest but perhaps the most interesting events are yet to come. Already, Yahoo has lost top talent like Doug Cutting and have now started...

Convert Plain Text Links to HREF Using Regular Expressions

16 Jul 2009
For a project I was working on recently I had snippets of plain text with links embedded but without the actual HTML code. Here’s some code to get the job done:

Google App Engine for Java: CRUD Operations with JDO and Spring MVC

02 Jul 2009
In a prior post, I provided and introduction to GAE for Java including getting your local development environment setup and uploading your application to Google’s servers. For this post, I will outline how...

JRuby on Google App Engine

30 Jun 2009
I’ve been reading up on running JRuby on GAE (Google App Engine) for Java. Here are some helpful resources for future reference and for others seeking information about this exciting mix. [](**</a> -...

JSTL Expressions Not Working in Google App Engine Solution

24 Jun 2009
If your JSTL expressions aren’t working with GAE for Java, try this quick fix. In your page directive, add isELIgnored="false". For example: <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>

Google App Engine For Java: An Introduction

08 Apr 2009
A couple of days ago, Google announced that Java was now available to run on Google App Engine (GAE for short). Currently, they are only letting the first 10,000 developers who sign up...

Amazon Announces Elastic MapReduce

02 Apr 2009
Amazon has announced Elastic MapReduce, the latest product under it’s web services umbrella starting at $0.10 per hour. This latest offering leverages two of it’s existing products EC2 (cloud computing) and S3 (simple...

Top 10 Tools and Productivity Tips for the Solo Developer

01 Apr 2009
As a solo developer myself I’ve come to use these tools and techniques to help save me time and be more efficient. I prefer tools which are both cheap and simple so the...

Solution to SIOCADDRT no such process on Ubuntu

22 Mar 2009
While configuring some Ubuntu servers to have a static IP address recently, I came across this error when I attempted to restart the network interfaces: SIOCADDRT: no such process I realized that I...

Installing ImageMagick from Source on Ubuntu 8.04

18 Mar 2009
Here’s a quick and dirty on installing the latest (version 6.5.0-0 as of this writing) ImageMagick on Ubuntu 8.04. Start by removing any old versions previously installed via apt-get: sudo apt-get remove imagemagick...

Restricting Access to Tomcat via IP Address or Hostname

05 Nov 2008
To restrict access to a standalone Tomcat instance by IP address: <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow=""/> The above will restrict access to the surrounding Engine, Host, or Context element in TOMCAT_HOME/conf/server.xml. You may also specify...

Excellent Interview: Jason Fried of 37Signals

14 Oct 2008
Timothy O’Brien of O’Reilly sat down with Jason Fried, a “managing member” of 37 Signals and asked a lot of great questions about the philosophy of running a small tech company. Much of...

XCode: can't exec '/Developer/Library/Xcode/.../copystrings'

04 Oct 2008
While trying for the first time to build a very simple Cocoa project using XCode 3.1, I ran into the following error: can't exec '/Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/Contents/Resources/copystrings' (No such file or directory) At first glance,...

iPhone Development with Ruby

04 Oct 2008
I’m a Java and Ruby developer and I’m interested in starting development on an idea I have which would work great as an iPhone application. Naturally, instead of learning Objective-C I started doing...

Ruby 2.0 Plug-in Available for JetBrains IDEA IDE

24 Sep 2008
As of earlier today, JetBrains made version 2.0 of the Ruby plug-in available for IntelliJ IDEA, a popular Java IDE. For those like myself that dabble in Java and Ruby this is a...

Top 5 Advantages of Driving Slower

07 Sep 2008
Although the price of fuel has gone back down in the United States after peaking earlier this summer, the momentum behind striving for better fuel efficiency continues to grow. No doubt, a lot...

Google Chrome: Another Browser Added to the Mix

01 Sep 2008
Earlier today it was leaked and later confirmed that Google is releasing it’s own browser called Google Chrome. The news has spread like a wild fire today and the source of most of...

Open Source Project Hosting and Management

29 Aug 2008
Some suggestions for open source hosting and project management sites and software: [CodePlex]( (Microsoft) []( [GForge]( [GitHub]( [Gitorious]( [Google Code]( [Launchpad]( []( [RubyForge]( [Sourceforge]( [Unfuddle](

Amazon EC2 vs SoftLayer vs Slicehost

29 Aug 2008
A while back I did a bit of research on how much it would cost to run a modest application on each of the following services: [Amazon EC2]( - elastic compute cloud, provides...

Ruby One-Liner: Download from FTP server through a proxy

21 Aug 2008
If you need to download a file or view an http page source through a proxy, something like the following one-liner will help: require 'open-uri' open("","wb").write(open("ftp://username:password@host:port/", :proxy=>"http://proxyhost:proxyport").read)

SQL*Loader-704 Error

20 Aug 2008
While using Oracle’s SQL Loader utility the other day, I ran into a subtlety which wasn’t obvious. Most of the documentation out there describes the userid param as just taking user/pass. But it...

Amazon Web Services Experiencing Outages

20 Jul 2008
My development on a photo sharing site has ground to a halt in the wake of an outage that’s lasted since this morning. Amazon S3 and Simple Queue Service are affected according to...

The Slip Does Not Disappoint

07 Jul 2008
The newest album from Nine Inch Nails, “The Slip”, is a fresh downward spiral into the musical mind of Trent Reznor. This album continues a great new trend since Trent has freed himself...

How to Determine if a Linux machine has a 32 bit or 64 bit kernel

23 Jun 2008
Based on the output from the following command you can easily determine if a Linux machine has 32 bit or 64 bit kernel: uname -a If you see something like x86_64, then your...

Stupid Windows Tricks from the command line

13 Jun 2008
Change the Log on credentials for a windows service: sc.exe config "YourServiceName" obj= "yourusername" password= "yourpassword" Bring up services: services.msc Copy a directory structure: xcopy G:\foo\*.* D:\bin\bar /E /D /Y Copy a directory...

Silent Install of JDK and JRE

13 Jun 2008
This week I had a requirement for scripting the installation of the Java 5 JDK and JRE. These instructions require separate install files for the JDK and JRE but will get the job...

How to migrate a Subversion repository in 4 steps

10 Jun 2008
On the old server: svnadmin dump /path/to/repository > repo_name.svn_dump On the new server: svnadmin create /path/to/repository move repo_name.svn_dump to your new server svnadmin load /path/to/repository < repo_name.svn_dump

Take the Red Pill: Share As Much Information As You Can

07 Mar 2008
Marissa Mayer gives some insight into how Google flourishes with innovation in a Forbes article. Number five caught my eye: 5. SHARE AS MUCH INFORMATION AS YOU CAN "People are blown away by...

Remove .svn Or Any Other Hidden Folders in OS X

07 Mar 2008
Finder in OS X seems to be retarded at finding hidden files and folders. In my case, I wanted to recursively remove all .svn folders from a directory. To do this, it’s command...

Ghosts I-IV: New 36 Track Nine Inch Nails Album!

07 Mar 2008
I’m totally stoked that NIN has another album out called Ghosts I-IV. Don’t worry. Even though it has 36 (count ‘em!), it’s only five bucks available from or amazon. I haven’t actually...

Paul Graham's Design Philosophy

16 Feb 2008
I read Paul Graham off and on and find most of what he writes about interesting even if I don’t agree with all of what he has to say. His latest essay, “Six...

Da Vinci Machine: Bringing More Languages to the JVM

06 Feb 2008
Sun has launched a project called the Da Vinci Machine, also being described “a multi-language renaissance for the Java Virtual Machine architecture.” The project includes prototype JVM extensions to run non-Java lanugages on...

gem install rjb on mac os x leopard

02 Feb 2008
If you’ve tried installing the rjb 1.1.x gem on Mac OS X Leopard, you will probably end up with an error like: lipo: can't open input file: /var/tmp//ccpyNy8b.out (No such file or directory)...

Tomcat and Log4J

19 Jan 2008
After battling with several different configurations when it comes to logging and Tomcat 5.5.x, I decided to put together this guide for a simplistic approach. This assumes that you would like to use...

Sun Microsystems Acquires MySQL, Worlds Most Popular Open Source Database

17 Jan 2008
The hits keep on coming with technology acquisitions lately. First Oracle snatches BEA and now this. This was a bit of a shocker considering MySQL was talking about an IPO. Then bam, Sun...

Oracle Acquires BEA

17 Jan 2008
In a press release yesterday: Oracle Corporation (NASDAQ: ORCL) and BEA Systems (NASDAQ: BEAS) announced today they have entered into a definitive agreement under which Oracle will acquire all outstanding shares of BEA...

Eliminate Customer Service and Still be Successful

13 Jan 2008
There’s an interesting article in the NY Times about the and Craigslist sites. The article explains that the sites have little or no customer service functions because they’re either automated (no humans...

What Companies Can Learn from Software

12 Jan 2008
There are parallels between the organization and operational philosophies of companies and what is considered “good” software design. Attributes that immediately come to mind about good software design that can be applied to...

Ruby Technorati API Client

09 Dec 2007
So as part of a pet project I decided to write a Ruby client for the Technorati API. There are several available requests that can be made and each has it’s own options...

2008 BMW M3

09 Dec 2007
I don’t have many vices…but the BMW M3 is one of them. I owned a 2004 M3 but the new “upgraded” version has me salivating. Edit (9/6/2020): The original video is no longer...

Updating Ruby Gems in Leopard

05 Dec 2007
This may be old news but I think little tidbits like this are important to document. If you’re running Ruby on Leopard (Mac OS) and you’re running into issues with your gems, try... Best Way to Find Music You Like

05 Dec 2007
During those long sessions of coding music plays a crucial role in keeping the momentum going for me. With all that music I listen to I’m always on the lookout for new and...

MySQL Gem on Leopard

05 Dec 2007
If you’re running the Leopard Mac OS, you’ll need the following command to properly install the MySQL gem: sudo env ARCHFLAGS="-arch i386" gem install mysql -- \ --with-mysql-config=/usr/local/mysql/bin/mysql_config This page also has some...

ActiveRecord Gem Gotchya

05 Dec 2007
There is a gotchya related to how you require ActiveRecord. Apparently, in older versions of Ruby (eg. the version packaged with Leopard) something like the following will NOT work: require 'activerecord' with something...

BugLabs: Open Source Modular Electronics

01 Dec 2007
I’ve read some blog posts and saw some video about BugLabs recently and I’m really blown away. Imagine being able to do your own hardware mashups. Well now you can via an open...

Top 20 Ways to Solve a Problem

28 Nov 2007
**Divide and conquer**: break down large, complex problem into smaller, solvable problems **Hill-climbing strategy**, (or - rephrased - gradient descent/ascent, difference reduction) - attempting at every step to move closer to the goal...

Leopard 10.5.1 Update Wacks Administrator User Account

15 Nov 2007
So I just finished updating OS X Leopard to 10.5.1 and found my default user account, which was an administrator, is now a standard user. After some Googling, I found a solution on...

Oracle Mix: First Public JRuby on Rails is Launched

14 Nov 2007
Oracle Mix is a joint effort between the folks at Thoughtworks and Oracle to provide a community for Oracle clients to exchange ideas and network with each other and Oracle.

How to Install Ruby on Rails 2.0

10 Nov 2007
If you want to start playing with the latest features of Ruby on Rails (2.0 due out very soon), you can install from source with something like the following: sudo gem install rails...

Uninstalling nginx via apt-get: Stopping nginx: invoke-rc.d: initscript nginx, action "stop" failed.

07 Nov 2007
If you get something like the following error: Removing nginx ... Stopping nginx: nginx. Stopping nginx: invoke-rc.d: initscript nginx, action "stop" failed. dpkg: error processing nginx (--remove): subprocess pre-removal script returned error exit...

Installing Ruby on Rails on Ubuntu ERROR: While executing gem ...

07 Nov 2007
If you run into this error: ERROR: While executing gem ... (Gem::GemNotFoundException) Could not find rails (< 0) in any repository while running the command: sudo gem install rails --include-dependencies just run the...

Installing Mongrel on Ubuntu ERROR: While executing gem ... (OpenURI::HTTPError)

07 Nov 2007
If you get the following error: ERROR: While executing gem ... (OpenURI::HTTPError) 404 Not Found when running the following: sudo gem install mongrel Then run it again. Sometimes it takes running the command...

JRuby 1.1 Beta Faster than MRI

05 Nov 2007
Exciting news for those of you that are following the break-neck pace of JRuby. Thomas Enebo has announced that the JRuby 1.1 beta (released this past weekend) is faster than the original implementation....

The Ideal Job Description

27 Oct 2007
37Signals just posted a description for adding another person to their team. Why can’t more job descriptions (and more importantly more jobs) be like this one? “37signals is searching for another full-time Rails...

Gym Jones: Physical and Mental Discipline Defined

22 Sep 2007
I recently read a post about a gym called Gym Jones. What caught my interest is that I recently saw the movie “300”, in which the Spartans had near perfect human physiques. I’ve...

CodeGear Releases Feature Rich Ruby and RoR Editor

17 Sep 2007
I have to say I’m impressed unimpressed with this new eclipse-based IDE, 3rdRail, from CodeGear. Update: As I've actually started to use the editor I've encountered several exceptions that seem to be related...

Google, Ganeti and Paravirtualization

03 Sep 2007
Google recently announced the first beta release of Ganeti, an open source virtual server management software built on top of Xen and other open source software. Naturally, since I’ve been using VMWare for...

Rabbit in the Moon: Decade

02 Sep 2007
I don’t generally write about music but I think this will be the first of more mini reviews to come. I’ve listened to techno music pretty much since I moved to Orlando. At...

JetBrains Announces JRuby Support for Ruby Plugin

26 Aug 2007
Oleg Shpynov, the lead for the IntelliJ IDEA Ruby plugin, announced JRuby support will be available as part of a public beta version due out in early September. New Features will include: Scope...

Making the Case For Externalizing Application Configurations

20 Aug 2007
Background What do I mean by externalizing? I really mean addressing separation of concerns and making an application more portable. If you think about it, a configuration is a module that other modules...

Apache HTTPD: Address already in use: make_sock: could not bind to address

18 Aug 2007
During my latest Apache configuration change I ran into an issue where I wasn’t able to restart/start. This was the first time I encountered this and I was fairly positive the issue wasn’t...

20 Tips for Using Tomcat in Production

18 Aug 2007
I’ve been working with Apache Tomcat for years and always seem to stumble upon new information related to the proper setup and configuration for a production environment. I’ve decided to put the instructions...

How to Find Out Exactly What Your Shoe Size Is

15 Aug 2007
OK, so this is a slightly off the path most traveled but still technical nonetheless. It’s time for me to purchase another pair of running shoes and it occurred to me that I...

Connecting to Oracle from Rails

01 Aug 2007
Since there are several variations of docs on this (some of which are out of date) I figured I’d document this. Download and install the Ruby interface from Then, in your config/database.yml...

Installing Oracle Instant Client on Mac OS X

26 Jul 2007
Getting right down to business… Download the Instant Client Packages (4 files) Unzip the files into instantclient10_1 unzip unzip unzip unzip Create two symbolic links for the files that...

JRuby: Calling Ruby's ActiveRecord from Java Using the Bean Scripting Framework

25 Jul 2007
Here we need to use the Bean Scripting Framework (BSF) since Java 5 doesn’t have the built-in scripting support that Java 6 has. I will also use 2 helper classes ( and

JRuby: Deploying a Rails Application on Tomcat

24 Jul 2007
This is a brief tutorial on how to get a simple Ruby on Rails application up and running on Tomcat. What you will need [subversion]( client [Java 5 JDK]( [Tomcat 5.5.x](http:// [JRuby 1.0](

JRuby: An Introduction and Install Guide

23 Jul 2007
What is JRuby? [JRuby]( is simply a Java implementation of the [Ruby programming language]( Why Should I Use JRuby? Leverage both Java and Ruby libraries (gems) Use existing Java platform to deploy Ruby...

Best of Both Worlds: Java, Spring and Ruby Using JRuby

17 Jul 2007
I’ve started putting together some resources related to JRuby</a> and the Spring framework</a>. There is a lot of interest in being able to write a Rails application and deploy it to an existing...

OFX: Open Financial Exchange

06 Jun 2007
My latest interest is looking at an API called OFX or Open Financial Exchange. OFX exists to allow clients to connect directly to financial institutions and download transactions. An example is downloading the...

Learning from Poor Development Environments and Processes

16 May 2007
I’ve decided to put together a post of bad development environment practices that I’ve witnessed in companies I’ve worked for. For each bad practice there’s usually an easy fix to although the hard...

svn: Not authorized to open root of edit operation

25 Apr 2007
So this was a new one for me. After I successfully imported a couple projects on a Windows XP subversion repository I received the error: svn: Not authorized to open root of edit...

Helpful Guides for Bash Scripting

20 Mar 2007
Once in a while I create bash scripts to do various things on a Linux box. I’m by no means a bash scripting guru so I rely on various references: [An in-depth exploration...

House of Cards

21 Feb 2007
Being a software developer, it’s easy to recognize the importance of having a great environment to work in. Most of the time I spend tends to be 80% or more on thought and...

3 Ways to Run a Servlet Container on Port 80 as Non-Root

17 Feb 2007
This is a very brief outline of how to run the Apache Tomcat servlet container on port 80 (the standard web server port) on a Linux operating system. The steps illustrated here are...

Performance Tuning Best Practices for MySQL

07 Feb 2007
For those of you using MySQL, I just found this great Google Tech Ed video on Performance Tuning Best Practices for MySQL from the co-author of the book Pro MySQL (Expert’s Voice in...

Ubuntu Crazy

31 Jan 2007
Several excellent resources for people crazy over Ubuntu: UbuntuHQ ArsGeek (Ubuntu Category) The Perfect Setup - Ubuntu 6.10 Server (Edgy Eft) Install Subversion 1.4 in Dapper with SSL and Berkeley DB Support Ubuntu...

Conky: A Sexy System Monitor

31 Jan 2007
The name may not be sexy but I just found this really cool system monitor app called Conky. To install on Ubuntu: sudo apt-get install conky on Ubuntu

28 Jan 2007
If you get an error like this one on Ubuntu, error while loading shared libraries: cannot open shared object file: No such file or directory it means the library isn't available and... Front Page Causes Pegged CPU Spike

28 Jan 2007
I went to today to check out the newest features and noticed when I navigated there my system slowed to a crawl. I quickly realized it was the site! You can...

Ruby Arrives in IntelliJ IDEA

27 Jan 2007
I’ve just start fooling around with the initial (0.1) release of the Ruby plugin for JetBrains’s IntelliJ IDEA IDE. I’m pretty impressed with the initial release since it has some code completion and...

Installing Rails and Mongrel on Ubuntu

27 Jan 2007
So you have ruby installed and now you want to start putting together some web applications. There are several options when it comes to what web server you actually run your app on....

How to Make an ISO Image Using DD

26 Jan 2007
The basic syntax for dd is: dd if=INPUT-FILE-NAME of=OUTPUT-FILE-NAME To make an ISO from your CD/DVD, place the media in your drive but do not mount it. If it automounts, unmount it. dd...

Compiling Ruby on Ubuntu 6.10 (Edgy) How-to

23 Jan 2007
Here’s a quick and dirty guide for compiling the latest recommended version of Ruby from source on Ubuntu 6.10: Download ruby-1.8.5-p12.tar.gz and unzip the contents to a temporary directory I’ll call INSTALL_DIR. Make...

From Java to Ruby Journal Part 1: Introduction and the Decision

21 Jan 2007
Introduction This is the first post of many to come documenting my progress of porting an existing e-commerce web application from Java to Ruby on Rails. Background on the Java Application The Java...

The Uber Java Web Application Directory Structure

16 Jan 2007
As an exercise using a great new open source (free as in beer) tool I discovered called FreeMind, I put together this quick outline of my standard directory structure for Java web applications....

Decreasing Your Development Time with Tomcat

14 Jan 2007
It seems like I always forget the magic combination for being able to get away with not reloading Tomcat for each class change/compilation. If for nothing else than to document it for myself...

Futurism 2.0

01 Jan 2007
In my research to find an interesting niche market for my next project, I began reading about Modernist, avant-gard, and Futurist movements. What I read pertained mostly to music, architecture and art. As...

Google Video: Sergey Brin Lectures at UC Berkeley

29 Sep 2006
In this video, Sergey attempts to talk about “Search, Google, and Life”. The video is one of several UC Berkeley classroom lectures made available to the public through it’s dedicated page on Google...

Top 5 Distributed Build Servers

28 Sep 2006
There seems to be a new push in the build server space to move to a distributed model. Here’s a quick run down of some server choices and why they should be a...

How to Find The Top Keywords For Your Story Titles Using

28 Sep 2006
Using nothing more than’s search feature you can research the best keywords to use your next story title. Today, I decided to put together some rudimentary statistics on some keywords to find...

French Press How-to: Making Coffee the Old Skool Way

10 Sep 2006
If you just want a strong cup of coffee and you don’t feel like cleaning your drip coffee maker or firing up your espresso machine here’s a quick how-to. I know what you’re...

NYT Article: I.B.M. to Build Supercomputer Powered by Video Game Chips

07 Sep 2006
John Markoff of the New York Times writes: “The Department of Energy said Wednesday that it had awarded I.B.M. a contract to build a supercomputer capable of 1,000 trillion calculations a second, using...

Joel Spolsky: Field Guide to Developers

07 Sep 2006
Joel Spolsky has just written a great post about what top developers want from an employer. Joel goes through several topics that make for a more efficient and symbiotic relationship.</p>

JetBrains Launches IntelliJ IDEAL Plugin Contest

04 Sep 2006
</a> While the promising new build server and version 6 of their [IntelliJ IDEA IDE]( is in beta, the folks over at [JetBrains]( have decided to launch a [new contest]( with total prizes...

Microsoft's not so Agile Development Strategy

03 Sep 2006
In this NY Times article by John Markoff, the frantic cry from Microsoft to over a million beta testers to give the new Vista operating system “an urgent shakedown” is evident and quite...

Side-by-Side Comparison of Spring and EJB 3.0

01 Sep 2006
Rod Coffin over at has just published an article which is focused on helping you choose between Spring and EJB 3.0. I didn’t know that decision was necessarily mutually exclusive and the...

Top 10 Ubuntu Tweaks

25 Aug 2006
I just happened to come across this most excellent top 10 apps/hacks for the Ubuntu linux distro from LifeHacker. Check it out…Hack Attack: Top 10 Ubuntu apps and tweaks

Google Tech Talks

23 Aug 2006
Recently, one of my favorite ways of goofing off is to watch recent posted videos of Google Tech Talks. These are interesting technical topics that sometimes give an interesting perspective of Google’s technology...

JetBrains IntelliJ IDEA 6.0 and TeamCity

13 Jul 2006
Excellent news. JetBrains announced today that they will be giving away their new continuous integration server with the next release of IntelliJ IDEA. I’ve been playing with the recent EAP releases of both...

Google Apps for Linux Please

18 May 2006
I’m a huge fan of Google because it helps me in so many ways and the fact that they continue to churn out FREE applications and API’s for almost anyone to use. I’ve...

Ruby for serious work

10 May 2006
Ruby for serious work… Is what Martin Fowler has to say regarding Ruby. Personally, I’ve had Ruby on my “cool languages to check out” list for some time but haven’t set aside that...

Tech Job Hunting

08 May 2006
It’s been over two weeks now since I’ve started my latest job hunt. I call it a hunt because the truly ideal jobs are hard to find. There are those jobs that pay...

Configuring IntelliJ IDEA VM options

21 Apr 2006
For those of you (like me) that have been using IntelliJ IDEA religiously for years, this brief but helpful explaination of the VM options is a nice treat. Among the tips are options...

Eric Sink on the Business of Software

17 Apr 2006
Eric Sink on the Business of Software I’m half way through this easy to read and sometimes comical book for entrepreneurial souls like myself. I highly recommend this to anyone considering starting their...

StringTemplate vs. Velocity vs. Freemarker

05 Apr 2006
I have recently been introduced to StringTemplate, *"...a java template engine (with ports for C# and Python) for generating source code, web pages, emails, or any other formatted text output."* Having used Velocity...

Hackers and Painters

05 Apr 2006
I have recently been very inspired and intrigued by Paul Graham’s book Hackers and Painters. Several essays including How to Start a Startup and How to Make Wealth give great insight and advice...