Archive

Posts Tagged ‘Rants’

Naming By Committee Considered Harmful – Or At Least, Dumb

July 24th, 2009 View Comments

Not long ago we went to visit the new dinosaur museum in Vernal, Utah.  That’s what everyone around there calls it – the new dinosaur museum, to disambiguate from the previous dinosaur museum, which is not there anymore.

However, the naming committee for the new dinosaur museum had a different idea:

ufhnhspm_namingfail

The Official Name of the New Dinosaur Museum

It’s a Field House!  And a Park!  And a Museum!

I can imagine the meeting for this:

John:  Hello everyone, I’m John.  I’ve been asked by the new dinosaur museum people to moderate this committee, because I have no spine.

Everyone except Steve:  (sigh of relief)

Steve:  (rolls eyes because he is bored out of his skull and is only here because they thought they should invite the general contractor)

John:  Any ideas for the name?

Sally:  Well, I don’t like the name “Dinosaur Museum,” because it might also have something in it that is not a dinosaur, like a restroom.  Plus I don’t believe in dinosaurs.  But I do like museums.

Rick:  Well, I think the word “Utah” should be included in the name, since we’re building it in Utah… (checks map) … yeah.

Meredith:  Isn’t this officially a state park?  I think it should say state park.

Nancy:  I thought it was a field house.

Meredith:  No, I think it is a state park.

Rick:  What makes you think it is a field house?

Meredith:  Well, it is a building, which is like a house, built in a field.

Rick:  Oh, yeah.  Good point.

Carl:  How about “Natural History” instead of “Dinosaur”?  I mean, dinosaurs are part of history, and so is going to the bathroom.

Sally:  Yeah, that sounds really great.

Steve:  (sarcastically)  Great ideas everyone.  Why don’t we just combine them all and call it “Utah Field House of Natural History State Park Museum?”  Win-Win!

Everyone:  Hmm.  Yes, that is a wonderful name.

Steve:  (realizes the meeting might be over and doesn’t let anyone know he was joking)

John:  Steve, is the building big enough to accommodate that name?

Steve:  No, but we can easily just make it bigger.

John:  Well, then I think we are done here!  Great work everyone!

Categories: Humor Tags: , ,

Preparing for Family Visits

June 14th, 2009 View Comments

Last weekend we had some visiting family at our house which was a load of fun.  Of course, the day before they came, I had to ask them whether they planned to eat at our home.

I have to ask this question because my aunt is my mom’s sister, so there is a chance that she will be like my mom.  My parents have a series of unwritten personal rules about travel.  They are not aware that they have these rules and so they can’t explain them to you.  I had to figure them out by observation.  Some of them include:

  • You cannot drive more than 10 minutes without licorice.
  • No visit may last longer than the time required to get there.
  • Never drive at night.
  • Never sleep at anyone else’s house.

Fortunately we do not live very far from my parents; otherwise, they would never, ever be able to visit.

Another rule is:

  • Never eat anyone else’s food.

This rule took a while to figure out.  It was only after a number of parental visits, where we would plan a big meal and buy the supplies and prepare something delicious with enough for two extra adults and they would refuse to eat it, that we began to understand that this was a rule.

Finally my dad helped clarify things for me.  One day when they visited I asked if they would like to stay for dinner and my dad really said (no, I’m not kidding):  “No, we do not want to eat your food.”

To which I say, to each his own.  And also, more for me.  And also, your loss, because my wife makes foods of pure delectitude.  But at least now I know the real reason – they simply do not want to eat anything that we owned right up to the time it was served to them.

And this is why I had to ask.  They could have had some obscure, unwritten, subconscious rule about eating our food, like my parents do.  But apparently, our visitors of last week don’t have this rule.  Instead, it appears their rule is borrowed from Ted Theodore Logan:  “Party on, dudes!”  We look forward to having them come again.

Categories: Rants Tags: ,

MDMethod – A New Technique for Software Development Estimation

May 19th, 2009 View Comments

I went to the doctor again today to see him about my back. I did not tell you about my back before, because frankly my personal health is none of your business, Mr. Internet.

I went to see him again, because the first time I saw him he told me if it was still hurting in two weeks to call and make another appointment.  So after two weeks when it was still hurting I called to make an appointment and they said, “Oh, he is on vacation.”  So I waited two more weeks to see him today at 10:00.

HAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA!!!!!!!

Actually, that is when I was scheduled to begin sitting in the public waiting room.  Once I checked in they informed me that it was about a one hour wait, which in retrospect was incredibly optimistic, percentage-wise, as I waited over 90 minutes for my name to be called.

Of course, that was the amount of time you had to wait to go to the private waiting room, where the wait times are only about 1/2 as long.  I waited there for another 45 minutes for the doctor to come in.  I will now quote for you the entire session.  Okay, not really.  But pretty much.  Okay, here goes:

Doctor:  So, your back still hurts?

Me:  Yep.

Doctor:  How long has it been?

Me:  6 1/2 weeks.

Doctor:  Correct.

(That was the quiz part, to see if I’m really the correct patient.)

Doctor:  Okay.  I think you should go to physical therapy now.  Here is a referral.

There is no possible way my actual appointment lasted longer than five minutes.

But hey.  Why get mad?!  I decided before I even got there that I was not going to be one of those people that complains about the wait time, because who cares?  Not the receptionist!  So instead I said to myself, “What can I learn from this?”

And then it hit me – I can apply this to my own profession!  And so here you have it – the MDMethod for Software Development Estimation ©.

It is mostly like other kinds of software development estimation, which is to say, some combination of voodoo, magic, and recently used hay.  Here are the key points:

  • There is no correlation between when something could be delivered, when it should be delivered, and when it will be delivered.
  • Feel free to ignore reality and set unrealistic expectations.  Use an attractive woman to do this; her clothes should show cleavage and she should sit at about mid-torso level of a standing average-height man.  Teach her the expression “Blinking Bambi Eyes” – this should be used once expectations have not been met, at which point she simply says, “Yeah.  I’m really sorry about that!” in a sympathetic voice that seems sincere.
  • Actual delivery of value can be offered within a confidence interval of reasonable estimate time plus a fudge factor of about 3000%.  The doctor in my case beat the margin of error by about 300% – it took 135 minutes to deliver to me my five minute appointment, which is a margin of error of 27 times or 2700%.

Here’s how I might do this in practice:

  • Since I am not an attractive woman, I hire an attractive woman to set unrealistic expectations for me.  My wife is the best candidate for this job, but I respect her too much, so I will have to settle for another less-than-ideal candidate.  From this point on I will refer to this person as “Janice,” which seems like a good receptionist name.
  • Let’s assume that you represent the company.  You ask me to deliver a feature.  I tell Janice to inform you that I could get started on that in two weeks and that it should take about a week to implement.
  • When two weeks pass and you ask Janice how I am doing, she says, “Oh, he is on vacation.  He will be back in two weeks.”  When you say, “Wow, that is upsetting, because he said he could start on this in two weeks, two weeks ago,” Janice will then deploy Blinking Bambi Eyes and say, “Yeah, I’m really sorry about that!” in a sympathetic voice that seems sincere.
  • In two weeks when you come back and asks Janice how I am doing, she says, “Yes, he is starting on that today.  The wait time for that is three months.  We will let you know when he is ready!”  She says this in a cheerful and playful tone and does not necessarily mind if you happen to notice her cleavage.  When you say, “Wow, that seems like a long time to wait; I wish we had known it would take this long earlier,” Janice again deploys Blinking Bambi Eyes and says, “Yeah, I’m really sorry about that!” in a sympathetic voice that seems sincere.
  • After you wait for four months and I still have not started, you go to see Janice, who does not try to conceal her cleavage while you express your dissatisfaction at the fact that you are still waiting for me to start on your project.  At this point the initial two week wait doesn’t seem so bad now does it!  Anyway, Janice again deploys Blinking Bambi Eyes and says, “Yeah, I’m really sorry about that!” in a sympathetic voice that seems sincere.  By now you are just a little bit irritated – not really mad, just slightly irritated – because you have been sitting in the waiting room for four months.  But how can you be angry at Janice?  The face!  The Blinking Bambi Eyes!  The cleavage!  It is not her fault anyway!  So you just keep waiting.
  • Finally, after four and a half months, Janice happily informs you, “Matt is nearly prepared to start thinking about when he might be able to begin working on your project now!”  This excites you so greatly that you forget all the time you’ve waited.
  • Six weeks go by, but this is nothing.  You are surely on the home stretch.  Finally, I show up.  I say, “Hey, you know that project you asked me to do?”  You say, “Yes.”  I say, “When did you ask me to do that?”  You say, “Six months ago.”  I nod my head because you have passed the test – you are indeed the person who asked me to do this project.  Then I say, “Well, I did it.”  And then I leave.
  • You are thrilled and happy to pay lots of money for my professionalism and high quality of service.

This seems like such a good idea.  I am going to start using this technique at Mozy right away.  I will follow up with all of my success stories so you know how well it is working.

P.S.  I was just kidding about the cleavage.  I am happily married.  I did not notice all of that cleavage.  At all.

Dumb User Interaction

April 24th, 2009 View Comments

And by that I mean, the interaction is dumb, not the user.  Since I was the user, I think that goes without saying.

Anyway, earlier this week AMEX sent me a survey request, since I used their tool at work to book travel to Seattle last week.  And since my back kept me awake all night before, I had a low tolerance for dumbness.  So I got this survey, and I thought I would share the answers.

Moral:  Don’t ask dumb questions.



I hope it helps them.

Categories: Rants Tags: ,

Pressure Is … A New Boss

April 6th, 2009 View Comments

Wow, sometimes the pressure of my job is almost more than any reasonable person can stand.  And I’m feeling it now, because I just got a new boss.

I’m kinda like Michael Scott in this way, and many other ways.  For example, I’m incredibly funny.  And all of my employees really, really love me.  And I just got a new boss.  Unlike Michael Scott, I don’t have any plans to leave the company.

But I did stress out about this, in seriousness.  I mean, I’m so much like Michael Scott, probably my new boss would be just like Michael Scott’s new boss is, which is to say, a hardcore, emotionless freak.  Would he dislike me?  I mean, it is unthinkable – but who could dislike Michael Scott?  His new boss!

So I was totally freaking out by the time I got to work today, the day my new boss started work.  Oddly, my new boss isn’t much like Michael Scott’s.  In fact, he seems pretty cool.  He didn’t even get mad at me for coming to work late today.

No, what created the pressure was that Zach told Chris, my new boss, that he should read my blog.  Because, he said, it’s funny.

OHNO!!!

I have to think of something funny!  Something funny to put in my blog!  Today!  Under pressure!  Zach told Chris my blog is funny!  If I don’t type something funny, then he won’t know how funny I am!

Lame.  Zach, that was lame of you to put me in that situation, especially since you don’t have a blog of any consequence.  I mean, I’ve talked about my other boss, Luis, who wasn’t exactly my boss but is still my VP, on this blog.  He doesn’t actually know about my blog though so he never reads it.  But now surely Chris will read my blog since Zach told him it is so funny.  However, to be clear, I do not blame Chris, my new boss and the person in charge of my employment and livelihood, for this situation at all.  Not at all!  Chris is the smartest, hippest, coolest person I know on the face of the earth, with the possible exception of Luis, in case he reads this blog also!  And highly respected!  And smart!  Did I say smart?

Anyway, there’s nothing I can do about it now.  I have to think of something funny to write about.

Ah.  I have it.  I will tell the story about the funniest movie I ever saw, in college.  It deserves its own post.

Categories: Rants Tags: , ,

Taking Action to Cure US Congressional Dumbness

March 24th, 2009 View Comments

My people, there is an epidemic.  It is serious and problematic.  We must take action to address this epidemic.  The epidemic is US Congressional Dumbness.

Now, some people, like Orrin Hatch, are beyond saving.  He is simply too dumb to be helped.  He is a lost cause and will unfortunately continue to infect other US congresspersons with Dumbness.  Our only hope here is to try to contain, minimize the damage, and hopefully quarantine these poor experienced congresspersons with Advanced Dumbness, like Senator Hatch, from the rest who may not yet be infected, or may only be experiencing Early Stage Dumbness.

Evidence of this disease abounds.  One example of such evidence is the recently enacted CPISA which, among other things, made off-highway vehicles targeted toward youth aged under 13 ILLEGAL – not because they are unsafe, but because they contain too much lead.

I do admit, there have been countless times since I bought my KX 250 5 years ago when I’ve gone out to look at it and found my children sucking on it.  I softly and gently tell them, “ARE YOU INSANE?!?  DON’T YOU KNOW THAT THING HAS LEAD IN IT?!?  ARE YOU TRYING TO KILL YOURSELF?!?  HOW MANY TIMES DO I HAVE TO TELL YOU NOT TO SUCK ON MY MOTORCYCLE?!?!?”  This might be why my kids tend to walk into walls and accidentally stab themselves in the eye with a fork while eating.

Nevertheless, this is no excuse for outlawing children’s off-highway vehicles.  I want freedom for myself and my children, even if it means my children are free to break into the motorcycle shed and gnaw on the exhaust pipe.  Being patriotic, I decided I should fight this disease in this case and write my congresspersons.

Here is the context of the e-mail I sent:

Dear [congressperson]:

I wish to express my concern about some of the unintended effects of CPISA that recently went into effect; namely, the restriction on youth-oriented off-highway vehicles targeted by section 101(a) of that act.

Motorcycle and ATV riding is a very popular family activity in our state, a family activity now threatened by this act.  Because of the popularity, this act will also have a very real economic impact on our state.  And speaking personally, this act threatens the sports of Motocross and Supercross, some of the fastest growing spectator sports in the country and a favorite of my father, brother, sons, and myself, because it chokes the pipeline of new talent being introduced to the sport.

While these impacts are very real to Utah, Utah is not the only state affected by this obvious oversight.  Little children do not generally bite, chew, or suck on motorcycles and ATVs, so the health risk from lead contamination to children from these vehicles is small to non-existent, and not even worth discussing.

I hope you will agree with me and do your best to have this situation addressed so that my children, and children all across the country, are free again to participate in this sport.  I look forward to hearing back from you on your success in this endeavor.

You too can help fight US Congressional Dumbness in this case.  To do so, simply go to this website of a US Congressmen who seems free of the disease and send in the form.

“I Should Have Said…”

March 7th, 2009 View Comments

How many times have you recounted an experience or confrontation to someone else, and as you are telling the story, you realize out loud, “You know what I should have said?  I should have told them…” and then you get a good laugh about it?  And then you go back and forth, figuring out even better ways to really put those other people in their place, and let them know what you really think!  And boy, is it funny!

Well, I must admit I’ve lost track of the number of times.  Last I remember it was about 323 or something.  I don’t know how high it is now.  And neither do you.  Stop counting.

Anyway, doing this helps you to practice for next time, so those witty sayings or sharp remarks are sitting there, right in your subconscious, ready to fly out next time, so you don’t have to even think about it.  Then afterwards, you won’t have to discuss what you should have said – you can discuss what you did say, and be the envy of all your friends.

I learned this today when I was at the store with my family.  We were waiting in line to buy some shoes.  We’d been waiting in line for quite a while and had been at the mall for probably two hours.  I was ready to go home.  We waited until we were next in line, and just as the people in front of us were finishing their purchase, another lady with her teenage daughter stepped up to the register with her shoes.  When the people in front of us left, this lady and her daughter stepped right in ahead of us and put their shoes on the counter.

All those years of practice paid off.  I thought, ‘There’s no way I’m going to let them just cut in front of me in line like that.  I’m gonna say something.’ And I did.  I said, “You must be in more of a hurry than I am.”

Yeah, I really did.  In front of my wife and my children.

As soon as it was coming out I realized that I really didn’t want to be rude, so I tried to smile and make it seem like I was trying to be lighthearted about it.  But it didn’t work.  The lady and her daughter were really embarrassed.  I could tell I’d really hurt them with that remark.  Of course, it was also embarrassing to my wife.  And I was embarrassed that I’d allowed myself to act that way.

I’m ashamed to say that I also didn’t wait to apologize to her afterward.  I wish I had stayed just outside the store and told her that I really wish I hadn’t said that and that I am sorry.  But I didn’t do that either.

I don’t know where I developed such a disdain for people.  I don’t know why I would speak like that to a person that Jesus Christ died to save.  I don’t know why I would automatically assume the worst about another person; surely I don’t actually think she would intentionally do that.  The only thing I can think of is that it came from all those years of practice, coming up with really good ways to get at other people.

It is a harsh awakening, realizing you are a jerk – not just kind of a jerk, but a real, disdainful, unfriendly, example-of-what-is-wrong-with-society kind of jerk.  I don’t like that version of myself.

So I’m going to try not to do that anymore.  From now on I’m going to try to assume the very best about people, and when I have that conversation with my friends afterwards, I’m going to try to figure out how much nicer I could have been than what I was.  I’m going to try to remember that every human soul is valuable and deserves the best kindness I can muster.  And hopefully that lady and her daughter will somehow know that I’m sorry.  Maybe she reads my blog.

Categories: Rants Tags: ,

Interview Tip – Don’t Lie

March 5th, 2009 View Comments

Mozy is hiring.  I mean, Decho is hiring.  Decho is the silly name given to replace the awesome of Mozy.  We still call it Mozy, we can’t help it.

Anyway, we’re hiring.  Specifically, my team, the client team, is hiring.  And since Mozy decided to make me the manager of the Windows client team, that means I’m participating in the interviews.  This is stressing me out, because I feel like I am deciding the fate of people.

The process of getting hired at Mozy (arrgh, Decho) goes something like this:

  • Apply and submit a resume.
  • If we like your resume we will do a phone interview.
  • If you do well in the phone interview we will bring you in for on-site interviews.
  • If you do well in the on-site interviews we will assign you a homework assignment.
  • If you do well on the homework and you are the best candidate we have for the position, there’s a decent chance you’ll get an offer.

Development work at Mozy is primarily done in C++.  Objective-C on the Mac side.  Pretty much you have to know C and C++ and/or Objective-C to get a development job, unless you want to work for the web team, using Ruby.  But those guys are kinda weird.  They sit on a different floor in the building and everything.  We’re not talking about those guys.

So during the phone screen, we ask you to rate yourself on C++.

We explain the rating scale like this:  0 means you are my father, waiting for this computer fad to go away, and you haven’t really heard of C++.  1 means you wrote Hello World in C++ once, and might be able to do it again today.  On the other end of the scale, 10 means your name is Bjarne Stroustrup, or maybe Herb Sutter or Andrei Alexandrescu.  9 means you have written books on C++; 8 means you could write a book on it, or teach courses on it.

Please, people.  Do not flatter yourself on the C++ scale.

I interviewed with Google once, over the phone.  They asked me this same question with pretty much the same scale, except they made no mention of my father.  I told them I was a 6 or a 7.  And I actually have taught courses on C++.

Lately we’re asking people this question and invariably we’re getting people saying, “Oh, based on that scale, I’m a 7 or an 8.”  Even kids in college.  Now I’m not saying that kids in college can’t be a 7 or an 8 – just, keep in mind, we’re not seeing a lot of true 7′s or 8′s among experienced professionals.  I’m just sayin’.

When you say in your interview, “I’m a 7 or an 8,” what you are telling me is this:  “I know C++ better than you.”  Now, you don’t probably know me personally, so hey, maybe you are better.  All I’m saying is, you’d better be ready to prove it when we bring you on-site.

For example, you’d better know at least most of this stuff:

  • How to define a template class
  • How to correctly define the assignment operator for a class
  • How to overload the insertion and extraction operators for a class you define
  • How to iterate over an STL vector
  • Whether ++i is better, worse, or the same as i++, performance-wise, and why
  • What methods the compiler will create for you if you don’t create them yourself, and the implications of this
  • How to indicate in your developer contract whether a class is meant to be subclassed, which methods are overrideable, and how you insist that only subclasses can be instantiated
  • How to specify default values for parameters

If you are a 7 or an 8, you probably should have read most of “The C++ Programming Language” and/or “Effective C++” and/or “Advanced C++” and/or a number of equivalents.  Having read “Design Patterns” would certainly help, although lately those have kinda lost their glimmer and so I don’t weigh on those like I used to.

Also:

  • What const and mutable mean

Yeah.  const.  Don’t be like the self-proclaimed C++ expert I worked with at Enterasys Networks, who told the whole company he was the go-to guy for C++ questions, who, when asked, “Why does it say const after this method declaration?” replied, “Oh, they just do that a lot in C++; it doesn’t mean anything.”  Yeah.  Don’t be a doofus.

Don’t try to impress me by saying you are a 7 or an 8 if you aren’t.  Really – you don’t have to be a 7 or an 8 to get a job at Mozy (Decho…hrm).  If you say, “Oh, I’m probably a 5,” that tells me you are a good, solid C++ dude (or dudette, whatever) that knows how to write decent C++ applications.  You’ll probably get asked to come in for an interview anyway.

When we bring you in, it is my job (and Cody’s) to figure out how much of C++ you really know.  We will start out at the point you specified and go from there.  If you are really a 5 or a 6, but you said 7 or 8, you will feel like we’re being very brutal on you.  Hey, you are the one who said you knew your stuff.

Oh – one more thing.  Some of you experienced hires don’t think you should have to go through all of this to get a job with us.  Well, we make the rules.  Every one of us that works there has gone through it.  If you think the rules of Monopoly are dumb, nobody’s gonna think bad of you if you decide not to play.  But if you want to play but not follow the rules, well, don’t be too surprised if people take issue with that.  If you’re gonna try to work at Moz – uh, Decho, at least for my team, just go through the process like everyone else.

Okay, I feel better.  Whew.  Oh, and by the way, if you really are a 7 or an 8 (or better), I have a link for you.

Defining My Own Self

February 10th, 2009 View Comments

We spent last weekend in Roosevelt, where I grew up, and where my family still lives.  For example, my brother lives there.  He can live there and enjoy it, because he is a cool person.  He was cool in high school.  He was cool growing up.  He has this aura of coolness about him, bestowed upon him by the Rooseveltians.  Thus, he can live in Roosevelt his whole life and be the person he wishes to be – because of his coolness, the Rooseveltians have granted him this right.

So, we went there to visit.  It was a good visit.  My brother has a pretty awesome home theater in his house, because he is coolness.  So I took my Queensrÿche Operation:Livecrime DVD with me on the trip, and we rocked that puppy.  Yeah, that was very much how I remember it, having experienced it myself during the Promised Land tour in 1995, I think, which was my first ever concert, and basically spoiled me for life.  It seems to me that they played Mindcrime all the way through start to finish and it was beyond incredible.

So now, I have the DVD, and I can experience a watered-down version of it myself, on my low-def TV at home with crappy speakers, or on my car’s awesome stereo with no video.  Or I can experience it again at my brother’s house, which was Awesome.

Going home to visit is often interesting.  My wife and I usually end up having some sort of conversation on the way back on the topic of Under What Conditions Might We Consider Moving To Roosevelt.  See, since she gets along well with my brother’s wife, and I get along well with my brother, it might be fun, right?  So, for example, maybe we would consider it!  If I was independently wealthy, because I wouldn’t be able to get a decent job there in my profession.  And if we could afford to come to the Wasatch Front every so often, because, you know, sushi.  No sushi in Roosevelt – they have not heard of this yet.  Oh, and the weather.  And nothing to do.

But seriously, I’ve never felt comfortable about this.  And I think I finally figured out why.  It has to do with the gifts of the Rooseveltians, or lack thereof.  They bestowed the gift of coolness upon my brother.  Now he can be whomever he likes.  As for me, contrariwise, well, they never bestowed this gift upon me.  There is a certain persona I’m required to fill by the Rooseveltians, which I really don’t like.  I realized after I left that place that I didn’t like that person, the person they convinced me I was when I lived there.

That’s why I don’t want to move back. I don’t tolerate other people telling me what or who I am anymore. I define myself.

Another Reason DRM is Bad (In Case You Needed Another Reason)

July 28th, 2008 View Comments

Ars Technica wrote “DRM Still Sucks” in this article that you should read at least briefly.

Saying that DRM still sucks is not exactly news – pretty much everyone knows it by now. Hopefully you are not still buying your music encumbered by DRM. This isn’t about being able to do something illegal – I love music and yearn for more good music, and am willing to pay a fair price to support people who produce good music – rather, it is about being able to listen to the music I buy. What happens to your music when the provider of the DRM technology disappears? Will you lose your ability to listen to your music, or have to buy it all over again?

That’s why I’m buying all my music from Amazon.com now. Yeah, I still think it is more expensive per song than it should be, but it’s worth it to me to support their anti-DRM venture. Buying from Amazon.com sends the RIAA a message that Napster and AllofMP3.com were not about piracy, but rather about DRM-free music. Perhaps if enough of us buy there, they will eventually come around.

Yeah, I know, it is a lot to hope for – probably unreasonably so. But I’m going to be optimistic and use my money to vote for DRM-free music. I hope you will also.

Categories: Music Tags: , ,