Hi, I'm Andrew.

I build AI agents that remember and learn. Principal AI Engineer at Redis, author, and open source maintainer.

Sound Problems with Ubuntu

Sound Problems with Ubuntu

The other day, I stopped hearing any sound effects on my Toshiba Satellite wo...

No NIC on a Windows 7 VMWare image

No NIC on a Windows 7 VMWare image

Today I ran into trouble configuring a Windows 7 guest on a Linux host: Windo...

Deploying Fat Free CRM to Heroku

Deploying Fat Free CRM to Heroku

</p> I just finished deploying a Fat Free CRM install with all the und...

How to Extract Craigslist Locations with Nokogiri

How to Extract Craigslist Locations with Nokogiri

Solace is a web app I created to search multiple Craigslist locations for the...

Coastal Bookstores

Coastal Bookstores

Kim and I are heading to Coos Bay this week to celebrate Thanksgiving with th...

Reading Murakami Five Years Later

Reading Murakami Five Years Later

Kim and I have been reading The Wind-up Bird Chronice, one of Haruki...

CiviCRM Views 2 integration with a remote CiviCRM database

CiviCRM Views 2 integration with a remote CiviCRM database

Note: This is an outdated, unmaintained, archived post. Proceed with caution....

Linux: Remove all empty files from a directory

Linux: Remove all empty files from a directory

One-liner to remove all empty files from a directory: ls -s | grep -e '^ 0' ...

Problems and Solutions to Problems: Views 2, CiviCRM, and Drupal 6

Problems and Solutions to Problems: Views 2, CiviCRM, and Drupal 6

The following is a quick run-down of problems you might run into using Views ...