iMarc | Interactive Media Architects
  • Portfolio
  • Process
  • About
  • Communiqué
  • Contact
  • Support
  • Search

Steve Albini, Guitar Amps & Encapsulation

by Dave Tufts - May 25, 2007 / 2:46pm View more articles

Music and programming seem to go hand in hand.

Steve Albini plays and records music. In addition to playing guitar and singing for the band Shellac, he is also a highly recognized audio engineer.

I'm not sure if Mr. Albini knows anything about computer programming but he certainly understands the concept of encapsulation. Encapsulation, in computer programming, conceals details of how a piece of software works. Sometimes called information hiding, one of the goals of encapsulation is to provide the most restrictive, most protective interface into the software.

The concept of encapsulation is clearly demonstrated in Steve Albini's beautifully simple, homemade guitar amplifier.

Public

The public interface to Mr. Albini's amp is a completely non-descript aluminum box with three controls:

  • 1 large power button with a blue indicator light
  • 1 giant volume knob (excellent usability, Steve)
  • 1 VU meter to precisely monitor output levels.

Albini and his amp

Protected

Like any good object oriented programmer, Steve Albini strings a number of more complicated components together inside his clean public interface.

Looking inside the homemade aluminum box, we find...

  • an old Tapco IVP Transistor preamp
  • a 1965 Fender Bassman head
  • a small Carver 50-watt amp.

Inside Albini's amp

Info and graphic from GuitarGeek.com

Similar to the world of programming, these protected components can be overridden or changed, but require knowledge of the system. If Steve is in the studio and needs more treble on the guitar, he can open up the aluminum box and change the settings inside.

Private

Finally, there are "private" components–the transistors, tubes, pots, and electronics in each amplification device. Updating these, much like updating a private method in object-oriented programming, requires intimate knowledge of the system.

Show vs. Hide

When programming, we tend to start as restrictive as possible. However, a minimalist public interface is not always ideal. Whether it's an amp with just a volume knob or Google's seeming simple interface, if I need to change a setting frequently, hiding that setting is less usable. If Steve Albini wanted to constantly fiddle with the mid-tone setting on the Fender Bassman, his aluminum box public interface would be a horrible design decision.

In programming, after starting with highly restrictive class, there eventually comes a time when we need to access data outside the private scope. When that day comes, do the following:

  1. Question whether you really need access to the data
  2. Try and figure out a way to access the data using existing methods - use your imagination...
  3. Repeat steps 1 and 2
  4. Edit the private method and make it protected or public

Do that, and your computer programs will be as cool as Steve Albini's guitar amp.

More Articles Get the RSS Feed Post A Comment

1 Comment

by Joseph Smith, Jr., Jr.   #
on June 19, 2007 / 11:19pm
I don't think that model Bassman has a midrange tone control.

Comments have been turned off on this blog.
Read something more recent.

Statements and opinions expressed in this blog and any comments made are the private opinions of the respective poster, and, as such, iMarc LLC is neither responsible nor liable for such content.

iMarc

iMarc is a web development company in Newburyport, MA. This is our blog.
View all blogs or learn more about iMarc.

About the Author

Dave's Head Dave Tufts, Vice President of Technology
I help people build websites.
I have two daughters.
I'd rather be gardening.
More blogs by Dave

Search Our Blog

Recent Communiqués

  • Lunchroom Banter (Volume XVIII)
  • Building a Museum Website
  • iMarc is 11 years old today
  • Pre-holiday hijinks
  • Look and Feel
  • Gardening and Web Writing
  • Trusting Experts, Part 1
  • USC Trojans vs Oregon State Beavers
  • On My Days Off
  • Make your site 52.676% more cool
  • iMarc Grows (again)
  • Laying the subfloor
  • Inc. 5000
  • Say Hello to our new Sys Admin
  • "Not Invented Here" for a Triple Word Score

Popular Communiqués

  • Building a Museum Website
  • iMarc Grows (again)
  • iMarc is 11 years old today
  • Pre-holiday hijinks
  • Laying the subfloor
  • Lunchroom Banter (Volume XVIII)
  • Trusting Experts, Part 1
  • Look and Feel
  • Make your site 52.676% more cool
  • Inc. 5000

Recent Comments

  • Lunchroom Banter (Volume XVIII)

    By Patrick McPhail: What you'll notice is that in both scenarios I suffer.

  • iMarc is 11 years old today

    By soso: happy life day

  • iMarc is 11 years old today

    By Nick: When a company has a birthday, does that mean the CEO's had sex? …

  • iMarc is 11 years old today

    By Marino: Happy Birthday!

  • iMarc is 11 years old today

    By Josh Cole: Happy Birthday! Can't you use both your fingers and toes to count?

RSS

RSS Icon Learn about RSS and get the feed for our blog.

About iMarc

  • We build custom web sites
  • In-house strategy, design, programming, hosting
  • In business since 1997
  • We’re located in Newburyport, MA
  • Call us at (978) 462-8848

© 2008 iMarc LLC, Contact Us

Links

  • Home
  • Portfolio
  • Client Support
  • Log In
  • (icon)RSS

Meet the Team

Bill's Head Bill Bushee, Senior Developer

I handle all aspects of building a database driven dynamic website. This involves creating the initial pages and web forms in HTML, designing the database structure, and writing all of the appropriate server side scripts to handle data and manage the site's interactive features.

Learn More | Meet the Others