Thursday, October 3, 2013

The Golden Age of Audio - Waxing Nostalgic Today

Today my Sansui 661 Stereo Receiver circa 1976 arrived. I paid $150.00 for it (including shipping) on eBay. A true thing of beauty. Real rosewood case. Weighing in at 22 pounds! I unhooked my existing modern receiver and hooked it up. In the true spirit of testing, I plugged in my iPod touch and put on Steely Dan, Aja.

One word...

WOW!

Just blown away. If you have never heard music through a good set of speakers and a good receiver you have no idea what you are missing. It is if you are sitting in the room with the musicians playing live for you.

I had forgotten what real hi-fidelity sound sounds like. We assume as technology evolves that the products get better. In computer hardware and video technology this is certainly the case.

Not so with audio.

Unfortunately in the late 80's and early 90's electronics started moving to VLSI (Very Large Scale Integration). VLSI in laymans terms is packaging up a whole bunch of discrete components into a single chip. Great for computer electronics, not so good for audio.

I know about this because I was a hardware technician back then and was becoming bored with my job as we were moving away from component level repair to swapping out whole boards. It was during that time I began to transition from hardware to software. It was also during that time that the golden age of audio was actually well into its swan song.

During the golden age of audio (thought by many audiophiles to be the 60's and 70's) companies like Sansui, Pioneer, Yamaha, Luxman, Carver, Kenwood, Sony, Bang & Olufsen, Marantz, McIntosh... and more competed with one another in the high end audio market. Think of that for a moment, ten companies in the high end audio market. And the gear was not cheap. The Sansui 661 receiver I just bought was a low end model that sold back in 1976 for $350.00 (That is $1428 in today's dollars [http://data.bls.gov/cgi-bin/cpicalc.pl]).

The equipment was hand made in factories by skilled technicians using high end discrete electronic components. Oh, how the times have changed and so has the sound we hear.

It was ironic that while waiting for my receiver to arrive CNN published a story on the death of the Stereo. http://www.cnn.com/2013/09/27/tech/innovation/death-stereo-system/index.html. I chuckled aloud when I read...

"At the same time, grown-up baby boomers, now working adults, invested in better audio equipment, all the better to listen to Steely Dan's "Aja."

You can buy some great stereo amps and receivers from the golden age on eBay. These beasts were built to last. They also came with schematics and a parts list! When they broke they could be repaired. Today there are still places that can service these works of audio art. The fact that there are still so many functional receivers and amplifiers from the 60's and 70's is testimonial to the longevity and quality of these products... sometimes the good 'ol days really are more than just nostalgia.

I was so thrilled with my purchase that just bought a pair of Wharfedale Diamond 10.1 bookshelf speakers. Fortunately speaker technology continues to be strong. I can't wait to get these bad-boys hook them up and give Aja or Dark Side of the Moon a spin.

Sunday, March 17, 2013

My Greatest Fear

Actually I have two though I am not sure fear is a best term to coin. It might be a tad bit strong, but I will stick with using it anyway.

I actually have two fears.
  1. That I get too full of myself. 
  2. That there will be no one out there to disagree with and challenge my beliefs and question the things I have to say.
The latter may seem odd to some as I am no different than anyone else in the respect that it is always nice to know that there are others out there that share your position (and believe me I do). Holding a view where you are alone or in the minority is not very comfortable.

I am greatful when others diagree or challenge my positions, even when they do so in a manner that I find to be less than respectful (like most folks I am not a huge fan of being disrespected).

Why? ...Simple

This is how we grow.

Would we have advanced from the cave if we lived in a world where 100% consensus was the norm?

Saturday, March 16, 2013

Looking in the Mirror as the World Changes

The world is always changing. Fast of slow? For better or Worse? Richer of Poorer? Sicker or Healthier? Cleaner or Dirtier? Sounding a bit like a marriage here. Things change at both the macro and micro levels.

I am a technology geek. While I like to engage in a variety of different types of work I still like to roll up my sleeves and engage in technology. I like tinkering with and building software from what is called the backend to the frontend. Right or wrong there is a perception that your shelf life starts to diminish and deteriorate at around age thirty if you are a hard core techie.

Well, I am fifty-four. Since I was about forty I literally have woken up most every work day looked in the mirror and asked myself, "Is the world of technology passing me by?", "Am I keeping current?", "Are my ideas fresh?", "Am I still able to be innovative?", "Am I becoming too set in my ways?"

Sometimes if we are being honest with ourselves these are tough questions to answer. Especially when we are only reflecting on them in our own moments of privacy.

A few years ago I recall a phone conversation with a co-worker and friend. He was railing about having to deal with a group of older co-workers on a project. They were set in their ways, dug in and unwilling to look to new ways to solve a problem his inter-disciplinary team was facing. I sat and listened as I had worked with many of these people and shared his sentiments. During his vent he said something to the effect that it was sometimes hard to work with older people in technology and I think he even threw out an age that was quite younger than mine (at the time). I said to him... "You do realize I am fifty two?" ...then braced myself for his response.

"I know, but you are not like them..."

I brushed the sweat off my forehead, sweet validation of my self-perception :-).

Seriously though, this is not a physical game we are playing where we cannot help that our body is just slowing down.

Why is it we get so set in our ways?

I recently engaged with a rather brilliant fellow of somewhat renown that comes across like someone who still lives in the early 1980's. I know this as after I spar with him I will typically get a few communications from people that privately tell me this. His voice is not nearly as well received as it could be because he really does live in the past. While much of what he says is still relevant today he comes across is a manner that cause most people to just stop listening.

What is our reason for resisting change?

Is is because what we are doing and have been doing really works so well we just feel "why should I change"?

What is our motivation for not wanting to change and adopt new ideas?

My worldview on this for a long time has been...
  1. Take what has worked in the past and bring it forward. But do not be afraid to tweak or modify these things to adapt them to the current situations you face.
  2. Do not be afraid to examine and learn new ideas and innovations. Do so with the lens of how is this a better mousetrap than the ones we have used?
For me these are ideas that apply to everyone regardless of what their age or occupation is.

Monday, February 11, 2013

Virtualbox, Ubuntu - Two Nice Packages

I wanted to install and play with Hadoop. I started by installing cygwin, then swung on over to Cloudera's image on vmware. I must confess I have a short amount of patience when it comes to implementing things that I am having difficulty with.

It is hard for me to deny the viability of Hadoop but I am having some heartburn over the difficulty in implementing it to the point where I can start playing around. I am not trying to implement and scale multiple clusters. I just want to install it so I can create a few map reduce jobs and get my feet wet.

Anyhow, this adventure took me to installing virtual box and then the Ubuntu 12.10 image on one of my laptops. Virtualbox is a breeze to install. Ubuntu was also easy to implement on virtualbox. I was also impressed with the ease of installing software on Ubuntu. I was so impressed with Debian's get-apt that I ended up installing the full LAMP stack and then headed off to install the 1.6 JRE and SDK. I got so into the ease of implementing software I went off and installed Ruby and Rails, as well as a number of IDE's.

I never did get around to installing Hadoop.

I must confess I am a web developer who uses WAMP and pretty much deploys off to LAMP. As such I am not much of a Linux person. I am impressed with the ease of working with Ubuntu. If you are a Windows developer looking at dipping your foot into the Linux waters I would recommend Virtualbox and Ubuntu.

Saturday, February 2, 2013

Elegant Programming Language?

In a recent thread I was participating in the inevitable language A is more elegant (better, pick another adjective) than language B sidebar broke out. I did not directly participate in this sidebar as this topic does not really fit my world view of the subject.

Here is why...

While I agree some hammers are better than others, ultimately the hammer is as good, bad or somewhere in between depending on whose hands it is in. And to this you may argue that the very best hammer in the hands of a great carpenter is ideal. I would not disagree. But, if you argued that same hammer in the hands of a klutzy homeowner makes them better, that to me is a much tougher sell.

Of course languages are a tad more complicated than my hammer analogy. As I have watched the evolution of programming languages we try to create that "silver-bullet" language but we invariably miss the mark. Likely we always will, though by no means am I suggesting that we stop trying.

Take Java for instance. Some of the filthiest most convoluted code I have seen in any language has been produced in this language through the gross misuse of interfaces. Simply put an interface in Java is an abstract concept/template that requires the implementer to define all of the underlying method stubs (to use a term all can understand) at design time.

Without diving too much further into this subject I want to add that knowing all the methods one will need for a given interface at design time that will hold true for the use of an interface through the software development lifecycle is a difficult thing to determine. Further, an interface establishes a contract with the user of the interface that says if you want to use my interface you need to declare all the methods that are in the interface in your class whether or not you intend to use them! If properly created an interface creates a piece of coding elegance that allows one to achieve both polymorphism and encapsulation at the same time. It also create a uniform consistency across the users of the interface.

Polymorphism is a rather obtuse terms so let me offer an example. I want to implement an interface for a heating control thermostat. It will have two methods, 1) check temperature, 2) change temperature. Polymorphism is a concept that essentially says I do not care what type of heating system I am connected to (Natural Gas, Electric, Wood, Coal) these two methods are applicable and work exactly the same as far as the interface consumer using them is concerned. It is elegant in the respect that the user does not have to be concerned with the underlying implementation details as to how these methods interact with the varying underlying infrastructure.

An interface when properly constructed can be a zen-like thing of sheer beauty and elegance... that is until I need to add a new method body to the interface.

The moment I deploy an interface for others to use I essentially am locked into a contract that does not allow me to extend the interface without breaking the code of those that are using my interface. So what ends up happening is a) I just brazenly extend my interface and tough luck to you, go fix your code, b) I end up deprecating my interface and creating a new one which adds more complexity to the API, c) I extend the interface by adding abstract classes and other interfaces beneath my interface that can more times than not end up being ravioli code (The OOP version of spaghetti code).

I can tell you (and frankly if you are a Java program and are being truthful you can tell me in return) countless tales of encountering many "nightmare on interface street" scenarios. But, I still think an interface is an elegant programming construct. I also contend that an interface in the hands of someone that does not understand how to properly implement one is anything but elegant.

Now, as another much quicker example. I am a big fan of Php. Many developers like to bash the language for not being elegant. I have written a great deal of elegant code using that language. I would also admit that Php does have a number of warts and omissions. As a notable omission, I am huge fan of overloaded methods/functions. I think it is one of the most elegant programming abstractions ever invented. What one has to do in Php OOP to achieve an overloaded method is so convoluted and unnatural it is essentially not usable. Not at all elegant.

So I pose these questions as food for thought.

Can we say a programming language is not elegant because hacks can come along and use it in a way that was never intended?

Can we say a programming language is not elegant because it is missing features and functionality or has some warts or anomalies as it evolves over time?

Elegance and beauty always remain in the eye of the beholder. I have seen elegant code written in Cobol which I do not consider an elegant language. I have seen monstrosities written in Java which I consider an elegant language.

In the end we will continue to have these discussions, and developers will continue to invent new languages that are meant to be the next panacea. This all is a good thing.

Thursday, January 10, 2013

Integrity, Relationships and Our Customer

This is the foundation for all business. Prosper here and you will succeed.

I want to tell you a story. This took place over twenty two years ago, back when I had hair. It is a conversation I had with a colleague. I honestly do not remember his name, but his words have stuck with me all these years and serve as the foundation for how important relationships in business are. Though I have to confess I have stumbled and fallen many times along the way in this area.

He told me a about a prospective customer that had called wanting a quote on a couple of capnography units. At the time this product was experiencing some major problems. He disclosed the problems we were currently experiencing and then referred the customer to the vendor that was "best in class" for that product. He told me the customer was somewhat stunned by his actions (go figure ;-}).

My colleague then told me, "Eric I have been the sales person of the quarter for five quarters in the past two years. My management always asks me to share my secret and I try to tell them but I do not think they understand. In fact, if they knew what I did with that customer I might very well have been fired".

Two months later he told me the same prospective customer called him and said he wanted him to write up a purchase order for twelve of our portable EKG monitors (We were best in class at the time in that product area). The salesman told the prospective customer he would send him a quote. The customer replied "I do not think you heard me, I want a purchase order, not a quote."

This is a true story, one I have never forgotten, though I have long forgotten the salesman's name.

The message of the story to me is very clear. Integrity, honesty and building relationships with our customers are what matters most in business and in life. I am not talking about some rah-rah statement that every company has. I am talking about walking the talk.

It does not matter where you are in the organization, we all have customers we serve. I would like to expand for you the definition of customer. My manager is my customer. The analyst I take the time to answer a question for is my customer. If you are a developer that lives behind what I like to call the "wizard of oz" curtain your customer is the designer asking for a function point that will help the customer that is paying all of our salaries by buying our products and services.

A customer is anyone we serve in any capacity. Remember and practice this and your life will be rich and meaningful because you will have built many quality relationships. Remember this as a business and while I cannot guarantee your success I can guarantee the health and wealth of your soul.

Think about how you have served your customers. How would you write about this in your LinkedIn profile? What would your customers say about you if you asked them for validation?

For many of us these can be sobering questions I just asked. But hard questions help us all to grow and try to do a better job tomorrow.

Also, remember, if you never fall down then you are not skiing hard enough.

Peace out.

Monday, January 7, 2013

Human Currency

I am not quite sure why this has not been written about more. You and I make up the new currency in the modern world. One need only to look at the success of Facebook, LinkedIn, Twitter, and YouTube to understand the profound truth in this observation.

These enterprises are each worth billions. They offer us, in exchange for our membership, a place to commune and communicate. A place to share ideas. For some a chance at our proverbial "fifteen minutes of fame."

If you ponder this new equation for currency long and hard it really is television in reverse. McLuhan said "The message is the medium." The message used to be all of us with our butts parked in front of the TV in our living rooms. The medium was static and was delivered to us from a one way cathode ray tube. We watched it. Of course we had (and still have the choice) to pick up the remote and surf down the dial.

Today, you and I have become the medium. Instead of watching, we are the ones being watched. Every tweet, every profile update, every post, every search recorded.

Now, I don't mean to be a downer in saying all of this. Truth be told, I am quite engaged and excited about these new mediums. They offer all of us a voice. They allow those of us that have become disconnected by time and space to re-connect. They can even serve populations that are less fortunate than us. Level the playing field if you will.

The ultimate delivery of what we once called web 2.0 really has turned the flow of information from a one way stream that only flowed from a singular static source into a two way street. We, collectively have become the main source of information and data. I can say that I have become a richer person thanks to the web.

Of course we all must also be brutally honest with ourselves and accept that we really do not have a choice to disconnect from the new medium. At least not and remain a viable member of todays society. As such it is our collective responsibility to ensure that the medium never becomes too invasive or oppressive. After all, we collectively represent the new currency.