Fire Balloon Recipe

28/03/2011

This post details instructions for making and launching a fire balloon successfully. Mostly for my own memory.

Acquire these supplies (makes one balloon):

  • 1 yard balsa wood strip (just wide and thick enough to hold 8 birthday candles relatively rigid)
  • 12 thin birthday candles
  • 1 kitchen trash bag (opaque white, the thin, cheap kind)
  • tape
  • super glue
  • OPTIONAL: colored nail polish for decorating

NOTES: white trash bags glow beautifully. Nail polish is about the only thing I could find that would stick well, but don’t let the painted parts touch each other; the polish likes to stick to itself more than the bag. you can sometimes find balsa wood at art stores, and always at craft stores.

Make your balloon

  1. cut the balsa-wood strip into two 18-inch lengths (use scissors), glue them into a cross
  2. adhere 3 candles to each of the 4 arms of the cross, keeping them close to the center: put the bottoms of the candles in a flame until they light, drip two drops of wax where you want to place the candle, then quench the flame onto the wood, pressing in firmly for a few seconds
  3. place four tape patches around the lip of the trash bag, an inch or so down from the lip (this will help the bag not to tear)
  4. make four cuts into the taped patches, just wide enough to fit the wood slat through
  5. OPTIONAL: paint on the bag with your nail polish. It should dry quickly even when laid on thick.

NOTES: You should test the balloon at this point in your house, to test the seal and weight. Don’t let it fly into the ceiling obviously. We found ~8 candles was enough when indoors, but when outdoors and in the cold and wind, 12 candles was the minimum.

Launching the balloon

You will need two people at minimum. Pick a spot to launch that is sheltered from the wind for the assembly and launch. Once it is airborne the windiness doesn’t matter unless there are extreme gusts.

Obviously don’t launch under a tree, on a dry day, or any place where things will probably catch on fire when hot birthday candle bits come falling down.

Have a friend hold the bag from the top while you light the candles from the bottom with an extra birthday candle, being sure to protect the loose bag from the flames. Hold the balloon from the bottom when it begins to inflate.

When you can feel it is very buoyant, release it into the night.

1 Comment

Synchronized Concurrent IO Actions

24/02/2011

This is a bit of literate haskell code that works through a system for running concurrent IO computations that are synchronized on a stream. So we have many “nodes” of the type :: a -> IO () running concurrently on a single stream, where we would like each node to wait until all nodes have processed a stream element before any are allowed to proceed onto the next element.

This was motivated by the desire to simulate a system in which many nodes are interacting independently according to a time-synchronized algorithm. So the “stream” the nodes process is time.

I wanted to use real concurrency because it sounded fun. It would of course be possible to simulate a time-synchronized system without using real concurrency.


» read more…

No Comments

When is it okay to “fail”?

16/02/2011

That’s the question.

In designing a couple libraries the question of the proper use of the Monad class’s fail method has come up more than once.

On the one hand, many people consider fail to be a wart on the face of an otherwise pure implementation of an elegant construction borrowed from category theory. It’s as if someone defined scissors as

“two metal blades with handles, attached by a pivot… plus a bandaid in case you cut yourself”.

But on the other hand many instances of Monad have a logical and intuitive way of encapsulating failure, whether it be Nothing in Maybe, or the empty list in []. And for monad’s that have no reasonable way of encapsulating failure, a default method (raising an exception) can be used.


» read more…

No Comments