jmhobbs

Category : Geek

Last.fm

Projects!

Google Notebook

Lucid Groupware

Foxmarks Insecurities

OverLIB Modification

sed, perl, rename

VIM, Java, and School

Lucid Groupware (Again)

PHP Notepad

State of the Website Address

Hello world!

More WordPress Stuff

Last.fm Web Services

Javascript Rating Meter

Amarok 1.4.2

Javascript Rating Meter 2

easy.moo.js V 0.02

Facebook API's

Eclipse On A USB Stick

Programming Classes

Fluxbuntu

Firefox Plugins

Complexity Vs. Redundancy

Linux On The Desktop

PHP Virtual Machine, Version 0.01

Another Case Of Shortsighted Politicians

Chu Moy Amplifier

Linux And Western Digital

The Perfect Distribution

Look Ma, I'm In a Distro

USB Apps

Gregarius And Google Reader Update

DrumKit v0.01

Katamari Damacy

PHP States

Simple PHP Caching

Handling Forms With PHP

Playstation 2 Mod

Nokia 770

Nokia 770 Review

DrumKit V0.02 -> DK421 V0.02

Yahoo! Mail Beta

UploadyThing V0.01

Chu Moy Part Deux

SimpleBooks V0.01

Xgl / Compiz (Beryl)

Does this look exploited to you?

Songbird 0.2 And overLIB Configurations

Javascript Password Generator

PHP/Cron Based IP Tracker

Javascript Attention Grabber

Nokia 770

More Nokia Goodness

DK421 Hardware

More DK421 Hardware

Back To The Software

The First Pad

F-Spot

WLAN Router Monitor BASH Script

The Future Of DK421

Javascript Colorshifter

Wonderful Old Things

GIMP Combat

More GIMP Goodness

Holy Cow, Java Serial Goodness!

Passlet.com

The Old Internet

BlowPass Has Taken Over

Firefly MMO

Whats up?

Christmas Eve!

Happy New Years!

Dreamlinux

Pop Can Bookmarkers

Renaming Your 'The' Folders

Das BlinkenTechts!

Willis? CD

Further DK421 Development

Cleaning Up E-Books

New prototype.js Website

Linux Multiple File Search And Replace

Simple BBCode To HTML Function In PHP

"Extracting Data From Nasty HTML" or "How To Be Frickin Awesome"

WordPress: more_posts, old_posts, new_posts

A Great Moment In My Life

BlowPass V0.60 - A Major Revision

Whoa! OurUNO!

WordPress jh_random_cats()

Songbird 0.2

Amarok Just Gets Cooler

Sincerely, Mr. Fervently Hoping

Possibly The Best Spam Ever

Handy Beryl Trick For Web Developers

MediaWiki and OmahaWiki.org

Bitwise Operators And Blowfish

Facebook Spam

Peguin Swap

OurUNO & mod_rewrite

DigiPro Tablet And Linux

Fun with mootools

C++ Print Binary Function

XML, XSL Are Stinkin Powerfull

Debugging, BASE, Opera and XHR

pywikipedia Bot Multiple Image Upload

IE7 InnerHTML & <P>

TGFS

Replacing MySQL FULLTEXT With JavaScript

OurUNO is Our Reviews

Uncesored Downloads

On the hunt!

JavaScript Class Definitions

Dangit, dangit, dangit....

Disappointed In SimpleXML

Really, really, bad.

It's A Trap!

Noooooo.....kinda

I am a fool....

m4a2mp3

Gunslinger Girl

One less machine...

I love that feeling...

Really Cool Video

BlowPass Alpha Release

Geek Joke

Bash Line For Constant Monitoring

C++ String Strip Whitespace

Mangling An Applications Path

Warped Jane Austen Quote

GTK Tooltips On Notebook Tab Labels

Ever Notice...

Command Line Package Installation in OpenSuSE

Karamba Theme

Easy Makefiles

Cool Camera

My WordPress Was Broken

Recursive Word Count With Bash

VCReviews - A MediaWiki Extension

Nix Monitor V0.6

l337 h4X!!!1!

Fate/stay night

Nix 0.7 Released

About a month and a half...

HowTo's

Easy Crontab Header

Submitting Assignments In Blackboard With Linux

Linux Encrypted Laptop

VirtualBox Seamless Mode

Hall Of Shame

Playing with OpenCV

Class Photoshop Project

Screwy OpenCV Manipulations

libcvfx

Funny Flyer

any2mp3

More libcvfx: New effects and runs in Windows

The Mana World Buddy

Javascript Countdown Timer

Why I Love Kate

libvcvideo Working

CameraBooth Monitor

Trash, like safeRM but different...

KickTweet or Creating a KDE3 Panel Applet

SVN to Twitter

Gtkmm/Glibmm Thread Example

Better libcurl from C++

Move Subversion repository without svnadmin

Fun Holiday Message

Gmail Attachment Gets Stuck Scanning For Virus

Amarok REST API

Making DCOP work with Apache and PHP

ImageMagick Thumbnails and Contact Sheets

MySQL & Ruby on Debian (sidux)

Take Me Somewhere Rework

Data throughput with ExternalInterface

KolorTool For KDE 4

Disable Gnome Keyring for SVN

Great bash calculator

Automated Road and Pavement Condition Survey Vehicle

Hard subs with mencoder, or, annotating screencasts for free.

CSS Heart

Getting scripts and shortcuts to show in KDE4 Runner

ThirtyDayList.com

F@H Team Statistics Scraper

Extracting When You Visited A Page From Firefox

USB7 + pySerial

Trying out pygame, pretty cool.

2009 Is Over?!

CentOS 5.4 Net Install

Sending Arbitrary Arguments to a pyQt4 Slot

Wine Missing MFC420.DLL? Try winetricks.

Death Metal Rooster

F@h Init Script Additions: throttle & unthrottle

New Lifestream Site with Storytlr

Writing a Plugin for Storytlr

Clean Prism Install on Sidux

Patch for Psalm 14 to Psalm 53

I was featured on Github! Sort of.

Consume Less. Create More.

Territorial Seeds User Script

Clean Auth module usage in Kohana

Looking up words in a Dictionary using Python

Thursday Quote: Brian Malow

Thursday Quote: Rob Pike

Bin2Img: Data Visualization with PHP

Thursday Quote: Chris Parsons

Thursday Quote: Paul Graham

Thursday Quote: Ben Lynn

Google: We're Sorry

Thursday Quote: David Heinemeier Hansson

Thursday Quote: Danny O'Brien

Quick and Dirty Guide to ChanServ

Awesome C Program

LOL! Buttermilk!

Thursday Quote: Andrew Wulf

Thursday Quote: Reg Braithwaite

Konami Code - Unicorn Blitz

Thursday Quote: Jeff Foster

Thursday Quote: Justin

PHPainfree Test Drive

Use xmllint to Pretty Print API Output

Python UNIX Sockets

r = 1 - sin(θ)

Forking TACO 2.0

Thursday Quote: George Hotz

MongoDB + node.js On WebFaction

Thursday Quote: Harold Ableson

Auto-Generated Github User Page With py-github

Sugru To The Rescue!

Charting Weight Change With Google Visualizations

Streaming Tweets With Tweepy

Review: Skullcandy Lowrider Headphones

Thursday Quote: David Thornburg

More Lomo Photos

Review: Canon Pixma MX320

Thursday Quote: Harold Ableson

Thursday Quote: Ed Nather

Premature optimization is the root of all evil. But don't be stupid.

MarkedUp: The Power of Python

Thursday Quote: Jonathan Edwards

Thursday Quote: David Greiner

Finding 500 Errors On DreamHost

Making Panoramas With Hugin

PanoramAh: A jQuery Panorama Viewer

A Simple JavaScript Hooks System

PanoramAh: Version Two

Thursday Quote: Jeff Atwood

Fixing Kate's Instance Behavior

Node Knockout - Team LazerCatz!

Thursday Quote: Antoine de Saint-Exupéry

Exim Cheat Sheet

Finishing Stuff

You Don't Know What You Don't Know - GROUP_CONCAT

Thursday Quote: Eric Hellman

Thursday Quote: Remy Porter

Developing For Twilio In PHP - Introducing Twillip

Thursday Quote: Paul Graham

Thursday Quote: John von Neumann

Learning Ruby: Unpacking Arrays

Halloween Nerds

Detours Clone

Thursday Quote: Michael Lopp (Rands)

Thursday Quote: Brian Tarbox

git log --stat

Thursday Quote: Scott Belsky

Headless VirtualBox

Thursday Quote: C. Scott Andreas

Tail In PHP

Thursday Quote: William Gibson

Thursday Quote: Joel Spolsky

www.ǝɥɔɐɔʇǝʌlǝʌ.com

Flip WordPress Plugin

Thursday Quote: Rand Fishkin

Thursday Quote: Peter Aronoff

Thursday Quote: Scott Belsky

Awesome jQuery Plugin From Zachleat

Litany of Fear

Thursday Quote: Abelson & Sussman

Gson Inheritance Issues

Swiftmailer Transport for Amazon Simple Email Service

Thursday Quote: Tim Berners-Lee

Thursday Quote: Chris Stout

Installing Scribe on OSX with Thrift 0.5.0

Thursday Quote: Rollo May

Thursday Quote: Randall Degges

Verizon Backup Assistant Must Die

Thursday Quote: Gina Trapani

Thursday Quote: Derek Sivers

Brew Install Qt4 and Ruby Bindings

Pigwidgeon, Cat Of Doom

Sweet Mac OS X Terminal Function

Compiling CPython Modules with XCode 4

Thursday Quote: _why

Quick and Simple EC2 Micro VPN

Thursday Quote: _why

Thursday Quote: Nathan Marz

On Linux? Do yourself a favor and try Hotot.

Thursday Quote: Mike Haertel

How to guarantee low quality applicants:

Regex Fun - Get a substring by length, breaking on word boundary.

Thursday Quote: @hipsterhacker

Contagion: Outbreak - 2011

Thursday Quote: Linus Torvalds

In-Omaha.com

Cheese!

Thursday Quote: John D. Cooke

Thursday Quote: Eric S. Raymond

Thursday Quote: Des Traynor

HP TouchPad Developer Mode

Thursday Quote: Michael Abrash

Thursday Quote: Jessica Mills

Thursday Quote: Bruce Schneier

Thursday Quote: Andy Rutledge

Kohana 3 OAuth & Twitter Demo Code

Thursday Quote: Holden Karau

iCloud Shimmer Effect

Thursday Quote: Josh Reich

A Walk Through Swiftmailer Transport AWS SES

Replacing Kohana 3 Auth module hashing

Thursday Quote: Juan Reyero

Pushing a row to the end of a sort with MySQL

Fixing Broken Droid2 Root

Thursday Quote: Michael Lopp

Skunk: A stinky PHP microframework

Fundamentals: Hashing

Thinking Functionally In PHP

Thursday Quote: Yaron Minksy

Thursday Quote: Dean Simonton

Thursday Quote: Richard Stallman

Thursday Quote: Edsger W. Dijkstra

Thursday Quote: Brian W. Kernighan

Cache Control With Kohana 3

Poke Horror

Thursday Quote: Kyle Neath

Naive Search with JavaScript

Thursday Quote: Linus Torvalds

New Design!

Dashwire Photo Export

Thursday Quote: Kenneth Reitz

Xoket: The Learning Framework

Thursday Quote: Ward Cunningham

Sneaker-netting Huge Files with split and cat

Thursday Quote: Gianni Tedesco

Addressing Nested Dictionaries in Python

Thursday Quote: Peter Grace

ImageMagick Wallet Maker

CSS Seven-Segment Display Tutorial

Thursday Quote: Zach Holman

Reading Code: Drew Gourley's Countdown Script

Thursday Quote: Dana Contreras

Thursday Quote: Kent Beck

Thursday Quote: Joshua Bloch

Thursday Quote: Mike Solomon

Thursday Quote: Simon Peyton Jones

Hot Patching Python Objects

Thursday Quote: Tony Hoare

Thursday Quote: Tim Peters

Thursday Quote: Phil Wadler

Thursday Quote: Mike Monteiro

Thursday Quote: Kendall Clark

Thursday Quote: Cliff Moon

Hashes Are Not *$&%@! Magic

Impromptu logging from a socket.io connection

Let the Facebook Object Debugger Into Staging

Goodbye Omaha (April Fools 2013)

Delayed Queues for RQ

Building the Chicken Cam

ThinFire

Building Pandemonium

Custom Mailbox Betacoins

Homoglyph Substitution for URL's

Manage Unblock-Us on OS X

Password Generator Alfred Workflow

Automatic MySQL Slow Query Log Emails

Updating S3 CORS With Boto

ಠ_ಠ Keyboard Button

You Should Be Using Redis

My talk covering Redis basics at HDC15

$20 Android Dev Phone

Setting up a cheap prepaid phone as an alternative to using the emulator.

ChatOps: Snack Preview Script

Automating review of random image selection for an iOS app.

Using Let's Encrypt With Dreamhost

Manually issuing and installing a Let's Encrypt certificate on Dreamhost

Anonymous Code of Conduct Reporting With Twilio

Integrating with Twilio to allow reporting code of conduct violations over SMS or voice.

MAC Randomizer Alfred Script

Spoofing MAC addresses with Python through Alfred

gpdmp-to-slack

Show your currently playing song as your Slack status from Google Play Desktop Music Player.

Chicken Cam: Incubator Edition

Why let a chicken hatch your eggs when you could make a Raspberry Pi do it?

A New GPG Key

After a decade it's time to create a new GPG key. There's no real excuse not to use a Yubikey anymore either. This will cover the process I took from start to finish, with subkeys, paperkey backups, git signing and SSH with gpg-agent.

Party Gopher!

go func(partyordie bool) {...}()

Using environment secrets as build arguments in Google Cloud Build

Cloud Build is a nice tool for continuous building of your Docker images. Using an environment secret in the build is a gap in the docs, here is how I did it.

Easy visual identification of git short sha's.

A list of short SHA's can be hard to read, wrapping them in color can help.

Netlify + Cloudflare = Crazy Delicious

Cult of the Party Parrot is a fairly simple static site, but it pushes a lot of traffic. Combining the magic of Netlify with the sweet cache layer of Cloudflare with a dash of Google Cloud functions gives us the best of both.