Wednesday, February 23, 2011

Collecting classes into packages

I was going to write a blog post on how it's easy to find information about how to design classes well, but always difficult to find information on how to separate classes into packages.

Then I stumbled upon this wonderful collection of Robert C. Martin's articles on object oriented design.



I know about the SOLID principles, but was unaware that he wrote anything about package design.  I'll take a gander at it, then when I have a spare moment, as usual, I'll use the blogosphere as a medium to organize my thoughts about his suggestions.

Friday, February 18, 2011

Writing and Communicating

We software developers are experts at communicating with computers.  We master languages in order to elicit complex and intricate behavior while simultaneously making sure everything we write is consistent and clear.  We have to keep in mind both the tiny details of syntax as well as the larger concepts of system consistency.

Yet we often are terrible communicators.  We drag out meetings talking about meaningless and useless drivel.  We cannot write English to save our lives.

Why this strange (and not to mention frustrating) dichotomy?

Perhaps it's simply emotional intelligence.  In order to communicate with others, one has to be highly aware of his or her own emotions as well as the emotions of the other person.

If you make a mistake writing software, the implications of that bug are logical conclusions stemming from the bug itself.

If you make a mistake communicating with others, the implications are diverse and non-deterministic.  They are dependent on the emotional state of that person, your surroundings, the time of the day.  It's an utterly complex and chaotic system!  No  software developer in their right mind would design such a system;  God must have a sick sense of humor, or just happened to major in Philosophy and Religion instead of Engineering.

So what do we do?  We must practice.  This is one of the reasons I started this blog.  We need to become better communicators.  If you're a software developer, and you're reading this, then take this as a hint.  You need to start practicing.  Communicating with others is difficult.

One quick and easy way to get started is by listening to the audio book How to Win Friends and Influence People.  Trust me - don't read the book.  Listen to the audiotape.  Why?  This book teaches you how to communicate and speak effectively.  Since we often learn by imitation, we don't want to merely read something.  It's much better to hear it so we can imitate it in our day-to-day lives.

Listen to it on your commute to work.  You won't be disappointed.

Thursday, February 17, 2011

My Meads

All 3 of my meads are aging.  I've learned a lot this time around, most notably that you can't use a refractometer for a final gravity measurement because alcohol has a much higher refraction index than water.  This was a bit of an annoying discovery; I kept thinking that my fermentations were "stuck" (settling out at 10% brix), when in fact they were nearly completely dry.


Details follow for each mead:
  • A Cyser:
    • Primary:  Trader Joe's Apple Cider, raisins, dates, brown sugar, honey, yeast energizer, and Lavlin D-47.
    • Secondary: I threw in some bits of lemon, more brown sugar, and honey.
    • First month of aging: I chopped up a granny smith apple which I added directly to the mead. I really like the starchiness of granny smith apples and wanted to incorporate that starchy twang into the mead. The results, it turned out, were excellent.
    • Tasting notes:  This mead has a huge wallop of apple and honey up-front with a nice starchy, (almost potato-like) finish.  It was a bit too cloying in initial taste, so I put a bit of acid blend into two out of the four bottles used.
    • Approximate Alcohol Content: Probably 12%?
  • An Acerglyn (Maple Mead)
    • Primary:  4 cups Trader Joe's Grade B Maple Syrup, 3/4 cup Honey and Lavlin D-47.
    • Secondary: More maple syrup, and since I decided after-the-fact to make this a dessert mead, Red Star Champagne Yeast.
    • Note:  I just realized that I could have made an even more intense dessert mead had I used Red Star Premier Cuvee yeast.
    • Tasting notes after secondary:  This thing is completely dry.  Back-sweetened with at least a cup of maple sugar (didn't keep precise measurements).
    • Approximate Alcohol Content: Probably 15%?
  • A Ginger/Heathertip Metheglin
    • Primary: Enough honey to make a gravity of 23% and a whole lot of ginger.
    • Tasting after primary:  Woah!  Almost medicinal ginger twang.  I have to find a way to smooth this out.  To do this, I chose heathertips and fresh lemon zest.
    • Threw some heathertips and lemon zest into a mesh bag along with some dimes wrapped in tin foil (to persuade it to sink) and dropped it into the carboy.  Let it sit for 2 days.
    • Subsequent tasting:  Much better.
    • Starting Gravity: 23%
    • Final Gravity: ~3% Brix
    • Approximate Alcohol Content: ~13%

I will post about the meads again once they finish aging.

Wednesday, February 16, 2011

Lord Hobo

Went to Lord Hobo tonight.  Their food is somewhere between OK and just bad, but their beer selection is out of this world.  My first beer was the Pretty Things Jack D'Or.  What a spectacularly alive beer that is.  Lemony, Zesty, Fresh.  Just a wonderful brew.  Though don't you dare get it in a bottle.

The second beer I got, and I always love this beer, is the CBC Big Man IPA.  What a spectacular example of a Winter IPA.  Big, bold, malty, and grassy.

Tuesday, February 15, 2011

Respect

I have one thing to say about respect:

One cannot gain respect unless one shows it.

Think about that.  When you're talking to your boss, your spouse, your children, your teachers, your parents, it's always the same.  If you don't respect them they won't respect you.

One may suggest that this is very similar to the so-called "Golden Rule."  ;)