Talks
Homebrewing, Simple as Ruby
Summarized using AI

Homebrewing, Simple as Ruby

by Jason Clark

In the video "Homebrewing, Simple as Ruby," Jason Clark explores the parallels between homebrewing beer and programming in Ruby, using his experience as a homebrewer to illustrate the creative and experimental aspects of both crafts. He emphasizes that while professional brewers and crafted beers are widely available, the journey and satisfaction of creating something yourself can enhance the overall experience, much like programming a new application despite the abundance of existing tools.

Key Points Discussed:
- Why Homebrew?

Jason begins by addressing a common question: why brew your own beer when quality craft options exist? He likens the homebrewing journey to the constant evolution in technology and programming, where personal creation leads to unique experiences.
- Ingredients of Beer:

He outlines the four essential components of beer: water, grain, hops, and yeast. Dismissing the myth that only the most pristine water matters, he explains how ingredients interact similarly to text in Ruby, offering flexibility in the brewing process.
- Brewing Process:

Jason details the steps of brewing, including mashing and fermentation, highlighting options for beginners like using malt extract instead of all-grain brewing. He draws parallels with programming frameworks that provide foundational support, allowing for experimentation without excessive complexity.
- Sanitation and Equipment:

Emphasizing cleanliness in brewing, he discusses necessary equipment such as fermenters and airlocks, stressing the importance of maintaining sanitation to avoid microbial contamination.
- Unique Recipes and Community:

He shares anecdotes about his unique homebrews, including a Thai pale ale and a bourbon stout, emphasizing the creative potential of homebrewing. This mirrors the collaborative and innovative culture of the Ruby programming community.
- Conclusions and Takeaways:

He concludes by encouraging audience interaction and sharing of personal brewing experiences, reinforcing that both brewing and coding are about passion, creativity, and community engagement. The exploration of flavors in beer mirrors the diversity in Ruby development, fostering a lively exchange of ideas.

Jason's engaging talk demonstrates that both homebrewing and programming can be accessible and rewarding, inviting creativity and experimentation while forming a vibrant community around shared interests.

00:00:17.279 Hey everyone, it's good to be here today. I'm Jason Clark, and I work for New Relic. If you've ever installed the New Relic RPM gem, you're probably running some code that I've written. However, that has very little to do with what we're here to talk about today.
00:00:28.439 Since this is a conference at Ruby on Ales, I thought it would be appropriate to discuss the beer side of things with some loose analogies to Ruby. I have been homebrewing since about 2006, in various capacities, and I have really enjoyed the process. I want to walk you through how that works, discussing the process of making beer and drawing connections to Ruby and the aspects of development that I love about both.
00:00:48.800 One of the first questions that probably comes to mind when people think about homebrewing is: why? Why would I brew my own beer? I mean, seriously, I live in Oregon, specifically in Portland, where statistics suggest there is a wide variety of excellent craft brews available. That seems pretty accurate to me. So, why take on something that so many people are already doing professionally?
00:01:20.920 It's a lot like programming. Why would someone try to write a new web server or invent a new operating system? We already have enough programming languages like C that were created decades ago and should be sufficient for us, right? Well, clearly that's not true in technology, and I believe it's also not true in brewing. There's a lot to be gained by doing it yourself, experiencing it firsthand, and enjoying the output of what you can create.
00:01:59.399 Let's talk a little about the ingredients that go into beer. There are four basic components that any fermented beverage will have. First off, there's water, which makes up most of beer. While it does matter, it isn’t the most crucial element. For example, I use my tap water at home, which works fine. If yours has an unpleasant taste, you might consider using bottled water.
00:02:39.360 This reminds me of how, in Ruby, everything is derived from text. Coming from a C background where I had to deal with a lot of compiled code, it's a breath of fresh air to know everything is text-based in Ruby. It's a beautifully simple system, much like the water we use when brewing.
00:03:31.280 The next major component is grain, typically barley, though other variations can be used. This grain undergoes malting, a process where it is partially sprouted and cooked to extract the natural sugars, which will ultimately feed the yeast and create alcohol during fermentation.
00:04:12.599 Once the grain is malted, it must be milled to break it down before going through a mashing process. During mashing, we hold the grain at a specific temperature for a long time to convert dextrins and maltose into fermentable sugars. This step can seem complex, but remember, we are aiming for simplicity here. For beginners, a great alternative is using malt extract, which simplifies the brewing process by providing necessary sugars without extensive control over flavor.
00:04:57.959 While brewing from grain is enjoyable and instructive, you don't need to go through the trouble to make your own beer. Using malt extract can yield good beer, giving you a more straightforward brewing experience. This is akin to using a framework in Ruby; it provides a foundation to build upon without getting lost in the intricacies of the underlying processes.
00:05:58.400 When it comes to brewing extract beer, specialty grains can add complexity. Different grains can be added in small amounts to enhance the beer’s flavor. For instance, certain toasted or caramelized grains can add appealing notes, much like installing gems to provide unique functionalities in your Ruby application.
00:06:46.800 Hops are another essential ingredient in beer, primarily serving to add bitterness. Many people do not associate bitterness with pleasant flavors, but it's critical for a well-balanced beer. A beer that is entirely malty without a hint of bitterness doesn't taste right. Hops can be added both early and late during the brewing process to provide body and aroma, respectively, similar to customizing your development environment to suit your workflow.
00:08:05.319 The final major ingredient of beer is yeast, responsible for converting sugars into alcohol and carbon dioxide, which gives the beer its effervescence. There are two major types of yeast: lager (bottom fermenting) and ale (top fermenting). Lagers produce a clear and crisp beer but require more precise brewing conditions, while ales are more forgiving and can be brewed at room temperature.
00:09:02.720 Certain Belgian beers are known for their unique flavors derived from their yeast strains, which can impart fruity aromas reminiscent of bananas or bubblegum. These exotic flavors are sometimes produced through wild fermentation, where brewers leave their vats open to allow wild yeasts from the environment to enter the mix. Essentially, yeast can have an immense impact on the flavor and character of the final product, much like the processes that drive our software applications.
00:10:06.920 Now, let's discuss the equipment you'll need to brew beer. First, if you have access to a homebrewing shop, I recommend visiting it. They are often eager to help newcomers and provide valuable resources, recipes, and advice. One of my favorite references for homebrewing is a book by Charlie Papazian, which is accessible and filled with crucial information for beginners.
00:10:39.920 You'll need some way to boil your beer, which requires a sizeable pot. While I use an upgraded kettle that has a spigot for easier draining, a standard stockpot works perfectly fine for beginners. Additionally, having a fermentation vessel is crucial. This is typically a glass container called a carboy, around 5 to 6 gallons in size. It's important to have a handle on it since they can be heavy and somewhat slippery.
00:11:51.160 After fermentation, you'll need an airlock, a small plastic device that keeps out contaminants while allowing gases to escape from the fermenting beer. Moving beer at various stages requires some tubing and a pump. If you plan on bottling, you'll also need a bottle capper to seal the bottles once they are filled. The process of homebrewing can evolve into numerous upgrades that ease your workflow.
00:12:43.919 Maintaining thorough notes about what you've brewed—especially a full list of ingredients—is essential. One of my disappointing experiences was successfully brewing an excellent Imperial stout and failing to document the ingredients. When I tried to recreate it, I realized I had no idea what went into it. Recording your process ensures you'll be able to repeat your successes and refine your mistakes.
00:13:52.239 It's crucial to focus on sanitation when brewing. When you introduce yeast to a sugary liquid, it can create an inviting environment for unwanted microbes. Proper sanitation, typically achieved with iodine or other solutions, is vital for producing good beer. However, don’t let worries about cleanliness stress you out. Many have been fermenting beverages for thousands of years, long before the sanitation knowledge we have today. So, while sanitation is essential, it shouldn't overwhelm your experience.
00:14:57.440 The brewing process begins with the boil. You’ll add water to your brewing vessel and bring it to a boil. I generally start with about 12 gallons of liquid to yield around 10 gallons of beer. Be prepared for some evaporation during the boil, which can vary based on the vessel shape you use. Once boiling, add your grains (if applicable) in a bag and begin heating everything to the desired temperature.
00:16:16.319 After heating, you add your malt extract slowly while stirring. Be careful not to let it stick to the sides of the kettle, as it can burn. As the bubbling begins, pay attention to avoid boil-overs; you can lower the heat or use a sprayer to knock down any excessive foam. Once the extract is mixed in, you’ll typically boil the mixture for an hour. Hops are added at two points: initially for bitterness and later for aroma. This is where a good balance comes into play, just as in balancing features in software development.
00:18:31.320 After boiling, you'll want to cool the mixture down. Yeast cannot survive in hot liquid, so you need your beer to reach around 80 degrees Fahrenheit before you can transfer it to the fermenter. Using a wort chiller can help speed up this cooling process. If you don’t have one, you can cool the beer by adding frozen distilled water. Just ensure you get it to the right temperature before moving forward.
00:20:35.600 Once cooled, add your yeast to initiate fermentation. Place your airlock on the fermenter, and set it aside to let the yeast work its magic. During this phase, you may notice bubbling activity, which indicates fermentation is occurring. After a while, the bubbling will slow down, and you can determine that fermentation is complete and it’s time to transfer the beer to a secondary vessel.
00:22:23.200 The purpose of moving to the secondary is primarily to allow more sediment to settle before bottling. After transferring, it’s beneficial to leave the beer undisturbed for some time. This process is similar to giving your code a break after a major change, allowing it to stabilize before revisiting. The longer you leave the beer in secondary, the cleaner it will be when bottled.
00:23:16.560 When you're ready to bottle, remember that you can reuse glass bottles. Ensure they are well-cleaned and sanitized. I often use a bottle brush attached to a drill for thorough cleaning. Once cleaned, I run them through the dishwasher on the hottest setting without soap to sterilize them. For bottling, you’ll want to use corn sugar to carbonate your beer while it’s still in the bottle.
00:24:52.000 During bottling, add a small amount of sugar solution to your beer before sealing it with caps that you've boiled for sanitation. This will help carbonate your beer as it conditions in the bottles. Ensure that you have enough headspace in each bottle to allow for gas to form during fermentation. Like sharing a repository on GitHub, bottling allows you to share your homebrew with others.
00:26:33.920 Once bottled, you need to let it rest for a couple of weeks. During this time, the beer will mature and develop better flavor profiles. Most beers will improve with additional aging beyond the initial conditioning time. This is essential, especially for richer, darker beers that develop complex flavors over time.
00:27:51.480 One of the reasons I love homebrewing is the variety it allows. In Portland, while you have access to many beers, some unique flavors can only be created at home. For example, we made a Thai pale ale with ginger and Thai peppers from the garden, which yielded a unique brew. I’ve also made a bourbon stout with soaked oak chips for rich flavor, and a spicy habanero amber ale that delivers quite a kick.
00:29:30.760 The diversity of homebrewing resembles the Ruby community's vibrancy, filled with various ideas and approaches. Just as brewers share their innovations, I love discussing Ruby with fellow developers and hearing their perspectives. As I conclude, I have some homebrew to share; I hope to see some of you coming up to speak with me about your brewing journeys.
00:30:14.600 Thank you for your attention, and I look forward to our conversations.
Explore all talks recorded at Ruby on Ales 2014
+3