script to make a pile of Zeros – pile-o-zeros.bash

I’m delving into a role playing game called Dungeon Crawl Classics Role Playing Game (DCC RPG) by Goodman Games. It’s got a unique character creation philosophy. Instead of spending a bunch of time crafting your perfect 1st level character, you create a pile of throwaway 0-level characters, sometimes called “Zeros”. Then, to kick off a campaign, you put these piles of Zeros through an introductory adventure called a “funnel”. The ones that live become 1st level characters you can become more attached to. Mortality is high in DCC, especially for Zeros. That’s why you make a lot of them. Often, a player will go through his first 3 or 4 Zeros in the first session, and the judge (what DCC calls a DM) can give him or her more. It’s sorta like Paranoid, in a way. High fun, high death rates. TPKs are not uncommon.

Well, the fine people at Purple Sorcerer wrote a web app that generates Zeros, four at a time. Then you can print out this page of four Zeros, cut them up, and then enter the funnel. Well, I’m prepping to run a funnel adventure at a local game shop, and so I’m going to need a lot of Zeros, like 50 to 70 of them. But I didn’t want to hassle with generating them on the Purple Sorcerer website one page at a time. So I wrote this little script.

It’s a bash script, and it only runs on a relatively recent Mac that’s on the internet. But it works for me, and so I’m putting here in case it works for you. If you run it without any command line arguments it’ll generate 20 pages of characters. That’s 80 Zeros total. Or you can specify a different number of pages as a command line option.

If you don’t know anything about using or running bash scripts on your Mac, here’s a quickstart:

1) Copy the text of the script below

# This bash script will generate and download a bunch of DCC RPG 0-level character
# sheets, and then concatenate them into a single big PDF. It only works on a Mac.
# This only works on MacOS. Actually it only works on versions 10.4 or greater, but
# I'm going to assume that anyone with OS X is using a recent enough version.
# Written by Todd Bradley (
# Thanks to Purple Sorcerer for the awesome character generator app
if [ "`uname`" != "Darwin" ]
	echo "This only runs on Mac OS X. Sorry."

# If the user doesn't specify the number of pages, generate 20 of them.

case "$1" in
		echo "Usage: $0 [N] where N is the number of pages of characters you want."

echo "Now generating ${pages} pages of characters, 4 to a page."

for i in `seq 1 ${pages}`;
	curl -# -o sheet.${i}.pdf ""

"/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/" -o dcc-zeros.pdf sheet.*.pdf

rm sheet.*.pdf
echo "Your ${pages} pages of character sheets are now in the file dcc-zeros.pdf"
open dcc-zeros.pdf

2) Open Terminal

3) Type the following at the Terminal prompt

cd ~
cat > pile-o-zeros.bash

4) Now paste in the text you copied, and hit Ctrl+D

5) You should have the command prompt back, so type: chmod +x pile-o-zeros.bash

6) Now you can run it, with a command like this:



./pile-o-zeros.bash 4

It’ll build the number of pages of Zeros that you specify, concatenate them into one big PDF, and open that in Preview.

Posted in Uncategorized | 3 Comments

Todd’s World of Coffee

We’ve now been living in Capitol Hill in Denver for three months. One of the things I realized when we moved here is that there are a lot of coffee shops within easy walking distance. With the help of Yelp, I made a list of all seven that are within a half mile, which I posted here.

That’s when I gave myself a little challenge – to visit each and every one of these. I guess I chose 0.5 miles as the cutoff because that’s what I think of as “an easy walk” – anything farther and it would feel more like a walk for a walk’s sake, instead of just “I’ll bop down to the corner and get a cappuccino.”

But a new place cropped up since I started my list, and that’s when I decided I better update this. And in the process, I organized it all a bit better and expanded it significantly.

Coffee Shops Within 1/2 Mile

  1. Pablo’s Coffee 0.1 mi – This is the easiest one to get to, by far. It’s a nice place with really good cappuccino and no WiFi. Nice staff, roast their own beans. My Yelp review.
  2. Buzz Cafe 0.4 mi – I just went here for the first time last week on a weekday morning. Their homemade breakfast sandwich is the best around – the tastiest coffee shop breakfast in the area. The cappuccino was good, but not outstanding. My Yelp review.
  3. Drip Denver 0.4 mi – This is my favorite of all the ones on this list. The service is great, the people really know their coffee, and they have a wide selection. The interior is also very comfortable, and they have good WiFi. They get their beans from Pablo’s and Kaladi Brothers. My Yelp review.
  4. Dazbog Coffee 0.5 mi – This is convenient for me when I’m driving to Broomfield in the morning. But the service is spotty. Sometimes they forget to make things I order. And I haven’t had any coffee drink that’s really impressed me. I rank this like Starbucks, but slightly more local.
  5. Roostercat Coffee House 0.5 mi – Nice small place downstairs on Lincoln between 10th and 11th. They use Coda coffee. Not very crowded or noisy, at least on a weekday morning. They make unusual waffle sandwiches for breakfast and lunch. But I’ve gotten turned off by my last two visits and stopped going. One time there were coffee grounds in my cappuccino. How does that even happen?

Starbucks Within 1/2 Mile

Yeah, I’m giving these a separate category. Four Starbucks within 0.5 miles of me? Talk about overkill. The bold ones are the ones I’ve personally visited, for what little that’s worth.

  1. Starbucks Coffee 0.2 mi – 300 E 6th Ave – This is the Starbucks on 6th near Moe’s Bagels. I don’t have much to say about Starbucks. When I went to this one, the service was good.
  2. Starbucks Coffee 0.3 mi – 575 Lincoln Street – This one is between Lincoln and Broadway on the south side of Speer, by Bombay Bowl. I went there once when we lived in Baker.
  3. Starbucks Coffee 0.4 mi – 560 Corona St – This is the one inside Safeway at 6th and Corona. Oh boy, supermarket Starbucks.
  4. Starbucks Coffee 0.4 mi – 931 Corona St – This is the Starbucks inside the King Soopers that people often call “Queen Soopers”. It’s a typical supermarket Starbucks.

Other Coffee-serving Businesses Within 1/2 Mile

Again, bold means “been there, done that”.

  1. Dunkin Donuts 0.5 mi – 366 N Broadway – I went there but didn’t get coffee. For some reason, people rave about the quality of the coffee at Dunkin.
  2. DJ’s 9th Avenue Cafe 0.4 mi – 865 Lincoln St – This is a great place for both breakfast and lunch. They have good service and good food, which they make with as many local ingredients as possible. I’ve never seen it very crowded, so I wonder how they can stay in business given the size of the place.
  3. City Bakery Cafe 0.3 mi – 726 Lincoln St – Pretty new. Mainly baked good, but they also have drip coffee and espresso drinks, as well a breakfast sandwiches.
  4. Racine’s Restaurant 0.2 mi – 650 Sherman St – We’ve been there a couple times. One time was for supper and it was great. One time was for breakfast and it was mediocre. The coffee was Starbucks brand. Enough said.
  5. Moe’s Broadway Bagel 0.2 mi – 550 Grant St – I love Moe’s “everything” bagel with cream cheese, and often get one to go with an iced coffee, which Moe’s makes pretty well.
  6. Martine’s Muffins 0.3 mi – 726 Lincoln St – Frankly, I’m not sure how Martine is going to stay in business now that City Bakery Cafe has opened up, not just nearby but in the same building! I just went there once for a breakfast burrito, and didn’t try her coffee. The burrito was just so-so.
  7. Einstein Bros. Bagels 0.4 mi – 1025 E 9th Ave – Why bother? There’s Moe’s nearby.
  8. Tony’s Market 0.5 mi – 950 Broadway – I’ve been to Tony’s for food, but never to get coffee. They do have a lot of interesting high end foodstuffs, at high end prices.
  9. Lé Bakery Sensual 0.2 mi – 300 E 6th Ave – They have coffee, but that’s not what they’re famous for. What they’re famous for is cupcakes shapes like penises. I bought a cake there once, but never the coffee.

So there’s my list. 18 places to get coffee within 1/2 mile. Got anything to add? Leave a comment.

Posted in Consumer Experiences, Food | Leave a comment

have you heard the phrase “the body is open”?

I thought this phrase was a common idiom, but judging from the Google results, now I’m not so sure. I had a boss years ago who taught it to me. The phrase comes from surgery, as I heard the story. If you’re a surgeon and you’ve already gone to the trouble of sedating a patient, sterilizing the room, and cutting open the patient’s body to repair one thing, if you see another thing that needs fixing right next to it, you might as well fix the second thing, too. Otherwise, you’ll have to sew the body back up and let the patient recover from this surgery, only to come back and do another surgery to fix the second problem in the future.

This idiom applies really well to software maintenance, in my experience. Suppose you’ve done the work to analyze and understand a piece of existing source code well enough that you can find and fix a bug that’s been reported. If you see there’s a related bug in the same section of code, it’s cheaper to just go ahead and fix it while “the body is open”.

Have you ever heard this idiom before? Does it apply to your field of work?

Posted in Drivel | Leave a comment

back in the hood

Beth and I moved from south Boulder to central Denver about a month ago, but I think it didn’t fully sink in until just today how wonderful it is being in a real neighborhood of a real city. I’d seen some small signs over the past month, like the fact that I calculated there are seven coffee shops within a half mile. And, of course, the fact that it takes 30 minutes to drive to an actual suburb. And the fact we can easily walk to the Fillmore Auditorium, the state capitol, Voodoo Doughnut, Cherry Creek, the Denver Art Museum, and four different supermarkets.

Today's WalkBut today’s experience was special in how mundanely urban it was. I needed to go to King Soopers pharmacy to pick up a prescription refill, but Beth took the car today. So I set out on foot, Audiobook in my earpods. I wanted some lunch, so I decided to stop in at a pho restaurant that I hadn’t visited before. After lunch I walked up to the pharmacy and got my prescription. But then I realized I was next door to one of the coffee shops on my checklist, so I stopped in for espresso and a scone. Refortified against the spring snowstorm, I set out for home.

But then I passed by a little neighborhood Ace Hardware I didn’t even know existed. It’s the exact opposite of Home Depot, more employees than customers, a small shop where you can buy everything you need in 5 minutes, and no parking. I remembered we needed a few things for the new apartment, so I stopped in and picked them up. Then I set out again. Oh, but wait, Beth mentioned the other day we’re out of tonic water, and there’s a liquor store right next store. Another stop. After that I passed by a cleaners (the fourth one I passed on this walk), an antique store, the mysterious walled-off premises of an international religious cult’s mansion, and some other mansions, before finally getting back to our apartment.

I’m glad to be here, in a real neighborhood in a real city.

Posted in Drivel | 2 Comments

another spinal tap!

I had my fifth spinal tap (aka “lumbar puncture”) today. This is part of the recovery process from my SCDS repair surgery back in November, four months ago. The LP will allow us to see two things. First, what’s my cerebrospinal fluid (CSF) pressure currently, since I’ve been taking 2 Diamox 250 mg pills a day. Second, what impact – if any – does lowering my pressure have on my ongoing autophony symptoms.

Three of the times I had a lumbar puncture, I was partially or fully sedated, and so those were good experiences. The last time I had one, I was not sedated at all and it was terrible. The anesthesiologist was poking and prodding around and hit several nerves on the way in. It was painful, and I had terrible lightning shocks shooting down my legs. So I was nervous when I learned they plan to do this fifth LP without sedation.

However, they were using a procedure I had read about but never had, where the radiologist guides the needle into just the right spot by using an x-ray machine.

Well, I don’t know whether it was just good luck, a more talented puncturer, or the x-ray guidance procedure, but this time was 180 degrees different from last time. It was anti-climactic, with less actual pain than going to the dentist for a routine cleaning and exam.

Lessons for if I ever had to do this again:

  • Make sure the doctor doing the procedure knows in advance how much fluid to remove
  • Get sedation if possible, and if not get the x-ray guidance technique

Oh, so you want to hear the results? My opening pressure was 22 (cm H2O). They removed 16.5 ml of fluid. And my closing pressure was 15.5.

Posted in Ears | 2 Comments

a new film by Todd Bradley

A few months ago, one of my Facebook friends turned me on to a short film contest that was right up my alley. It was the Real Food Media Contest, and they had a contest to make a short documentary on one of a set of topics related to food and farming. So I took footage I shot in Missoula, Montana when Beth and I were there for a month in the summer of 2012, and edited it into a short. Unfortunately, I didn’t win a prize, but today they announced the winners. If you want to check out what won, here you go:

My buddy Chad Johnson reviewed and critiqued the film I put together. His assessment was that it was a basically good edit and interesting story. But he felt I probably wouldn’t place in the contest because my film doesn’t have the “shallow depth-of-field DSLR look” that’s so popular. Well, he was right; my film wasn’t even a finalist. And if you look at the films that got the top 5 prizes, you can see his comments about the “look” the judges wanted to see were right on the money.

The winners are also interesting stories, so I don’t mean to imply that they won only based on their look. But my traditional video camera’s small imager just can’t produce the kind of pictures that people’s eyes want to watch. It’s awesome for sports, but not for sexy documentaries. So I’m gonna get a DSLR (or something like it) and learn to fiddle obsessively with rack focus. That’s my recipe for success. Just watch me.

Posted in 12 Cities, 1 Year, Film, Food | Leave a comment

Three important travel lessons I learned from my weekend in Dallas

I recently traveled from my home in Denver to Dallas for a short video project. My client was a small magazine with a tiny part-time staff.  Given the market they’re in, they have to operate frugally, and so at every turn we tried to plan for the least expensive option. That backfired in a couple ways.

Here are the big lessons:

1. Don’t fly Frontier

I almost always fly Southwest for both business and pleasure, because they’ve always treated me well. But Southwest doesn’t offer any direct flights from Denver to either of the Dallas airports. So, my client found a great deal on for Frontier. I booked that, and the round trip cost was $238.00 (taxes and fees included). Seems pretty reasonable, eh?

Well, of course there’s the bag fees to tack onto that. If you buy your ticket anywhere except, they charge $25 for your first checked bag and $30 for the second. On Southwest, both bags are free, which is one of the reasons I like Southwest.

What surprised me, though, is that as I was checking in, I learned that if you buy from anywhere but, you also have to pay $50 for a carry-on! Now keep in mind I was doing a video shoot, which means I’ve got a camera bag and tripod in addition to a suitcase for clothes, toiletries, etc. So I check my camera bag and my suitcase, and then carry the tripod on. With these bags, we’re now up to $105 in bag fees — EACH WAY! In other words, my roundtrip ticket of $238.00 went up by $210.00 for my luggage. $448.00 doesn’t sound so cheap anymore, does it?

So, my first lesson is that if you have to fly Frontier, only book your flight through Or avoid Frontier altogether.

(For comparison, if I had done a non-direct flight on Southwest, I would’ve paid somewhere between $160 and $330 total, including all my bags. And I won’t even go into my diatribe about Frontier charging $2 for a soft drink that’s free on Southwest.)

2. Allocate lots of extra time if you’re renting a car

The Dallas Fort Worth airport is designed such that there is a separate car rental center that serves all car rental agencies. So after you get your bag you stand in line to wait for the next bus. I don’t know if it’s this way all the time, but when I arrived Friday night, there was a long line of people. It took us about 20 minutes to cram everyone onto the rental car bus (at 4 different stops), and then another 25 minutes (that is not an exaggeration) for the bus to drive to the car rental center.

This bus travels at really low speed (good, given how many people were standing) and some Texan in his infinite wisdom put the car rental center miles from the airport. In fact, where you pick up your car is so far away from the rest of the airport that if you drive back to the terminal to pick up another arriving passenger (as I did), you have to take a toll road to do so. That’s how far away the rental center is. One guy on the bus, about 20 minutes into the ride, yelled to the driver, “Can you just drop me off at my hotel?”

Having never flown into Dallas, I had the impression that the DFW airport was supposed to be one of the gems in the US airport network. But now I know what a shithole it really is. As much as we in Denver complain about the airport being so far from the city, at least it was designed well from a traffic flow perspective. Maybe they learned from the terrible mistakes the designers of DFW made 15 years earlier.

So the next lesson comes from the car rental shuttle bus driver herself: When you return to the DFW airport, plan an extra hour to deal with your rental car. The same goes for arrivals. Don’t think that you can get your bags, get a rental car in 15 minutes, and be on your way.

3. Be careful who you rent your car from

So my flight was almost an hour late. That’s not ideal, but there’s nothing I can do about it. The problem was weather, supposedly. That should be no big deal. But after finally landing and getting my bags and taking the rental car shuttle to the rental center, it was after midnight. Can you guess where this story is going?

In our efforts to save money, I reserved a car from Advantage. When I arrived at the rental center, I and several other unhappy renters discovered that the Advantage desk closed at midnight. I called the phone number listed on the reservation, and there was no answer. No customer service agent, no recording saying what to do if you have a late arrival, not even a message of “sorry we’re closed”, just ring ring ring ring…

My second choice would have been Enterprise, since I’ve always had good service from them. But their desk was closed, too. In fact, about half the car rental companies close at midnight, which meant huge lines at all the rest. I chose the rental agency that had the cheapest sounding name, “E-Z Rent-A-Car.” They had two cars left, fortunately, and I got a small Chevy SUV for what was a good price for an SUV (less than many rental agencies charge for a standard car) but more than for the original econobox I reserved from Advantage.

When visiting DFW and renting a car, if your flight might possibly arrive after midnight, check in advance that your rental company stays open past midnight.

All in all, I guess the trip was a good reminder that trying to cut costs to the bone can backfire. If and when I travel to Dallas again, I’ll be doing several things differently.

Posted in Roller Derby, Travel | Leave a comment

new home, new coffee

This week we moved into our new apartment in the Capitol Hill area of Denver. The quality of our neighborhood skyrocketed! This area actually feels and acts like a neighborhood that the residents care about, and you can see it just on the short walk from our apartment down to 6th Avenue. There, on a single block, I saw a homemade curbside little free library and then a homemade dog poop cleanup bag dispenser made from a used pop bottle zip-tied to a street sign. Someone took the time to build, install, and maintain these things, which is something we never saw in our part of Boulder.

But new digs also means new coffee, and since we’re in a much more urban area, we’ve gone from having just one coffee shop within a half mile to having several. My goal is to try them all. Here they are (results according to

  1. Pablo’s Coffee 0.1 mi – This is the easiest one to get to, by far. It’s a nice place with really good cappuccino and no WiFi.
  2. Starbucks Coffee 0.2 mi – I’ve been here before, too, but not since we moved nearby. It’s the Starbucks on 6th. When I’m in the area, I’d rather go to Moe’s Broadway Bagels instead.
  3. Buzz Cafe 0.4 mi
  4. Drip Denver 0.4 mi
  5. Dazbog Coffee 0.5 mi
  6. Dunkin Donuts 0.5 mi
  7. Roostercat Coffee House 0.5 mi - Nice small place downstairs on Lincoln between 10th and 11th. They use Coda coffee. Not very crowded or noisy, at least on a weekday morning.

Sadly, Sugar Bakeshop & Coffee House is 0.6 miles away, so it just barely didn’t make the cut. And this list doesn’t include other places that have great coffee but are primarily something other than a coffee shop, like Racine’s or – better yet – DJ’s 9th Avenue Cafe.

Posted in Food | 1 Comment

my review of The Walk

The Walk is an iPhone app that tries to do for walking what Zombies, Run! did for running. When I heard about it, The Walk sounded right up my alley. I like to walk. In fact, due to some recent medical issues, walking is one of the few forms of exercise my doctor is happy with me doing at the moment. Anything that encourages me to walk farther and more often is a good thing, because I’m haven’t been allowed to lift weight for the past two months.

So I was pretty excited to learn that The Walk went on sale a while back, and I bought a copy, right about the same time I was getting my new iPhone 5s working. I’ve tried to adopt it, but as of today I decided to just give up. It’s not working out, and I blame the game designers.

The basic concept is that the app can use your phone’s internal sensors to track when and where you’re walking. So you leave the app running all the time, and it does two things. First, it simply records how much time you spent walking each day. You can see a map of where you walked so far today, if you’re interested, but that information seems to be lost at midnight. Second, you can play the “game” part of the app, which is supposed to be the main draw.

It’s not really a game, though. It’s more like a story, told in small tidbits. The story starts with you surviving a terrorist bombing attack, but somehow the cops think you are the terrorist. The bomb knocked out trains and cars and people started rioting. You have to cautiously but steadily walk from Inverness toward London, as you meet other people along the way.

There are different levels, which are sort of like chapters of the story. Each level is basically a make-believe map that shows where you’re walking (in the game). Every few minutes, you unlock the ability to listen to a new audio clip, which reveals the next little bit of the plot. Also, while you’re walking along, you can tap on little dots on the map on your phone to “collect” treasures along the way.

All this works fine. The app has never crashed on me, the voice acting is good, the visuals of the app are OK. But the problem is that the design of the “game” is just bad. It’s like the software developers were following a spec written by someone who couldn’t really imagine how the game would be used in the real world, and they did no beta testing. The “workflow” is all wrong, if that word applies to an app like this.

There are two basic use models you could use with this game. First, you could just let the thing run in your pocket or purse, and it’ll track how far you walked. This is how the app’s instructions encourage you to use it. The other way is to hold the phone in your hand; as you approach treasures to collect, click on them, and as you unlock audio clips, click on those, too.

But the problem is that the game design assumes you use it somewhere in between these two models. If your phone is in your purse, you can’t trigger the audio clips, and there’s no way to configure the game to play them automatically. Likewise, you can’t collect the treasures. And if the phone is in your hand, you have to look at it every minute or two to tap on the screen, which means you’re not watching where you’re walking in the real world. This is really awkward if you’re walking to and from the bus stop on the way to work, for example.

What the game needs is a use model somewhere in-between. You should be able to put in your earbuds and start a new level, and then put the phone in your pocket or purse. As you walk far enough to trigger the next audio clip, the app should quiet the music you’re listening to and play the clip, without any need for manual intervention. And they should just eliminate the whole business about clicking on the dots to collect treasures, because it’s not really interesting anyhow.

In my use model, the app would still track your minutes and miles walked, and if you had your earbuds in you’d get to be immersed in the story. But it wouldn’t take active attention and clicking. Do you have any idea how cold your hands get in the Colorado winter if you have your gloves off so you can click on a stupid iPhone game every few minutes while walking taking a 40 minute walk? The app designers apparently didn’t, but now I do.

My advice: Steer clear of The Walk. If anyone has a suggestion for a better designed app to encourage me to walk more, I’m all ears.

Posted in Consumer Experiences | Comments Off

two months post-surgery

Yesterday I visited my ear surgeon for a follow-up appointment, roughly two months after my SCDS surgery. A quick run-down of my current symptoms:

  • Still have ringing and other noises (heartbeat, eye muscles, etc.) in the operated ear
  • Sound of my voice is still very loud (autophony) which keeps me away from loud places because it’s so uncomfortable
  • No dizziness or balance problems

I had a hearing test, which showed that my hearing in the left (operated) ear is OK, but that I have conductive hearing loss there. Some of that is due to the tube in my eardrum, which Dr. Gianoli removed. He said it looked like it was clogged, so it probably hasn’t been letting air through in a while. Now I have a small hole in my eardrum, so I still can’t go swimming or get water in that ear until the eardrum is healed up.

After looking everything over, the doc thinks the autophony and the rest of the conducting hearing loss are due to the remaining protective packing gel inside my ear. He packed it very thoroughly during surgery to protect everything during healing, and it typically takes months for all that gel to dissolve and be absorbed. In one case, he said, it took a patient a full year. I hope it’s not a year of this, but he seemed to think there’s a good chance my hearing will be good within six months.

I’m anxious to be autophony-free, of course, especially since my hearing was back to tip top shape after just one month after the surgery on my right side. But I need to continue to be patient, since this new surgical approach takes longer to bounce back from. It’s tough, though. I don’t want to be Silent Bob, but it’s painful to talk any louder than a librarian.

Even though I’ve been doing many “normal activities” already, he officially cleared me, with a couple exceptions. I’m not supposed to do anything that causes strain. He specifically mentioned no yoga or pilates. I assume he also meant either no weight lifting or only very light weight lifting (don’t tell him I did weights last week). And of course, no water in the ear until the eardrum heals. Other than those things, it’s all back to normal.

Posted in Ears | 8 Comments