2015 so far

The year is still relatively new, with barely a sixth of it behind us. The first two months have shown good progress, and I'm starting to have more to show for it. For instance, the patent application we put in back in 2012 finally issued! This is well-timed, as our publication on that work is finally trucking along towards a final manuscript. In other career-stress news, I also finally revamped my CV for the first time in years. It took almost two days to parse through all the feedback I got in order to get it into a form that everyone had a positive view of. You can't make everyone happy, but settling for a few HR people during the interview process might be a good idea. I'll be giving a talk during industrial affiliates in two weeks about the hybrid solar collector that we've been designing, and the unique challenges with optimizing that kind of system. With the big pushes on self-promotion I've been given lately, I should also take time to polish up my LinkedIn page, despite the fact that I really don't like LinkedIn.

The reading list I posted earlier has more-or-less held up, some books have been dropped and others have been added. I've had mostly good experiences with the books I chose, but am finding a few less engaging than I'd hoped. I'll reserve judgement until I've finished them though. While I haven't had as much time to dedicate to side project as I'd hoped, I'll definitely post updates when I do.

2015 Reading List!

I've had a perpetual problem with owning books that I never get around to reading, even going so far as to relegate the unread books to their own shelf. I'm constantly finding new books I want to read, despite having a sizable backlog, and decided that this year I should try to clear the pipes. I decided to set aside 30 minutes before bed each evening for reading, and going at a little over a page a minute, with an average book being about 400 pages (a little bit of a high estimate, but there are a few long ones on the shelf), that brings it to about 27 books per year. I've got 32 on the "unread" shelf, but thankfully airports provide an excellent environment for distraction free reading; in the first three weeks I've already gone through three books, putting me at about twice the baseline pace. If everything stays on track, this should be my most literary year in a long time.

My partial list for this year is below, the finished ones are crossed out. Once I've got my bookshelf in front of me I'll add the rest I've already got lined up, but I'm definitely open to suggestions if something integral is missing! I've only got 7 non-fiction books on the list at present, so if you have a favorite, let me know!

  • Proof: The Science of Booze by Adam Rogers
  • Stuff Matters by Mark Miodownik
  • Cibola Burn (Expanse, #4) by James S.A. Corey
  • How Not to Be Wrong by Jordan Ellenberg
  • The Color of Magic by Terry Pratchett
  • That is All by John Hodgman
  • Care of Wooden Floors Will Wiles
  • Cold Hand in Mine: Strange Stories by Robert Aickman
  • The Wine-Dark Sea by Robert Aickman
  • The Science of Good Cooking by Guy Crosby
  • Wool by Hugh Howey
  • Speaker for the Dead by Orson Scott Card
  • Xenocide by Orson Scott Card
  • Children of the Mind by Orson Scott Card
  • Meat Eater by Stevem Rinella
  • The Windup Girl by Paolo Bacigalupi
  • Infinite Jest by David Foster Wallace
  • Endymion by Dan Simmons
  • Salt: a World History by Mark Kurlansky
  • Understanding Physics by Isaac Asimov
  • Siddhartha by Hermann Hesse
  • Dawrin's Radio by Greg Bear
  • Faust (German-English edition!) by Goethe (Peter Salm translation)
  • Cathedral by Raymond Carver
  • The Grand Design by Stephen Hawking

Note: I've also got a handful of Asimov's Foundation books on-hand, but not the original. I've been told to read them in order while ignoring the prequels (e.g. foundation, empire, second, edge, earth), so I'll probably put them off until I find a used copy of the first one.

Python: Filtering lists for value

I've worked with Python for years now, but had never really pursued the idea of running it server-side to generate dynamic content. I came across a problem that was suited for it recently. I had a box of ~5000 Magic: The Gathering commons and uncommons from older sets, and I didn't have a good idea of which were worth something compared to the rest of the chaff. I found the Deckbrew API, and was able to make calls to that by grabbing a well-shaped URL. It was a short path to putting together a simple HTML form for specifying the filter and threshold values as well as displaying the results.

The resulting tool can be found here!

There are certainly bugs, primarily that I've already encountered cards that are listed, but have no listed price for the printing of interest. I'm thinking to work around this by picking the value of an alternate printing, but haven't bothered to work that out yet.

Cooking: Barbecue Sauce Experiment, First Four

I've always had a soft spot for good barbecue, and I include pretty much any meat cooked low and slow for long times when I say that. A key part of BBQ for me is the sauce, and there are many restaurants that do it really really well. In Tucson alone we have Mr. K's (easily the favorite, but quite a drive) and Brushfire BBQ, both of which have amazing sauce. I've been eating a lot of chicken over the past few years, as it's cheap, full of protein, and easy to make delicious. BBQ sauce usually finds its way into either the marinade or goes on top right before I eat it, but it's always been the store-bought stuff. After seeing fantastic results by dousing my chicken in some leftover sauce from Brushfire, it occurred to me that I should try to make my own rather than buy it pre-made. I looked around the internet for recipes and found that not only were the majority of the ingredients were already in my kitchen from making beef jerky, but every recipe (with minor variations) used the same core ingredients. I selected 11 different recipes and gathered all the ingredients necessary. For the preparation, every recipe had some variation on "mix the ingredients, bring to a boil, simmer for a while". To minimize the variance I'm applying the same preparation procedure to each run, whisk together everything on the list, bring to a boil, then simmer over low heat for 45 minutes. I'll be recording my commentary on each batch here, along with anyone I can conscript into giving their thoughts.

Ideally, once a good number of established recipes are tested, I'll have enough information to begin manually probing the phase space. While reading I've come across variations that merit investigation, such as using coffee in place of water, or making an entirely mustard-based sauce. Whiskey and honey variations are also on the list. From all this I hope to arrive at a recipe that I like the most, though I wouldn't be disappointed to accidentally replicate Mr. K's sauce.

Batch #1: The first recipe I tried had the slightly over-the-top name, "The Best Homemade BBQ Sauce Ever". Essentially just ketchup, apple cider vinegar, water, brown sugar (I used dark, other recipes call specifically for light), worcestershire sauce and spices. The first tastes, albeit on its own and with a tortilla chip,  yielded lukewarm responses: "Very mild. Doesn't really stand out. More spices would improve it." and "Yep, that's barbecue sauce.". Over scrambled eggs it was totally usable, with just the slightest kick of heat, lots of sweetness and vinegar forming the base of the flavor. Several chicken breasts were marinated in the sauce, cooked at 350 F for 30 minutes and served with the sauce on top. On chicken (first day): It's got a good amount of sweetness, but the rest of the flavor is dominated by vinegar. On the second day I was looking forward to it, tasty, just not life-changing.

Batch #2: For the second trial I decided to go as far afield as I could. I selected this recipe, entitled simply "Absolutely Awesome BBQ Sauce". It drops the cider vinegar entirely and adds a comic amount of hot pepper sauce (I used Tabasco), which does indeed contain plenty of vinegar. In addition is uses rum (dark, I'm guessing), soy sauce, and crushed cloves of garlic, which make it rather unique among the ones I collected. My first impression while cooking it was that it smelled substantially more salty and spicy, and that definitely comes through in the taste. I first tried it over eggs. Quite spicy, especially compared to #1. Definitely more flavors running around, which gives it some depth, but the spiciness needs to come down for it to be competitive for most people. In future iterations I imagine I'll bring the Tabasco down by half and substitute additional ketchup, water, or rum. This one also came out surprisingly thin, consistency-wise.

Batch #3: The third recipe I tried involves yellow mustard, which was a first. Outside of that it held fast to the basic building blocks of ketchup, brown sugar, cider vinegar, and a few spices. It definitely didn't have the super-spicey problem of #2. Just like the others this was tried on chicken breasts and eggs. Strong tangy vinegar and mustard flavor at the fore, with just a hint of heat. My first thought is that this could use black pepper for a little more kick. The second taster confirmed that it was his favorite so far.

Batch #4: The fourth recipe, marketing itself as Big Daddy's Carolina BBQ sauce, was a second vinegar-and-mustard based attempt. In addition, it required an extra ingredient that I don't usually keep on hand: ground white pepper. I was able to pick up a few ounces at the local spice shop for about $3. The preparation also had a minor alteration, a handful of the unique ingredients had to be added in a second heating step, namely the butter, soy sauce, and liquid smoke. I did deviate from the published recipe by reducing the liquid smoke to 1 tsp from 1 tbsp. My initial reactions while preparing this included "Wow, that's really a lot of chili powder", and "this is a lot thinner than the other sauces". There was less apparent mustard taste compared to #3, and a slow building heat as opposed to the instantaneous heat of #2.

Arcane Ages/TERAMUD: Necromancer overhaul

It came to my attention a while back that the Necromancer class on the MUD had a large collection of glaring issues.  With help from Winterstar and Lascelles I was able to sink a good deal of time into fixing myriad problems with the class. A list of the changes is presented below:


  • Ghost, lesser and Ghost, greater were fixed such that the ability works as indicated in the helpfile.
  • Ghoul, devouring no longer summons a skeletal fury instead. The ghoul now eats corpses on command.
  • Ghoul, venomous no longer summons a lesser wraith instead.
  • Greater shade now works.
  • Shadow warrior now works.
  • Summon Dracolich now has help file.
  • Summon lich now works. Helpfile added to clarify current working.
  • Wraith Lord no longer summons a Wraith Knight instead.
  • Damage, AC, Stop, and abilities adjusted to make pets more comparable to golems, treants, phantasms, and other summons.
  • Abilities adjusted to maintain themes for each line:
    • Skeletons (and skeletal dragons) are aggressive, susceptible to fire and acid attacks.
    • Ghouls are more resilient and immune to poison and draining attacks.
    • Shades are incorporeal, making them harder to hit.
    • Wraiths hit harder, possess potent cold-based attacks. Immune to cold, and draining attacks.
  • As Necromancers rely on their pets as a primary damage source, all pets now incur NO PENALTY to earned XP. Go forth and raise an army!
  • All summons now use dissolve(), meaning objects inside targeted corpses drop in the room instead of being destroyed. The same function is used when the Ghoul, Devouring feeds.
  • All summons renamed to fit the "Type, Subtype" template.

Other spells

  • Blackmantle works now. Help  file has been updated to describe how it functions.
  • Messages fixed on Soul whip. Fixed major typo in help file.
  • Messages fixed on Shadow gate.
  • Added damage formula to help file for sap and sap, minor


  • Added par rune at level 100 to allow spectre touch to be learned at 106.
  • Added bod rune at level 145 to allow backmantle to be learned at 148.
  • Added met rune at level 54 to allow dispel magic to be learned at 54.


  • Unearth corpse has been disabled for the time being.
  • Necromancy i, ii, and iii renamed to Necromancy Mastery i, ii, and iii to better fit with the other mastery skills.

Help Files

  • Help file for the necromancer class has been updated
  • Help files for all the summons have been grouped by line (e.g. shades, wraiths, etc).

There's still a few issues that I will be working on as time goes on, namely:

  • Zin'Carla doesn't work, might require new low-level features to be implemented.
  • Necromancy Mastery doesn't actually do anything useful at present.
  • Necromancers get alchemy (brew potions) but don't learn any useful
  • Nethershield can't be brief'd like normal damageshield messages.
  • Negative energy spells can't be aimed at undead minions, regardless of nice settings. Necromancers should be able to heal their pets.

Arcane Ages / TERAMUD Areas Listing

I played TERAMUD (now Arcane Ages) for years and years. It's a MUD, or Multi-User Dungeon and it is still in operation. There was some interest in the Facebook group for this game for a set of directions to all of the user-built areas in the game. Given that I spent so many years tooling around that world, I had a good number of them memorized and a few of them foggily recalled. A bit of running around on the MUD fleshed out the set, which I've included as an Excel file. I realize I'm lacking the areas for the Lost Continent, which I sadly never got around to exploring in earnest. If anyone has content they'd like me to add to this hosted version, either send me what you'd like to add or just send the edited version of the sheet. Either way, do indicate how you'd like to be credited.

I should warn that there are a few spoilers in the notes column regarding which areas have deathtraps in them. Though given the low traffic on the MUD I figure this is information that was once freely available by word of mouth, is probably fair game for sharing.

The file: ArcaneAges_TERAMUD_Areas

Binding: Black Widow 1-5

On a recent trip to Berkeley I helped my girlfriend learn to bind books, starting with a few comics she had on hand. Given that single comic books are essentially built like the signatures of a larger book, this turned out to be fairly easy. The method for binding is available in many books and on many other websites , so I'll spare the details and get to the photos. The cover was printed at a FedEx location using their color plotter for a few dollars, but the paper does seem to attract fingerprints and smudges. The biggest difference between the result and a commercial trade hardcover, aside from the whole custom aspect, are the advertisements, which are fairly irritating.


BW 1-5 Cover

For the cover we chose the minimalist poster done by Olly Moss for Mondo Posters. You can find more of her work here.

BW 1-5 Front

We cut a frame into the front flyleaf to not only frame the cover of the first issue but also to obscure excess information. Unfortunately the glue adds too much stiffness to the thin pages, and we'll likely stick with the normal method on later comic-bindings.

BW 1-5 Middle

The book lays fairly flat and has a crimson bookmark ribbon.

Magic: Mark of the Vampire Alter

I'm clearly still getting the hang of acrylic paint alters, but I'm making some progress. After weeks in a half-completed state I returned to this one and finished it this evening. Why this card? The last time I drafted my cube my friend stomped me 3-0, every time this card hit the table it ended the game. Always run removal, always. Mark of the Vampire

Late Semester Hiatus

It's been a while since I've been able to post any updates, mostly due to work demands as the semester wraps up. I've got several projects started and will definitely post about them once I have progress!