December 2011
1 post
Setting yourself up to achieve New Year's...
It’s that time of year again — the time to trick yourself into setting a new year’s resolution that you already know you have a good chance of not seeing through. And let’s face it: it’s probably a hard resolution for you to achieve.  If not, you wouldn’t be selecting it for a new year’s resolution. While it’s entirely true that you don’t have...
Dec 31st
November 2011
1 post
Testing Bulk Mailers in Rails
Building large email systems is a little different than other systems because the #1 priority is that you don’t accidentally send out emails. At the same time, you still need to profile and test it like you would any large scale system to look for flaws or bottlenecks. It’s very helpful to build in hooks to override certain aspects of delivering a campaign. Let’s start with a...
Nov 7th
October 2011
1 post
1 tag
Hitting the ground running: A Python programmer...
About 6 months ago, I moved from Pythonland to the “magic” of Rails land. I use quotes because I think Rails is “magic” in both good and bad ways. The last 6 months have been a bit of a programotional rollercoaster. I was neutral in the beginning until I discovered 1.month.ago. It was beautiful. The elegance of the Rails way over the Pythonic way was all I talked about for weeks. But then I got...
Oct 12th
27 notes
May 2011
1 post
Experimenting with Github to increase personal...
Lately I’ve realized how much more time I’ve been spending in a shell lately — for quick, one off “solutions” (like transforming a text based file, a quick report, etc) there’s really nothing that beats it. I run across a lot of one-offs that seem re-usable, but apart from sometimes throwing them into a ‘notes.txt’ file, I lose them. My solution to...
May 11th
March 2011
1 post
MRPostfixBounce
Email bounce processing sucks. I realized that after I had to deal with it, but after talking to two different companies in the same week that were having gripes, I realized that everyone hated it. There a few popular ways to handle bounced emails: Using IMAP to retrieve all emails that have gone to no-reply@example.com. This is the easiest way and is robust in the sense that any email that...
Mar 6th
1 note
November 2010
1 post
Using matplotlib to investigate an SMTP slowdown
At work, I’m on the team that ensures emails get sent out on time. Most of the time our email traffic is quite low, but we’ve got a few mass newsletters that go to many, many more recipients (our sending rate jumps about 3 orders of magnitude during these times). We log timing info every 100 messages and recently noticed that the overall sending throughput across our sending processes...
Nov 8th
August 2010
1 post
Half-assed job requirements yield half-assed...
I get a fair number of head hunters emailing me about “Exciting New Opportunities!” but today’s was so wonderfully generic that I thought I should share it, with the addition of my own comments: Experience in an object oriented language such as Java, C#, or C++ > … because that filters out so many people who have never touched at least ONE of those. Understanding of...
Aug 11th
9 notes
July 2010
1 post
How I Learned to Stop Worrying and Love SSH
Before there were VPNs, there was ssh. And when you don’t have access to your VPN or can’t set one up, you can still get most of the functionality over ssh. Quick and dirty HTTP tunneling This is useful if you need to hit an internal server through a proxy server: ssh -f -N -L 31609:hostireallywanttogetto.com:80 proxyhost.com and then load http://localhost:31609 in your browser and...
Jul 21st
26 notes
March 2010
1 post
Timelapse Photography with your spare Ubuntu Box...
I recently decided to give timelapse photography another go, after being disappointed with the results about 2 years ago. First, a proof of concept: using the standard Canon EOS utility, my work Macbook, and a Rebel XTi, I was able to take 100 pictures, 60 seconds apart automatically. The utility works great for that. But I didn’t have a Macbook to spare AND I wanted to do it remotely...
Mar 18th
11 notes
January 2010
1 post
3 tags
Completion audio alerts for long running, remote...
I do most of my development remotely, and sometimes I have long running commands (creating a branch, running make, long running DB query, etc). Usually, this is when I check email, Hacker News, or some other bright and shiny thing. The command almost certainly finishes before I finish my distraction, and as a result I waste a lot of time. The solution: an audio alert! Make sure your laptop has an...
Jan 22nd
7 notes
July 2009
1 post
Jul 27th
7 notes
June 2009
1 post
The problem with peer-to-peer swapping sites
Like many people I know, I’ve got a bunch of junk that I don’t need. Stuff that doesn’t seem worth the hassle of putting on eBay or Craigslist piecemeal. All of the books I had put on Half.com didn’t sell — it turns out that other people didn’t want them either. These are books like “Business at the Speed of Thought” that I bought at a dollar store...
Jun 25th
April 2009
1 post
What I Wish I Had Known About Developing C/C++...
After doing Java/PHP development from Eclipse in Windows or an X11 environment for almost my entire programming career, I found myself in a job where I basically had to switch to the command line for C/C++ development on a large project. One year and some off months later, I’ve taken for granted what I’ve picked up and feel like I should pass on my knowledge to people who might just be...
Apr 21st
17 notes
March 2009
1 post
4 tags
Using Google Voice to Extend T-Mobile MyFaves
I switched to T-Mobile last fall when I switched to the G1, and have found their MyFaves feature really useful. For those of you who don’t know about it, MyFaves are five phone numbers that you link to your account and get unlimited talk time to. This is GREAT. It turns out I talk to my two most frequently called numbers more than any of my other numbers combined. However, the 866 conference...
Mar 26th
4 notes
February 2009
2 posts
1 tag
The Little S3 Backup Script That Could
After having an external enclosure fail (grrr LaCie!) and realizing that all of my backup data was spread over about 6 hard drives, I decided to check out Amazon’s Simple Storage Service (S3) to back up all of my important files to one central location. A friend recommended Jungle Disk because it was “free”, but since it wasn’t, I decided to play with it on my own. Given my...
Feb 25th
2 tags
Twitter Bowl 2009: A Ten Day Experiment in Gonzo...
Twitter Bowl is a Twitter mash-up that Adam Bossy (@abossy) and I (@derwiki) created in ten days for the Super Bowl. I’d like to share with you our experience and the lessons that we learned. Day 1: Initial Conception and Working Prototype This was the easy part. Coming up with the idea was inspired by a co-workers presentation about mash-ups, and a baseball mash-up he made. I had used...
Feb 3rd
January 2009
2 posts
1 tag
Learning How To Snowboard, In Engineer-Speak
This is going to be a slight departure from what I normally write about. This past winter, I’ve been learning how to snowboard and it’s been fantastic! One of the new loves of my life, right up their with programming, fireworks, and Dark Side of the Moon. I was fortunate enough to have engineers teach me how to snowboard. That sounds silly, but some things are better expressed in...
Jan 29th
1 tag
Using sed to remove deprecated function calls
I am super lazy. As a programmer, this is a good thing. For a project that I work on, I was recently given a code maintenance task of cleaning up assert statements. ASSERT_S_#_MED had been deprecated in favor of just ASSERT_S_# (where # is the number of informational parameters for logging purposes). The caveats are that I don’t know how many files have the deprecated call, and I...
Jan 6th
4 notes
November 2008
1 post
2 tags
Inspiring a New Generation of Engineers
I used to have an old Motorola e810, a standard non-smart phone with a camera, circa 2005. Being the cheap bastard that I am, this phone doubled as my alarm clock, boasting multiple different alarms. I stumbled across an interesting quirk: you couldn’t set more than one alarm for a time; that is, if you had an alarm for 6:00pm that said “Laundry,” you couldn’t have one for...
Nov 20th
8 notes
October 2008
2 posts
1 tag
Why I Program
On the bus this morning, I read part of “The World is Flat” that deals with left-brain versus right-brain activities; to Friedman, jobs that can be replaced by technology and outsourcing (left-brain) and those that require an element of creativity (right-brain). Friedman made a statement: “This weekend there will be accountants painting watercolors in their garages. There will be...
Oct 22nd
4 tags
Asynchronous PHP Gotchas
As part of a PixCede re-write (read: correcting damage from a rabbit I chased to far down a hole — more on that in another post), I decided to modularize the scripts for handling new messages. Previously, procmail was sending the email to a single PHP script that handled extracting attachments, storing the image, and sending the confirmation message. As the script started to get unwieldy, I...
Oct 19th
September 2008
3 posts
3 tags
Finally, someone made it dirt easy to transfer...
Normally, I don’t care about Facebook albums. Flickr has many more features, handles it better, and has a more photo-centric community around it. Unfortunately, I’m vain, and want as many people to look at my pictures as possible. I’ve played with a handful of Facebook applications that “integrate” Flickr into Facebook, but I’ve never found one that made the...
Sep 29th
4 tags
Mango Lassi: Better than Synergy
About 3 years ago, my friend Lann showed me this sweet, cross platform program called Synergy that lets you share one computer’s mouse and keyboard among multiple computer/screens. Why was this cool? This meant that with my laptop, sitting on my futon I could control my TV computer. Yea, I’m that lazy. As the years go on, I find myself getting lazier. Now that I have an apartment, the...
Sep 27th
4 tags
Quick DB2 Express-C 9.5 Update
A while pack, I started a post series about getting Drupal to work with DB2 Express-C 9.5 under Ubuntu. Unfortunately, right after jumping into this project, I updated my laptop from Ubuntu Gutsy Gibbon (7.10) to Hardy Heron (8.04). During this process, DB2 completely broke itself. Not only did it break itself, it broke itself in such a way that it couldn’t even be un-installed through...
Sep 22nd
August 2008
2 posts
5 tags
PixCede gets shorter file identifiers
My initial filenaming convention for PixCede was pure rubbish. It all started with the best of intentions. After reading about the development of Pastebin and why the database got scrapped, I was inspired to make PixCede rely on the filesystem and not the database. I did, however, need to keep the timestamp so I could sort the images by the order in which they arrived. So my initial naming...
Aug 19th
1 tag
Adam's Hang Gliding Adventure: Cooler Than What...
As I was going through some envelopes last week, I found two $100 checks that I wasn’t counting on. The “Rules of Surprise Money” were very clear on the next step: I had to buy something I didn’t need that was awesome, or do something I didn’t need to do that would be awesome. I’ve got enough junk, so I decided to go with the latter. Browsing through Meetup.com,...
Aug 4th
July 2008
3 posts
1 tag
PixCede: Thoughts on how to proceed
I haven’t done any “real” work on PixCede since late last week, but I’ve done a lot of thinking about it — which is probably a lot better than implementing without thinking. I’ve also been using it myself more than I thought I would be, which is really exciting. I’ve told a couple of my friends and collected some feedback, but Zach is the only one who...
Jul 8th
7 notes
1 tag
PixCede: First working version!
It now seems that PixCede is “working enough” to justify putting up that blog I’ve been avoiding. Thanks to Simple PHP Blog, I was able to get one up really quick without having to install database software. After fighting with the mailparse extension for PHP, I decided to switch to the PEAR mimeDecode module. From what I understand, it will run a little slower than the...
Jul 4th
7 notes
1 tag
Introducing PixCede
PixCede is an idea I came up with on the bus into work one day. I’ve been doing some development on it in my free time, and finally put up a working “proof of concept” last week. There’s a development blog on the site, but I’ve decided to mirror PixCede posts on this blog. (ripped from my about page) What is PixCede? Take a picture with your cell phone camera, send it...
Jul 1st
3 notes
May 2008
3 posts
2 tags
BASH Scripting: Inserting text into a fixed...
Ever need to insert some test into the middle of a file? Turns out there’s a pretty simple way to do it! Assume you want to put the contents of “addition.txt” into “myfile.txt” at line 10: head -n 10 myfile.txt > output.txt cat addition.txt » output.txt tail -n +10 myfile.txt » output.txt mv output.txt myfile.txt Of course, 10 can be changed to...
May 22nd
3 notes
4 tags
Book Review: Here Comes Everybody
Recently appearing on the Colbert Report, Clay Shirky talked about his new book Here Comes Everybody. I thought it was a good interview and sounded like a good book, and then promptly forgot about it. Then I read an article I found on reddit: Gin, Television, and Social Surplus. It was easily the most insightful thing I’d read all day. Then I noticed the URL and decided to buy the book when...
May 19th
3 tags
CBAX 1: Gas Prices
At my girlfriend’s suggestion, I’m trying to make this observation into an XKCD: So yea, apparently, you can make comics that are drawn simpler than XKCD. Also, CBAX stands for “Could Be An XKCD”
May 9th
April 2008
3 posts
6 tags
Part 2: Drupal 6.2 and DB2 Express-C 9.5 on Ubuntu...
This is part 2 in my series on getting Drupal 6.2 and DB2 Express-C 9.5 to play nicely with each other. In the first part, I installed DB2 Express-C 9.5. In this part, I’ll look at getting Apache/PHP5 setup and DB2 working from within PHP. Step 1: Configuring DB2. There were some additional configuration steps needed for DB2, which are detailed on the developerWorks forum. There were some...
Apr 23rd
3 notes
4 tags
Part 1: Drupal 6.2 and DB2 Express-C 9.5 on Ubuntu...
Finally! It’s been far too long since I’ve had an interesting project to work on. With a couple of sites I might have to make in the foreseeable future, it’s time to investigate what I can do with stuff available today. There’s a couple of reasons I’ve hit upon Drupal 6.2 and DB2 Express-C 9.5: Silicon Valley Lab had it’s inaugural meeting of the SVL Linux...
Apr 23rd
2 tags
The Coshocton Cycle
Note: I wrote this in high school for the heck of it, and eventually transformed it into my college admission essay. It’s amazing they let me in ;-) The Coshocton Cycle I live in Small Town, USA. This particular small town is called Coshocton, Ohio. The Indians named the area “Land of the Black Bear,” but the bears are long gone. Our biggest store is a Walmart, and there is not...
Apr 1st
March 2008
5 posts
2 tags
The Best Way I've Seen to Fill Out PDF Forms
It always makes me cringe to have to fill out a PDF form for something. As technologically savvy as (I think) I am, I usually resort to filling it out with ink and sending it in. I know that Acrobat Professional will do it — the problem is, not every computer I use has it (work laptop) or can have it (to be fair, I haven’t investigated it for Ubuntu). But finally, I found a nice web...
Mar 31st
3 tags
Trying Out My New 28-105mm Lens
I decided to put my birthday present to good use today. Lia got me a Canon 28-105mm to supplement my 24-55mm lens, and I think it’s my new default lens. I know the 4mm on the wide end doesn’t sound like a whole lot, but it’s actually noticeable. But on the other end, wow. It’s ridiculously useful to be able to zoom in that far! See the rest of thePalo Alto...
Mar 31st
2 tags
One Finished Table!
Alright, enough was enough: it was time to finish the table. I had been holding off on finishing the top because the mouse sander just wasn’t cutting it. Luckily, Craigslist came to the rescue again; Saturday morning, I found a used Craftsmen Belt Sander for $40 in Walnut Creek. It turns out Walnut Creek is about 50 miles away from Palo Alto… but even considering gas and time, it was...
Mar 24th
1 tag
Adam Pretends to be Amish
Apart from the wicked beards and the gun racks on their bicycles, Amish are known for a 3rd thing: building really good furniture. So, if they can do it, why can’t I? First stop: Palo Alto Hardware store. I didn’t really expect them to have a wide selection of wood, but I figured they’d point me in the right direction. Next stop was Bauer Lumber down Camino Real; however, they...
Mar 10th
3 tags
Pictures from the Cruise in San Francisco
I just put my pictures on Flickr from the PureXML team outing to San Francisco. Started with 300+ pictures, whittled down to 69 `keepers`, and hopefully there’s 2 or 3 good ones. Follow the picture link to see the set.
Mar 4th
1 note
February 2008
2 posts
2 tags
What to do with that leftover Ramen?
If you’re like me, you ate Ramen in college because… well it just made sense: ridiculously cheap, easy to prepare, really filling, and didn’t taste half bad. And, if you’re like me, you’re trying to phase out Ramen because: you have a job now, you have your own kitchen now, you realized it didn’t taste that good, and you’re starting to worry that something...
Feb 28th
2 tags
Using Craigslist Effectively
Having just moved to the area (and not having furniture), I’ve been checking Craigslist fanatically for free furniture in the peninsula. If you’ve used Craigslist before, either buying or selling, you know that if you’re not the first responder, you’re probably shot— hence the OCD Craigslist checking. Since I’ve been working on a project to automatically...
Feb 15th
January 2008
12 posts
2 tags
Coolest program I've run across today
I spent part of the day reading Wireless Hacks in hopes of building a sweet antenna to score free wireless in Palo Alto (or at least for the BAMF factor). Before the antenna section, they had a list of some software that would be useful: Kismet, Wireshark, aircrack-ng, tcpdump… the standards. Then they showed Driftnet, a simple program that passively listens for traffic, scans for images...
Jan 29th
4 tags
Even if Geico can't save you money on car...
For personal reference, this is what I’ve learned over the last month in shopping for auto insurance: 1. If you’ve had violations, check your driving record so you know what you have to report. Personal Plans, a company partnered with IBM, told me I couldn’t get insurance through their two carriers since I wasn’t considered a California Good Driver — which mean,...
Jan 24th
2 tags
Palo Alto!
Google Street View Flickr Pictures We’re signing the lease this afternoon — I’m really excited!
Jan 23rd
5 tags
Pics from Pacific Coast Highway
This is the last load of road trip pictures, sorry it took so long to post them. I got lazy. The sets aren’t completely finalized — some pictures need some rotating and cropping, and there are some dupes for some reason. Anyway, I think a lot of the pics still turned out pretty stellar. Driving up PCH Monterey Bay Aquarium Next post: new apartment in Palo Alto!
Jan 23rd
3 tags
Lake Havasu to Bermuda Dunes
Lake Havasu was a short 200 mile drive to Bermuda Dunes, where Lia’s parents and little brother live. On the highway to I-10, a train track parallels the highway. The train tracks are elevated on little hills, and the entire way is graffitied with messages on the side of that hill written in rocks. As an added attraction, every time there’s a bridge over a dried up creek, there’s...
Jan 18th
4 tags
Grand Canyon National Park
After Carlsbad, we drove to Gallup on the New Mexico/Arizona border. As we pulled in, we realized it was a lot colder than we thought: there was snow on the ground. The guy at the front desk said it had been there a couple of weeks and it hadn’t thawed yet. We got to the Grand Canyon at about 2:00pm on the 16th. I decided to buy a season pass for the national parks, hoping that it will...
Jan 17th
4 tags
Route Recalculation...
17 Wednesday: To the grand canyon! Google map route. Spend rest of morning and day there until the sun goes down. Drive halfway to Palm Springs and camp 18 Thursday: drive to Palm Springs 19 Friday: Drive to San Diego (hour and a half) go to Tijuana 20 Saturday: Drive halfway up PCH 20 Sunday: Finish! Arrive in San Francisco! (early evening) 21 Monday: Lia flies back to Cleveland :(
Jan 16th
3 tags
Coolest cave pictures you'll see all day
Since we didn’t go out last night, we were able to get on the road by 9:30 this morning. The weather didn’t look to good, but after a couple of hours, we had out run the storm, and also entered New Mexico. We got to White’s City, the nearest city to Carlsbad Cavern, and bought tickets to the Cavern. Tickets are only $6/person! And this is in our country! If you’re in the...
Jan 16th