Stoner’s World

Ravings of a keyboard cowboy

» Font Size «

I’ve started my first brew. I’ve got the crushed crystal, chocolate malt and black patent grains steeping. The cans of liquid malt are in a pan of hot water (warming it will make it pour easier.) Once all the malt and bittering hops are in, it’s a 45 minute boil, then finishing hops for another 10 minutes. After that, I toss in the aroma hops for 5 after I remove it from the heat. From there, it’ll get chilled, poured into the carboy and I’ll toss the yeast, plug it up with an airlock and let the magic happen. This recipe is for an American style nut brown ale.

Edit: I’ve entered the boil. From here, it’s a 45 minute wait (with the occasional check-in to make sure things aren’t boiling over.)

Lessons learned #1: conduct boil where there’s no wind. The wind is blowing enough to dissipate the heat, which is causing the boil to go from a strong simmer to a rolling boil. The variation is killing me. Next time, get a wind block, check the weather or do it some place with 4 walls and a ceiling.

Edit: just added the finishing hops. 10 more minutes of boil, then a 5 minutes rest after adding the aroma hops.

Edit: the brew is done. It’s sitting in the carboy, wrapped in a blanket, fermenting. Now we play the waiting game.

My autosiphon, tubing and bottle brush arrived on Thursday. My father-in-law brought the propane burner Saturday. I had everything necessary to begin brewing my first homebrew…except good weather. We worked all day Saturday (when the weather was prefect) so I couldn’t fire up the brew pot. On Sunday, the clouds rolled in and it sprinkled all day, which meant I couldn’t boil wort.

It wasn’t a total loss. On Saturday, the family piled into the Blazer and we headed over the Strasburg to the antique dealers. I picked up two nice decanters. I scrubbed them out using the bottle brush and plenty of hot water+soap. I filled one with my homemade amaretto and saw exactly how much sediment was in it. Turns out, not too much. Next time, I’ll double-up the cheese cloth to filter out more of the lemon zest. I’ll also use some brown sugar to give it a darker amber hue (plus the touch of molasses should be nice.)

I’ve been toying with the idea of making moonshine to serve as the alcoholic base for future liquor-making endevors. I need to research the legality of that. Quite frankly, I’m happy using vodka as the base for amaretto but I feel it would be more fun to do it all - distill my own alcohol then turn it into something more, like a Southern Comfort or a Drambuie-style liquor.

Over the past weekend, I went on a hunt for beer-making supplies. In Winchester, I found Murphy Beverage Company. They have beer and wine and equipment for making said beer and wine. It’s a small store with a corresponding small selection of…everything. But, they do carry hops, malts and yeast and since it’s the only store in the area like it, its all good. I bought a funnel with a built-in screen, a bottle capper and a carboy brush.

I still lacked a very, very key piece of equipment - a brew pot. What I wanted was a 6 or 7 gallon stainless steel pot. Catalogs, like Cabela’s, list such a device at approximately $120-$150, not including shipping. I went to every place I could think of that might carry such pots, Gander Mountain, Sears, JC Penny, Lowe’s, Home Depot, etc. The closest I could find was a 5 gallon aluminum pot, which is both too small and the wrong metal.

Finally, I broke my long-standing resolution to never again set foot in a Wal-mart. Let me tell you, I hate Wal-mart. With a passion. Every store I’ve been in is always the same: 8 billion people, employees who don’t know where anything is and 2 cashiers. And they’re always like that, no matter the hour of the day.

I went in because my wife needed to return something, shampoo or some such, I don’t know. I was grumbling with a storm cloud over my head at the prospect of walking those aisles. I meandered around and found myself in the kitchen section. I looked up and was blinded by a bright light shining off..what, I couldn’t tell (I was blinded, duh.)  I shuffled over and reached out a hand to grasp…a handle of a metallic object. I pulled it off the shelf with trepidation. The weight forced me to hug it close to me. When my vision returned I looked at what I was holding. It was a large cylinder made of metal. As I rotated it in my hands, the label came into view (well, the English text of the label, that is.) A 22 quart, stainless steel cooking pot! A quick, mental calculation - 4 quarts in a gallon, 22 divided by 4 equals 5 remainder 2 or 5.5 gallons. Disbelief shone on my face like a fog light searching out lost ships. I was large enough*, the right metal, and the price…an unbelievable $49.99.

I trembled as I made my way to the registers. Something wasn’t right with the scene before me. The nearest 3 registers had only 1 person each, not the line to the back of the store I was accustomed to. I nearly fainted but was able to steady myself by leaning on the elderly lady carrying two 50 pound sacks of water softener salt. I slid into the register aisle closest to me. As my pot inched closer to the magical laser thingy that scans the bar code, I kept looking around, expecting someone to tackle me, declaring that I was in the special “elderly persons faced with hip replacement surgery” line and forced to carry my item to the back of the store to wait in line for a cashier with bad acne and no teeth. With trembling fingers, I swiped my credit card through the card do-hickey, fearful that I would wake up in my bed - all this a cruel dream. When the cashier handed me the receipt, I realized it was real…I wasn’t dreaming. I had purchased an item at Wal-mart without waiting an eternity in line behind a down-trodden mother carrying a baby with an ear-splitting wail. The cashier was courteous, polite and looked to have at least a high school education. I danced my way to the car, jubilant at finding my brew pot!

Oh happy day!

* I was hoping for a 6-7 gallon pot but a 5.5 will do nicely. I plan to freeze 1 gallon of water and brew using 4 gallons. When the boil is complete, I can put the 1 gallon ice block in to a) cool the wort and b) bring the volume closer to 5 gallons.

So far, I have the following equipment and ingredients for my brewing adventure:

  • 5 gallon carboy
  • hydrometer (with tube)
  • 2 air locks
  • sanitizer
  • liquid malt extract
  • powder malt extract
  • grain malts
  • grain bag
  • hops (pellets)
  • yeast
  • priming sugar
  • bottle caps

All of this courteous of my father. The equipment is from his wine making excursions. The ingredients come from a kit he bought me for my birthday. It’s for a brown ale, which suits me just fine.

I still need the following equipment:

  • 8 gallon stainless steel pot
  • propane burner and stand (optional but preferred)
  • food-grade tubing
  • siphon
  • bottle filler
  • capper
  • secondary fermenter or a bottling bucket
  • thermometer (something more appropriate for brewing then the ones I already have)
  • bottle washer

I figure I can easily make a bottle tree for drying the bottles after sanitizing them. Oh, and I need bottles - about 5 dozen or so. I’m excited. This is going to be fun.

I started using last.fm about a week ago. So far, it’s done a good job of “discovering” music that’s similar to what I like. One artist that kept popping up was named Cargo Cult and the songs were damn good. So, I checked them out at Magnatune. I’ve shopped at Magnatune before and what I really like about Magnatune is the transparency. They tell you how you can and cannot use the music (which most record companies simply tell you what you cannot do with it,) they disclose how much they pay the artists for album sales, they let you pick how much you want to pay for the albums, they use non-DRM encumbered formats so you can listen to your music however you like…Magnatune is all kinds of goodness.

Another benefit of buying from Magnatune is they encourage limited sharing of the music by allowing you to give 3 copies of what you bought away to friends. So, I bought Cargo Cult’s album Alchemy and can give it to 3 others. Preview the songs at Magnatune and if you like what you hear, let me know and I’ll send you a link to download the album.

New year (well…3 months into it), new code and a new design. Things were getting stale and I was not very happy with the version of WordPress I had installed…so I upgraded. WordPress still doesn’t do everything I want, however. I did find a couple plugins that aim to provide some of the functionality I want, namely a built-in wiki system. One was poorly documented and didn’t seem very well thought out. The other only allows you to create wiki pages on the admin-side of WordPress - not at all what I want. So, I’ll keep looking and testing.

SpaceX is cool. No, really. Using their Falcon 1e rocket, you can launch a 1010 kg payload into orbit for a mere $9.1 million. Makes me want to build a satellite just thinking about it.

I was able to attend OpenSQLCamp 2008, even while under the influence of DayQuil, jetlag (spent the week in Santa Clara), 3 hours of sleep and a 2 hour drive. Then there’s folks like Arjen who flew across 15 times zones and was still coherent - I guess I’m just not cut out for lots of travel in short time spans. Oh well.

The un-conference was great. You didn’t have the distractions of vendors with big obnoxious displays promising the sun/stars/moon, sales droids trying to peddle wares, marketing puppets who still think vendor lockin is a great strategy - just some really smart folks getting together, sharing what they’ve learned and collaborating. People from MySQL, Drizzle, Postgres and SQLite were there.

Brian Aker’s keynote was insightful. I liked the sticker on his laptop: “My other computer is a data center.” Vadim’s session on the Percona patchset helped illustrate what patches they include in MySQL and why. A particularly good side-conversation in the session was Brian highlighting a need for someone to pick up management of the InnoDB code. Since InnoDB is developed behind closed doors, someone can step up and put up a mailing list so the community can coordinate 3rd party patches into a single, cohesive code base. provide for a community-driven time-line of features, fixes, etc. The Oracle/InnoBase developers would be most welcome however their lack of communication in the past has necessitated this.

Arjen’s OurDelta session explained what the OurDelta project is about and how it works behind the covers. For me, this highlighted, in my mind, how MySQL is becoming fractioned due, in part, it MySQL’s/Sun’s development strategy. With such long time lines between releases, many patches containing fixes and features are put out there by the community and different people are bundling the patches and releasing new versions. OurDelta and Percona are the prime examples. They don’t always include the same patches in their releases. In all honesty, calling OurDelta or Percona’s distributions “MySQL” is misleading and leads to confusion. They are derivitive works based on MySQL’s code - forks.

Jay Pipe’s Join-Fu talk was entertaining. Besdies learning what really annoys Jay (the phrase “chaps my ass” was used a lot,) I learned a bit about the internals of MySQL that I can directly apply. I did not know that stored procedures were compiled and cached on a per-connection basis, not across all connections. This can have serious performance implications.

Dr. Richard Hipp’s talk on How SQL Database Engines Work was good. It revealed the good and bad of retrieving data from indexes and data tables. After the talk, one is almost left wondering how in the world databases work at all given the how extremely complex data retrieval can get. Yay smart people!

Peter Zaitsev filled in for Piotr Biel for the Sphinx talk. I had heard Patrick Galbraith discuss Sphinx during a MySQL Webinar on memcached UDFs a few weeks ago so I was just refreshing what I had already learned.

Kelly McDonald presented their work on developing a complete auditing system in Postgres for all database activity (or activity on the tables they were interested in.) Auditing systems can be annoying to develop so it was good to see how they did it. With a little C code and some triggers, they were able to identify all data changes down to the end user submitting the changes, including the web session - all vital for debugging problems in today’s complex web applications.

Finally, I sat in on the Lightning talks. Giuseppe Maxia gave a demonstration of the MySQL Sandbox. I’d heard about it but was impressed with the simplicity it affords. Ronald Bradford put out feelers for MySQL monitoring (what people use, what people should use, what should get monitored, etc.) Baron showed how to create snapshots using LVM for purposes of backing up MySQL. There were others but my head was quite fuzzy and sleepy with the onset of the Food Coma from lunch.

Hackathon. Sadly, I was feeling too crappy to drive back to Charlottesville to attend the hackathon on Sunday.

Thanks to Baron for dreaming this up and actually setting the wheels in motion. If you missed it, you missed out.

I want to read code. I want to test patches. I want to contribute. With all the different source code managers out there, it’s a royal PITA. To illustrate, I need to know rcs, cvs, Subversion, git, Mecurial and Bazaar and that’s just the beginning. Many of the development tools I use only support CVS or Subversion - integrating other SCMs is possible but it usually takes a certain amount of duct tape. Many SCMs have web interfaces that allow you to browse the tree but it’s no substitute for a genuine SCM client.

Trying to remember all the different commands to pull code, generate diffs, push code, branch, rename, log notes, update, etc. across the different SCMs is enough to make you want to pull your hair out at times. What would be a God-send would be a “universal” SCM client that understands the different back-ends, while presenting a unified command set to the user. Such a client should hide all the SCM-specific crud but provide a means to let those who know the ability to use the SCM-specific features when and where they need it.

I was watching a college football game a weekend or two ago when one of the announcers made probably the most revealing statement I’ve ever heard. He said “[university] has a hard time getting good players because their academic standards are so high.” This can only be punctuated with two stories, told to me by the people who were there.

 Story 1

At a University computer testing center, a proctor asked a student, who came in to take a computerized test, for their ID. It’s standard practice. The student pulled out the University magazine, pointed at the cover showing the star basketball center going in for a lay-up and said “that’s me.”

Story 2

An assistant professor was about to hand out the final test for the semester when he noticed someone he’d never seen in class before. “Excuse me, but who are you?” he asked. The student looked up and replied “I’m the nose tackle for the football team,” expecting that his response would be sufficient for anyone around campus. After a few minutes of back-and-forth conversation, the professor handed him a test. Needless to say, the professor was pressured to pass the student, even though he had never attended class and was given special permission to write a paper to “make up” for any missed class work - a paper the professor helped the student to write.

There stories sound made up but they were told to me by the proctor and the assistant professor, not by a second-hand witness. When I heard the 2nd story, I felt cheated. In my view, the value of the education I was sweating and tearing my hair out to pay (to the tune of over $10,000 a year) dropped considerably.