curtis.lassam.net

Cube Drone Notes

March 18, 2014

I’ve been short of funny ideas for Cube Drone comics for a while. I found a sketchpad full of ideas that I couldn’t coalesce into funny comics. Here they are:

  • PHP is awful.
  • nobody uses Haskell or O’Caml.
  • Ruby is Python.
  • Javascript changes every 15 minutes.
  • Python is Ruby.
  • C++ is inscrutable.
  • C is invincible.
  • Lisp is not the language you want to program in.
  • Lisp is a tool for building the language you want to program in.
  • Modals are irritating.
  • Heartburn is terrible.
  • Users are morons.
  • Wine is delicious.
  • We are behind schedule.
  • I have a great idea for a new feature.
  • Twitter is a waste of time.
  • Deployment is stressful.
  • The intern makes rookie mistakes.
  • The seasoned professional still makes rookie mistakes.
  • Meetings kill your code boner.

Cube Drone - Quicksort in 60 Seconds

March 08, 2014


I'm probably not the first person dumb enough to think that a quick video about quicksort is a funny idea.

Cube Drone - Web Authentication

February 25, 2014


A long and rambly introduction to basic concepts in web authentication.

Watermelon Theme, and A Tale of Two Rubies

February 23, 2014

curtis.lassam.net is now rocking a brand new busbus theme.

Wait, what is Busbus?

Oh, I think I might have mentioned it like a year ago. At some point in the past I decided that I had had enough of Wordpress and built a blog engine as a Ruby project. It’s, I think, one of the first things I’d ever built in Ruby. It works as a compiler, taking a directory full of YAML files and rendering them into a website. Different YAML files can have different content types, so I can write blog posts in markdown, include comics as simple image links, and paste IRC conversations in directly from IRC.

Busbus, all of the blog’s YAML files, and the Busbus themes for this site, as well as http://cube-drone.com , all live on github. Pushing any files to GitHub triggers the recompilation of the live site.

It’s completely undocumented, and complicated as heck. I wouldn’t recommend it for anybody but me. I’m not sure if I’d even recommend it for me - but I certainly like how simple it is for me to manage the site using only vim and bash and git. Isn’t it just like a programmer to make everything in such a way that only a programmer could enjoy it?

Anyhow, here’s a link to the front-page of the old theme, just for comparison’s sake. I’ll miss you, silly flipping!

The new theme’s source is here.

Features

  • The site now properly supports Category filtering. If you click on one of the category buttons, like “Comic”, it will filter any non-“Comic” blog posts out of the page.
  • The site’s color scheme is now delightfully watermelon-flavored.
  • Important navigational elements are arrayed along the top of the page. This is important because some of the site’s content - namely, comics - are 900+ pixels wide.
  • Twitter Bootstrap 3 providing the core grid system, rather than a grid system of my own devising. It does a better job of laying things out responsively.
  • Fontawesome icons! Google Fonts fonts!
  • The blog’s index page loads the content of the past several weeks, giving more of a convenient entry point into the blog’s content.

Antifeatures

  • There’s no silly flipping. I’ll miss you, silly flipping.
  • I think the design is more usable but less visually compelling.

And now for a story about Ruby

“What version of Ruby should I install on my computer to test the new theme?”

Well, 1.9.2 seems like the obvious choice. Word on the street is that not all of the Windows libraries are up-to-date for Ruby 2.1, although this is more hearsay than reasonable thought. Anyways, this system was built with a Ruby 1.X, I don’t want to spend all day dealing with version compatibility issues.

Oh, 1.9.2 doesn’t work. When I run Busbus, it throws an error having to do with the consumption of my YAML files.

Between 1.9.2 and 1.8.7, Ruby changed its core YAML processing engine to one that can’t handle non-utf-8 encoded inputs. Glorious. I never even knew that ISO latin-1 or ASCII wasn’t supposed to be valid for YAML files. Now I know. There’s a lot of YAML files in my blog folder, though. I certainly on’t feel like converting them all.

I should get things running with a modern Ruby, though, right? In order to get everything running in 1.9.2, we make judicious use of the ‘encode’ function to get everything converted properly to utf-8 before we try to read it. The ’?’ character proliferates.

And then we deploy the system… and it fails. Because ‘encode’ as a function was included in Ruby 1.9.2, but the target Dreamhost server is running 1.8.7 because upgrades are expensive and hard, apparently.

So the YAML code isn’t forwards OR backwards compatible between 1.9.2 and 1.8.7. Glee. Okay, now there are two different branches of the code, one for each of the Ruby versions. I am not sure if I am okay with this.

Ah, well, at the end of the day, it worked, right?

2014 Resolution Roundup

January 10, 2014

Cabin

July 23, 2013

Classic Humour

July 11, 2013

Quoth

June 26, 2013

Upcoming Blog Posts

April 23, 2013

February Resolutions

February 03, 2013

2013 Resolution Roundup

January 02, 2013

Ponies

December 17, 2012

Jenkins

May 20, 2012

2011 Resolution Roundup

January 01, 2012

Elaborate In-Joke

September 06, 2011

Pax 2011

August 28, 2011

Doodles

August 13, 2011

Filler Comic

February 20, 2011

Job Interview

February 19, 2011

Foo-Bard

February 17, 2011

Survey

February 16, 2011

Marquee

February 13, 2011

Cool Story, Bro

February 09, 2011

Cintiq Roundup

February 01, 2011

On the Topic of 2010

January 04, 2011

Gettin' My Doodle On

December 20, 2010

Tech Social

November 29, 2010

Movember Rain

November 24, 2010

Revised Blog Theme

October 26, 2010

Tearing Down

September 22, 2010

Day 21 - Copacabana

June 05, 2010

Mister Tea

March 08, 2010

Port-A-Brain

February 09, 2010

Super Mario Bros Wii 9-7

February 06, 2010

Monkeypatch

February 02, 2010

Potater Details

January 25, 2010

Legend of Zelda Cake

December 20, 2009

Python Rage

December 18, 2009

Parts

November 10, 2009

More Top Hat

November 09, 2009

Fake Curtis Lassam

November 09, 2009

Fake Allen Pike

November 06, 2009

Migraine!

November 03, 2009

Beaten To The Punch

November 01, 2009

Action Scrabble

July 15, 2009

CodeIgniter

July 02, 2009

Doodles

June 17, 2009

Themeification

May 15, 2009

Languages

March 10, 2009

Theme updated

February 27, 2009

Learning is Learning

February 16, 2009

Wankel Rotary Engine

February 08, 2009

Doodles

February 04, 2009

Humanature No More

February 02, 2009

Recursive Tom Collins

December 14, 2008

More Drawings

December 04, 2008

Chefmage!

November 28, 2008

Programmers

November 16, 2008

Fallout 3

November 06, 2008

Oh, Mama.

October 17, 2008

IAT 343 - Portfolio 2

October 05, 2008

IAT 343 - Portfolio 1

September 21, 2008

Boop!

September 21, 2008

PAX pix.

September 03, 2008

My Favourite EA Game

August 18, 2008

IRCulated

June 25, 2008

Name Initiative

June 21, 2008

Cubicle Art

June 15, 2008

Big News!

May 23, 2008

I'm Stupid

May 11, 2008

Curaga Soup

May 02, 2008

Mario Kart Wii

April 28, 2008

The Wet Shave

April 08, 2008

Zebu

April 04, 2008

jPod

March 31, 2008

Mordex

March 25, 2008

Smash Bros. Brawl

March 09, 2008

BCIT

March 08, 2008

In My Opinion

March 06, 2008

NSERC Fail

February 25, 2008

Sloganeering.

February 23, 2008

This Was A Triumph Pt. 2

February 20, 2008

This Was A Triumph

February 14, 2008

Bolt Vanderhuge

February 10, 2008

RSS?

February 08, 2008

Status Update

February 01, 2008

Great Comics

January 29, 2008

Taste Nice

January 28, 2008

Attention Please

January 25, 2008

Bacon Is A Go

January 18, 2008

Haberdashery

January 10, 2008

Command Shift 3

December 12, 2007

S Club 7

November 22, 2007

Gasp! Comics!

November 21, 2007

NaBloPoMo

November 19, 2007

Oh Crap! Cold!

November 06, 2007

Pac-Txt

November 03, 2007

I am baffled.

November 01, 2007

All Hallows Eve

November 01, 2007

My New Job Title

October 27, 2007

My Dirty Little Secret

October 23, 2007

RSS and You!

September 30, 2007

Sushi Run, Run Python, Run

September 30, 2007

Japan Baby Eater Scorn

September 19, 2007

LAN PARTY!

January 31, 2007

Tatra Computers

January 31, 2007

Christmas Summary

December 30, 2006

Christmas Tunes

December 14, 2006

Story Snippet #2

December 13, 2006

New Numa

December 07, 2006

Story Snippet #1

December 04, 2006

XKCD of note.

November 30, 2006

Enter Johnny

November 22, 2006

404'd!

November 22, 2006

Read this webcomic!

November 21, 2006

Master Toshi

November 20, 2006

Welcome to my new blog!

November 20, 2006

Site’s Ready

October 09, 2006

Mac Hall! Noo!

September 24, 2006

PVP

September 09, 2006

Snakes On A Plane!

August 19, 2006

Ick. Gothy.

August 17, 2006

Fridge Magnet Poetry

August 14, 2006

History Final

August 04, 2006

The Call

August 02, 2006

Hire me. Do it now.

July 29, 2006

America’s boned!

July 26, 2006

My 320 homework:

July 23, 2006

Rock ON!

July 17, 2006

Yums!

July 16, 2006

Barbeque

June 17, 2006

Nuts

June 06, 2006

Pixel

June 06, 2006

Sleeping Lots

June 03, 2006

On Being Frantic

May 27, 2006

No Fools

May 25, 2006

Vice Presidentia

May 18, 2006

Whistler! Yay!

May 10, 2006

The Peak Retreats

April 24, 2006

Worchestershire

April 21, 2006

Bukkake

March 25, 2006

Yays!

March 16, 2006

Butterloaf

February 26, 2006

The Ancients

February 26, 2006

Tickle Attack

February 24, 2006