Theremin

This year for Christmas I received a Theremin from my wife. An odd electronic instrument that is not very common; even less so in popular music. A couple years ago in a museum we ran across an interactive exhibit that had a Theremin and we played with it and both thought it was very cool. More recently we realized that a show we like uses a Theremin to play the melody in the theme song.

Now that I own one, I must say they are very cool and could be used to make some very distinctive and original music. However that seems to be easier said than done.

In concept a Theremin is very simple. Two antennae, one for volume and one for pitch. The proximity of your hand to the antennae controls the pitch and volume. Move your hand close to the volume antenna reduce the volume, move your hand closer to the pitch antenna to increase the pitch. Once these are understood it is pretty easy to control each.

The challenge however is having complete control over the pitch ( the controls are both very sensitive ), and also adding expression to the notes. If both hands are perfectly still, the result is just a cold static sound at a specific pitch; not very pleasing. For pleasing sounds one must increase and decrease volume while phrasing ( as people do when talking: see Ben Stein for what happens when this isn’t done ), and using a vibrato technique with your pitch hand to add some color to the note.

Currently I can control both volume and pitch, but still struggle playing the note that I desire. Furthermore, even when I hit the note it doesn’t sound particularly good, due to lack of expressiveness.

All in all the Theremin has been a lot of fun and seems to have promising potential. One of these days when I can actually play, I will record something and post it on here.

-Steve

Posted in Music | Tagged , | Leave a comment

A Desire for Design

People are amazing.

We have a knack for learning and adapting to our environment to best suit or needs and desires. Within a society this will often take the shape of copying someone (or an organization) whom has done something we like. Other times we see results (“wow I want a house like that”) and will figure out how to achieve a result that is similar, but probably speaks more to us individually.

Recently there seems to be a massive shift towards good design in products and on the internet. This abundance of good design causes people to gripe when a product, application or website has bad design (or very little design at all). Often times this we complain about it in the context of the joke ‘first world problems’, but deep down we desire it to be ‘fixed’.

These expectations have been creeping into our society over the last decade or so largely thanks to companies like Apple, Dyson, many car manufacturers, and legions of web developers making beautiful and easy to use websites.

Yes, design has been around much longer than that, but recently design has been ‘accessible’ to the common man. Not everyone has Bauhaus influenced homes, or furniture, but many people have iPhones. Infact much of high design is far too sophisticated for everyday applications (similar to why most people don’t listen to Classical music all day every day), but these emerging products and web sites have pulled design to the masses; and we love it.

This desire for design is causing people to not only be more conscious of design, but also more conscious of it when creating something; as a society we are becoming better at design. Largely this is due to the fact that internally we want more good design in our lives, and often times it comes down to us to make it happen.

A shift like this within a culture also brings a new demand for the skill throughout the workplace. We have started to see this in the huge growth of the web design field; I expect this to continue to grow and into more industries similar to the way software has worked it’s way into everything.

Design will probably also manifest itself in places that we might not expect due to design oriented folks forging the way. Think of that guy in a small non-tech company that kind of knows about technology and applies it because the company has a need for it’s application but not enough of a need to hire someone full-time to do just that.

Good design is here and it’s here to stay thanks to some great designers that recently brought it to us like the Beatles and their peers brought music in the middle of the 20th century. It will only expand and grow as more people begin to embrace it so you better get on board and join the party.

Posted in Design | Tagged , | Leave a comment

Proper Use of Code Coverage

Recently I setup a continuous integration system at work and was adding code coverage as a part of the build process to keep track of which sections of code are missing tests, or light on tests.  The creation of this got me wondering, should code coverage be run on all tests or just unit tests?

I am inexperienced in the matter, and unfortunately do not work with anybody that possess experience with continuous integration systems.

To figure out best practices for code coverage I began searching around.  Unfortunately I just found debates about the usefulness of code coverage and whether or not it even provides any value; I am well aware of the pitfalls and that one should not put much weight into this metric, but I still believe it is valuable in some cases.

After thinking about the use of code coverage I came to the conclusion that the most appropriate tests to use it with are Unit Tests only.  The reason is that Integration tests, or any other test less focused than a Unit Test, will result in tremendous coverage, however much of the code that was ‘covered’ wasn’t explicitly tested.  This causes your code coverage number to not represent code that is well tested, just code that was run during the tests, which for an integration test is a very large portion.

The way I think of it is that the Integration Tests are using a large amount of code and they are testing only that they work together.  It is not testing edge cases, or really stress testing your logic or critical sections.  In fact it is likely only testing your logic code under a small portion of the available scenarios.

However it will all show up as being covered by your tests.

By exclusively using code coverage with my unit tests the code coverage reports have done a good job of showing me sections of code that I need tests for (or that are now obsolete and not used).

This still isn’t a silver bullet approach though, as many of you clever folks probably noticed, I can have great coverage and poor tests just by having a unit test that tests only one scenario (similar to what an integration test would do).

Well yes this is true, this is where the developer needs to be disciplined and take the responsibility to create tests for all of the scenarios you can think of at the time of writing.

These will change.

When they do be sure to add or modify the scenarios to meet the new criteria.  This is critical to build a high quality and comprehensive test suite.

I am not advocating for 100% coverage, that is unreasonable and frankly a waste of time.  I am a believer to reaching for 60-80% coverage (depending on the code base). However as I just outlined the coverage percentage alone is only a good metric if you are only running coverage on highly focused tests, and are disciplined enough to cover all of the required scenarios for each code section.

So if you use code coverage in your organization as a metric to gauge how comprehensive your test suite is, be sure you are collecting properly otherwise it will falsely display an excellent code coverage.

Go forth and test!

Posted in Code | Tagged , | Leave a comment

Cheap Whiteboard Solution

I love whiteboards.

I have even been known to reserve the nicest of my company’s conference rooms (executive board room) for hours at a time to use the 16′x4′ whiteboard for brainstorming.  Whiteboards are very useful for formulating ideas, especially if you are somewhat scatterbrained (like me). I have always wanted whiteboards at home in my office, but all of the dry erase products you can buy are too expensive, especially if they are a decent size.

TLDR;
I put 32 sq. feet of whiteboards in my office for $70, you could do it cheaper if you were more clever with the mounting or willing to cut up a bigger white board into sections yourself.

This weekend I decided I was going to buy whiteboards and put them in my home office. Originally I was expecting to get the adhesive type whiteboards, though I was somewhat apprehensive due to poor reviews about the quality. Someone at work has a few of these and they got them at Home Depot. I also knew that Home Depot had boards with the dry erase board finish on one side.

The odds seemed good that I could get what I needed there, and if not I could just order something online.

I opted into getting four 4′x2′ panels; even though I only had a 64″x40″ area to put them without it looking ridiculous. I knew I could get it to work or put some up on a different wall. The panels were $10 a piece, so that’s $40 so far; still much cheaper than other solutions I’ve seen.

Then I started thinking about how to mount them, I was hoping to be able to use the 3M strips but that was all dependent on the weight. It turned out that they are only 3 pounds a piece, which is right in the wheel house for the 3M strips.

While going through my stash of 3M strips I found the dual locking (they are basically like velcro if you aren’t familiar) strips and then a light bulb went off.

I could setup multiple available configurations, allowing me to move whiteboards to different locations as needed. The practical usefulness of this is still to be determined, but it sounds really cool anyway, so I did it.

Fortunately my local convenience store had just enough, so I bought everything on the shelf and went back home to assemble it. I got the large ones, they hold up to 16 pounds.  They were $5.99 a pack and I got 4 packs, but I had a packs worth at home, so the actual cost is 5 packs at $30.

Then at home the fun began. I knew that I wanted to be able to move the panels around, but where the heck would I put them?

I finalized on a location right by the entrance, which is where I got ‘approval’ for a whiteboard. This space I realized has enough room for two panels stack horizontally and a third next to them in a vertical orientation. There has been a 2′x1′ whiteboard just to the left of my desk on the wall which is pretty nice, so I looked at that space, and there was a 4′x4′ area I could use. This means I could fit up to two boards there as well.

The mounting itself was pretty straight forward, just be sure that the strips are aligned. I had to take a couple off and re-adhere them to better line them up. Also it is important that the strips have time to adhere; I put them up and then let them get stuck for about an hour before putting the boards back up.

The most annoying part of the process is that they put the price stickers on the dry erase side. Why? I have no idea. After taking off the sticker it left behind a lot of glue residue, which can’t be erased with the dry eraser (and ruins your markers as I found out).

A little googling yielded that vegetable oil is great at removing glue like this.

Here are the steps I took to remove the stickers.

  1. Put the board on the floor
  2. Place a generous amount of water on the sticker to make the sticker removal easier.
  3. Get a paper towel soaked with vegetable oil and rub it on the glue.
  4. There was still a little bit of glue left. I used the eraser to find it because the marker sticks to the glue.
  5. Using a wet cloth and your finger nail scrap glue loose.
  6. Then I repeated steps 3 – 5 as needed.

Now I have lots of white board surface on the walls in my office for a fairly cheap price of $70. Like I said before, this can be done for even less money if you were more clever or willing to do a little more work.

At Home Depot they also had an 8′x4′ white board that was $15, but they were all slightly damaged and the corners were bent. If you found a good one, or didn’t mind, and cut it into sections you could save $25 there.

Also after I got home I found out that you can buy the 3M dual locking material by the yard, which would undoubtedly be cheaper, though seeing as you only need about 1 yard, you might have to buy more than is needed so the saving might be diminished.

If you come up with any creations post a comment below with pictures, I would be interested in seeing what other people are doing.

Now if you’ll excuse me, I have ideas to formulate on my whiteboards.

Posted in Productivity, Projects | Tagged | Leave a comment

Productivity Tools

There has always been the on going debate about using productivity tools in software development. As a primarily a .NET developer I hear a lot from people (that aren’t .NET developers) that denounce Visual Studio and claim that it actually hurts you. Yet I also hear from people (that are .NET developers) that swear by more advanced productivity tools for .NET like Resharper whom are flabbergasted that I don’t use it.

Tools are tools, they are there to help you; you still make them work. So to all those that say real programmers use text editors like Vim, emacs, or more recently sublime text, guess what… those are ‘productivity tools’ too.

I was showing a non-programmer colleague of mine Visual Studio and some of it’s features because he does ‘programming’ in an industry specific application (think drag and drop blocks that you configure) and I was showing him the neat things that tools for ‘real’ programming can do. I told him about the debate about such tools and that some people see them as a crutch. He then said something that I didn’t realize until later is quite profound and interesting.

Why does it have to be a crutch, shouldn’t it act more like a turbo?

What this means is that we shouldn’t rely on or blindly follow our tools, like accepting all the little suggestions Resharper pops up. During the time I used it I would investigate what exactly it was suggesting, and why, to understand if that is better. If it was better I would then why it was better and accept it and look for others areas that had similar problems.

There-in lies the distinction folks.

Our tools should be used as we see the need for them and they should ASSIST us. So really all of these tools can be quite valuable, but going by this reasoning they will be crutch to inexperienced developers, but a turbo engine to those that it makes faster.

Tools can accomplish two things, if you don’t know exactly what you are doing they can lead you down whatever path and you will blindly follow. Or you can know when to ignore them and when to leverage them to increase your speed. I have seen arguments that code is read significantly more than it is written (which is very valid), so any tools that increase code production don’t add value. That’s not true at all, increased speed is increased speed regardless.

So like everything in life, there is no one singular answer (no the world is not binary, sorry guys). It seems that as with many other things if used properly, a tool can greatly enhance one’s abilities, if used improperly it can make you worse of than had you done it all manually.

Posted in Code, Productivity | Tagged | Leave a comment

Soundgarden – King Animal

For the first time in 16 years, just 2 years after their reunion, Soundgarden releases a studio album: King Animal.

As would be expected there was much hype and anticipation leading up to the release of the album, and I think it lives up to it.  While at first there were some aspects of the album I wasn’t crazy about, after having heard the full album I greatly enjoy it.

They managed to make music that is so original that it sounds much different than anything you will have heard, while still maintaining the Soundgarden sound.  If you have ever listened to the album in entirety you will understand what I mean.

The songs manage to stand well on their own but also join together as a very cohesive album with a very deliberate flow through the drive, sound, and lyrics.  And once again in typical Soundgarden fashion, the best songs will likely not make it to the radio while the most polished songs will.

While there are many solid songs throughout the strongest part of the album is most definitely the middle (Bones of Birds, Taree, Attrition, and Black Saturday).  These songs are not only arguably the best on the album, but they drive the album to it’s emotional peak and transition to the climax and end of the song.  This is where the cohesion of the album begins to come together and is fully realized.

Overall King Animal is a very good album, a great album in some regards, but it lacks the luster that was possessed in Superunknown.  That being said it is still worth a listen (or several, my play count is currently at 30).  I give it a B.

 

-Steve

Posted in Music | Tagged | Leave a comment

Extra Life 2012

For the past three years I have participated in the charity event Extra Life, which has it’s volunteers play video games for 24 hours straight.

In 2010 with 3 friends we played all of the Halo games in chronological order of the stories; Halo Reach, Halo 1, Halo 2, Halo ODST, Halo 3.  This was a lot of fun, although we had forgotten how long and difficult Halo 2 was.  Believe it or not, even when playing video games, you can drain energy at a faster rate when overly challenged.

The following year I decided to play two games from one of my favorite series, Uncharted, in anticipation of the third release in November of 2011.  This was a lot of fun even thought I was playing alone, however my friends and I setup a public Google Plus Hangout to be able to talk to one another.  We encouraged friends, family, and donors to the cause to login and say hello during the event.  Since I had played these two games recently I was able to achieve defeating both games in 18 hours; this made the remaining 6 hours quite tedious and even boring.  I decided to never let this happen again.

In 2012 I discovered the Assassin’s Creed series and became obsessed.  First I started with Assassin’s Creed II having heard that the first one was barely worth the time.  After having played it I decided I HAD to play Brotherhood and Revelations for Extra Life.  This would achieve to goals: it was unlikely I would be able to beat both in less than 24 hours, and it would get me prepared for the release of Assassin’s Creed III in November.

While playing these games was a lot of fun, in retrospect I shouldn’t play new games during Extra Life.  Both games were such a blur that I barely got to enjoy them and I don’t remember them very well.  It was however still a blast.

Next year’s games are still undecided, but whatever I choose I hope you will participate with me, either by playing, donating, or even just cheering us on!

-Steve

Posted in Stuff | Tagged , | Leave a comment

Rush Concert Clockwork Angels Tour 2012

Long ago when i ordered tickets to see rush at Boston’s TD garden i was apprehensive about the venue because the acoustics in large stadiums are typically not very good if you are very particular about sound. I however had no choice because the only other venue local to me was Manchester NH’s Verizon Center where i saw my first rush show; the acoustics were horrific. All in all TD Garden wasn’t too bad.

More importantly the show itself was phenomenal. They played for over 3 hours, the last half of which was at a ferocious pace. They even had a a string ensemble playing along during the last half of the show to accompany Rush. The most welcome change was the set list; recently the set lists are chock full front to back of their huge hits (Limelight, Spirit of the Radio, Red Barchetta, the whole lot), but this time around they played lots of their lesser played classics that are very popular among their biggest fans.

One would think that with 6 tours and 2 albums over the last 6 years that their shows would start to get stale and repetitive, but they prove that they can remain relevant even without developing a plethora of new music, but instead digging into their library of over 100 tracks to keep each tour sound new.

Long live Rush for many more years to come.

-Steve

Posted in Music | Tagged | Leave a comment

Jack White Concert

This past Friday ( September 28th 2012 ), I attended Jack White’s concert at the Agganis Arena at Boston University’s campus on Commonwealth ave in Boston.

The venue had a great environment and feel to it, very intimate and informal for an arena. The crowd was also very young and energetic due to being in Boston’s college district. All this combined with Jack White’s energy and drive made for a great concert experience.

Jack White and his band came on stage with a roar. The drummer was playing a really interesting beat at a very high intensity then the rest of the players joined in to create a ferocious sound, and Jack White was playing his guitar such that my friend turned to me and asked if someone was screaming into the microphone; it was Jack White and his Whammy pedal. This was one of the best concert openings I have ever experienced.

Following the opening the band went into a couple of Jack’s heavier songs pulling from his White Stripes library. Then they got into a groove playing more low key songs from the Blunderbuss album while mixing in a few White Stripes songs that had been reworked to be playable in the lighter style of the song from Blunderbuss.

The main downside of the show was that the Arena’s sound wasn’t quite as good as one would have liked, however it is not the worst sounding Arena I have been to. This didn’t destroy the experience but certainly dampened it for me.

This was a very enjoyable show (despite the debacle that took place in New York the following night), though I do wish the sound at Agganis was better.

Posted in Music | Tagged | Leave a comment

Tanzanian Coffee Obsession

One of my favorite coffee’s from one of the local places in Portsmouth, Port City Coffee Roasters, would occasionally carry coffee from the Tanzanian region and it quickly became my favorite from their shop.

While I enjoyed it a great deal, it was difficult to dethrone Sumatra as my favorite just from trying one roaster’s take on the beans.  This past weekend I was at  Breaking New Grounds, another independent roaster in Portsmouth, and they had Tanzanian coffee for the first time I have seen.

It is fantastic.  Top 3 best coffees I have ever had, and helped Tanzania claim the spot as my favorite coffee region.

So if you come across a place that has Tanzanian coffee, give it a try, it won’t disappoint.

-Steve

Posted in Stuff | Tagged | Leave a comment