The next big whoops

Upcoming Iris features

I realize I haven’t posted anything about Iris, pretty much ever.

Iris is a small text forum that I wrote which works without web servers, databases, or anything other than a single, small Ruby script.

Right now it’s in the "functional but a little ugly" stage. There are a few features left to really flesh it out, but here on it’s been getting modest use with no problems.

There are always more features you need than there is time to build them.

So one outstanding feature that has been requested is for a pagination mechanism-- it’s amazing how far you can get without thinking of the simple things.

It needs more tests. Ideally, I’d like to see Iris "clients" in multiple languages, and an official test suite would go a long way to making that doable. Iris is something that’s complex enough to be a challenge, but simple enough to knock out in a couple days. Ping me if you want any details on the architecture, etc.

Next beyond that is a web interface. Posting will still be limited to those logged into the server, but you’ll be able check for new messages and such online. I haven’t thought this through fully, so it may not be useful or even feasible, but I like the idea.

At some point, it would be nice to have a federation of Irises… something like the old newsgroups to help tie the whole tildeverse together, but that’s going to require a lot more planning and work, and I’m not sure if it’s something that anybody would find interesting.

Putting this thing together

It seems that the less time I have, the more time I spend on what’s important.

I’ve been spending more time on stuff lately, getting things fixed and updated. Just today I finally got off my rear and got us tied into the IRC network, which has been in my backlog now for longer than I’d care to admit.

The next big push is going to be getting us on a more recent distribution-- Ubuntu 14.04 isn’t cutting the mustard any more for our users.

Also, I’m quite proud of Iris… it’s a small tool that does one thing, simply. I do hope you guys will take advantage of it and enjoy it!

Feel free to ping me with any requests you have!

"You are a ghost driving a meat covered skeleton made of stardust riding a rock through space."

This just struck me today, not sure why.

Lists of things

From time to time I find myself needing mildly inaccurate lists of various things in a plain format for testing.

If you don’t think it’s annoying, try finding a list of world currencies in an easily copy-pastable form. :\

Anyway, here’s a bunch of lists. Feel free to make some suggestions for stuff I could add!

We’re Back!

System administration is pretty easy when everything’s working well.

Turns out it’s kind of a pain when things go sideways…

My Kids

So this little GIF has been going viral today:


It’s doubly hilarious for me because my boys used to do exactly this to my wife.

It was never not funny.

Hilbert Curves

Hilbert curves are cool. A co-worker wants to use these in our current app. It looks like we won’t need it, but it’s still pretty sweet to read up on.

STDIN, STDOUT, STDERR, and redirects

Thoughtbot has a nice article covering the basics of shell I/O. Definitely worth a read for anyone who wants to wrap their mind around the command-line!

My next IF venture

In the IRC chatroom, asa mentioned that she was working on a Lovecraft-inspired roguelike, which sounds awesome.

While I’m waiting for that, I’ll be delving back into the world of Interactive Fiction, specifically The Dreamhold.

Thanks pgadey for the recommendation!

Getting Phoenix working on

I’ve been playing with Phoenix Web Framework, but I was having trouble getting it running. Spcifically I’d get the following error when starting my server:

Error: You probably need to execute 'npm install' to install brunch plugins. Error: Cannot find module 'progeny'

…which didn’t make sense, since progeny is not a dependency of brunch. (Brunch, btw, is used to rebuild the static parts of your site in Phoenix).

The dependency actually belongs to sass-brunch, so running the following fixed the issue:

npm install sass-brunch

OSHA-Compliant IV

Working in China takes real upper-body strength.

Just… don’t move for like, 15 minutes

My Inform7 Test

I forgot to mention, thanks to endorphant, I was able to make my test game available online. Check it out here.

There’s not much game there; it’s more a test to see if I could make a coherent area, but feel free to poke around. :)

This is parenthood

The most succinct and perfect description of parenthood I’ve ever seen can be found here.

I want to play this so bad…


You have no idea. Unfortunately, it’s a custom game made by one guy.

Foundry Build

Last weekend I built a forge for casting aluminum, as outlined here. I wanted to throw out a couple odds and ends I ran across during the build.

(Note: None of this will make much sense unless you read the instructions outlined above)

Stuff you will need that he doesn’t explicitly list:

  • Electric drill

  • Hacksaw or angle grinder

  • A bucket or tub to mix the refactory in.

  • A mold for the lid. I used an old mop bucket.

  • Electrical or duct tape.

  • An extension cord. You probably don’t want to run your foundry that close to your house.

  • A cinderblock, big rock, or something to set your hot foundry, crucible, and mold on.

I got nearly all the supplies at Home Depot. Since I always get stuck in there trying to figure out where everything is, here’s a quick guide to where I found things:

  • Plaster of Paris was in the Paint department. Go ahead and get the big bag; that’ll give you enough to make two batches, in case you mess the first one up, like I did.

  • 10-qt bucket was in gardening.

  • 2.5-qt bucket was in Paint. I got two, since I knew I’d be shredding one for the cavity.

  • Sand was in the outdoor area with the garden soil and such.

  • Steel pipe was in the plumbing section. Near the floor was a selection of pre-cut and -threaded pipes. They were out of the 1' lengths, so I got 3'.

  • 4" U-Bolts… I don’t remember. I was getting pretty brain-dead by that point.

The hair dryer I got from a thrift shop, but I had to go to three shops before I found one. I also picked up some barbecue tongs and a big fork while I was there, to manhandle the crucible and the molten aluminum.

The 1-3/8" hole saw I got from our local hardware store. I usually prefer to support them when buying stuff, even though they are more expensive. (I get the propane from the local hardware store, too.)

The refractory mix amounts he outlines don’t match up (1 quart is 4 cups, so a 2.5 quart bucket will be 10 cups, not 12 as listed). The specific amounts don’t much matter as long as the ratios are the same.

The amounts listed in cups will overfill your bucket. Pour slowly. ;)

When he says that this process is messy, he’s not kidding. Even even you do it in the garage where the mess doesn’t matter, it will get on your shoes and your wife will get super-grouchy about you tracking Plaster of Paris in all over her carpet. Or so I’ve heard.

PROTIP: Mix your refractory lining using warm water. If you use the hose in the garage (in Winter), and mix the refractory with your hands, it will be freezing.

When you push the smaller bucket into the refractory to make the cavity, it will really, actually set if you just hold it there for three minutes with your hands. Don’t try to get clever by setting a board across top of both pails and walk away. It will dump a pail full of water into your freshly-mixed refractory, and your wife will get super-grouchy that you yelled a bad word within hearing range of the kids.

After you mix up a fresh batch of refractory, use some rocks or something, instead of water, to weigh down your inner pail.

I made a crucible out of an empty 1-lb propane tank for a plumber’s torch. Empty it out all the way before cutting.

I didn’t have a 3" hole saw to vent the lid, so I used the crucible to mark a circle in in after it had dried a little (15-30 minutes). I then used a 1/8" bit to drill out along the cut line, then knocked out the middle to create the hole.

I did use the 1-3/8" hole saw to port the bucket. That was a huge time saver, bit the saw bit cost about $15, which is more than I was expecting to spend.

My secret for connecting the hairdryer to the pipe: electrical tape. Lots and lots of electrical tape. Where I could feel air leaking, I put more tape.

I didn’t spray-paint the outside of the bucket. There’s no way I’m pretending this thing is just a flowerpot.

When firing it up, it’s probably worthwhile to set the foundry on a cinderblock or similar. It you set a hot crucible straight down on your driveway, you run the risk of causing chunks of concrete to overheat and pop out of your driveway, making your wife super-grouchy.

All in all, the foundry was a success! It works well, and melted a good bit of aluminum that night. I’ll post pictures later, along with a description of my first casting disaster.

Inform 7

I’ve started playing around with Inform 7, a programming language designed for building text adventure games-- although now apparently they’re called "Interactive Fiction" both because it sounds less frivolous, and because some of the modern entries in the genre, while interesting, really stretch the limits of what you could call a "game."

Thanks, fogus, for yet another hobby…

Unfortunately, the documentation is weak and a bit scattered, especially in comparison to mainstream languages. I should probably just go ahead and buy the book.

So far it’s been pretty fun to stretch my rusty writing mucles.


I’m building my page with AsciiDoc now. You can look at my AsciiDoc source here (although it seems to lose all its formatting unless you view it as text). I can rebuild my index.html by typing:

asciidoctor index.adoc

But usually I do it right from within vim by typing:

:!asciidoctor %

So far, it seems to be working well!


I don’t understand crime, in general. I especially don’t understand this crime.

It's worth 1,000 style points, though.

OSHA-Compliant III

When someone asks you to be a table, just say no.

No.  Just... no.

OSHA-Compliant II

Just a smidge too far…



Maybe they should have chosen a different carpet for these stairs:

Shag would have been a much better choice

Hosted at