Friday, April 30, 2010

WebCam Photo of the Day: #1


Just having a little fun with the Cheese Photo Booth application on

Steve Jobs hates Flash -- A prediction of 2015

This is why there's a stench of panic hanging over silicon valley. this is why Apple have turned into paranoid security Nazis, why HP have just ditched Microsoft from a forthcoming major platform and splurged a billion-plus on buying up a near-failure; it's why everyone is terrified of Google:

The PC revolution is almost coming to an end, and everyone's trying to work out a strategy for surviving the aftermath.

Everything is cloud this and cloud that. The PC is dying and Apple is building their walled garden to fend out the PC zombies. Definitely worth to read the entire post by Charlie Stross -- it's a prediction of the personal computing / Internet in 2015.

Wednesday, April 28, 2010

Your Entitlement: Your Own Opinion; Not Your Own Facts

Everyone is entitled to his own opinions, but not entitled his own facts.

- Daniel Patrick Moynihan (1927-2003)

I absolutely love this quote.  Thought I would post for future reference.

Definitely a Full "Mike" Coffee Day -- Photo


Allyson and I have a little joke in our house. We have Tinkerbell and Mike coffee mugs from Disney. You can tell if it's going to be a long day depending on if it's a "Full Tink/Mike", "Half Tink/Mike" or "Quarter Tink/Mike". Today is a "Full Mike" coffee day.

Tuesday, April 27, 2010

cf.Objective() 2010 Redux - The Good, What I'd Change and the Ugly

It's the week after the conference and I'm sure everybody that attended is currently digging themselves out of the pile of work that accrued during the conference.  I decided to blog about the conference now before I forget things.

Before I continue, I want to thank all of the fellow Content Advisory Board (CAB) members that helped decide the topic for the tracks this year.  Without all the help and diligence, I doubt the conference content would have been so good this year.

The Good

The conference was great this year and here are some of the random things I really thought made the conference different than in past years.
  • The Birds of a Feather (BoFs) were organized and put into the printed schedule this year.  This needs to be done at least a month in advance otherwise the BoFs are not well attended.  The BoFs are some of my most favorite moments of the conference.
  • Just about all of the presentations this year seemed pretty polished and informative.  Maybe it was because we had a turn over in content completely or that a different speaker spoke on a needed topic than in past years.
  • This year the conference used green / red cards in a punchbowl to rate the presentation.  If you had comments, you could write it on the cards.  One suggestion is to add a "white" card to indicate "indifferent".  I understand the needs of having an imbalanced rating system (either good or bad), but most people will rate higher than needed if pushed into a corner.  I suspect that very few red cards were put into the punch bowl.  This system made it easy for attendees to provide at least a minimum amount of feedback.
  • I dare say I am biased, but the location of the conference is great (being that I live in the city of Minneapolis myself).
  • The schedule this year was great in the terms of timing.  This year the conference allowed 15 minutes between presentation slots and the presentation slots were 60 minutes.  This allowed for ample time for the presentation and QA.
  • The Duct Tape and Astronaut skit / presentation was great.  I hope to see the written technical comedy of Matt Woodward again next year.

What I'd Change / Add

There are a few things I'd change for cf.Objective() 2011.  I am not being negative here; merely critical as that is only way for cf.Objective() 2011 to be even better than this year!
  • I would reduce the total number of members of the CAB for 2011.  This year we had three "co-chairs" per track and the phrase "three's company" comes to mind.  Yes, the topic select was done in mostly democratic voting manner, however there still needs to be somewhat of a benevolent "dictator" for each track.  I'd suggest two CAB co-chairs per track.
  • Now this might come as a surprise to some because I'm the lead developer for Mach-II, but I would eliminate all framework talks from cf.Objective() 2011 especially for the major frameworks.  In retrospect, I would have not had talks for Mach-II, Model-Glue, ColdSpring and ColdBox.  The smaller / younger projects I could see a talk being presented such as FW1 and CFWheels.  At some point, the frameworks really self-evangelize themselves and the framework talks in general have lower attendance.  Plus, you see the major frameworks if other talks that are not directly related the framework nowadays.  This would free up a lot of space in the Process and Methodology track for other really neat things.
  • The RIA: Flex / AJAX / AIR track was the least popular track in the terms of attendance based on my causal observations.  This year it really made me wonder if RIA deserves a track in 2011.  This is because if you are a Flex / AIR developer you go to Flex360 or other AJAX oriented conference.  I feel that the RIA track is really not attracting RIA people to cf.Objective() and just waters down the real focus of the conference -- CFML!
  • I'm starting to worry about the increasing cost to the conference.  I hope the cost can be reduced for next year as $799 early bird is a bit pricey over previous years.  I'd like to see the early bird back down to under $599 for a three day event.  However, I'm not the money man for the conference.  This is merely a suggestion.
  • The Pecha Kucha BoF was very well received from what I hear (I was in the mobile BoF that night).  I would definitely bring that back, but during the day -- preferably each track getting their own.  Also, I hope to offer a presentation that is similar to Pecha Kucha -- "Choose Your Own Adventure" style presentation in which multiple short presentations are strung together in a choose your own adventure format.
  • I would setup a "private" StatusNet ( / twitter) network for the conference.  It would be great fun to have "private" channel just for the conference.  Plus, StatusNet (open source) supports file uploads and photo sharing.

Personal Observations

  • I did four presentations this year: Speedy Websites, Open Source Debugging Tools, Mach-II and OpenBD on Google Application Engine.  To be entirely blunt, I over extended myself this year.  Yes, the Mach-II presentation was a snap to plan (thanks Kurt) and Matt basically put the whole GAE presentation together.  It was a lot of stress for me this year especially after my wife and I decided to buy a house and move between time I agreed to four presentations and the actual conference.  Next year I'm limiting myself to a maximum of two presentations (if they even selected).
  • I am local to conference and therefore I commuted to the conference hotel.  My parking was paid for, however non-local speakers get hotel room.  Honestly, it would be a lot less stress for the local presenters to have been giving a hotel room (I would have happily roomed with Kurt to save money).  I just don't understand why locals get way less in the terms of "compensation" than non-locals.
  • This is sort of a pet peeve of mine so please excuse me for getting on my soap box for a moment.  The CFO steering committee (all names read), the CFO CAB (just a mention of the committee as a whole) and CFO Sponsors (all names read) were all thanked.  However, the speakers were not thanked (either by name or as a whole) for a second year in a row.  In all honesty it is probably just an oversight, but without the speakers the conference cannot happen.  I hope next year the conference decides to thank speakers directly during the "closing ceremonies."  At the first CFO in 2006, we all got $100 gift cards to the Mall of America (actually place that accepted Visa).

The Ugly

  • Actually, there was nothing ugly.  Just thought it would be a nice joke to put up that category.
That's my cf.Objective() 2010 redux.  I hope to be there in 2011 -- it was a blast!

Monday, April 19, 2010

Are Software Development Practices Killing Our Creativity?

Let us consider this statement:

All children play.

Without question, I believe that most people would consider the practice of "play" to be a significant and important part of the development of a child.  Play inspires imagination and creativity which brings development of concepts, ideals and beliefs.  Another important aspect of this is the lesson of playing with others and learning the value of sharing.  Let us not forget that it's just good old fun.

Before we continue, let's decide a concrete meaning of "play" in the way I see it.  Yes, we all play games as adults whether it's the dating game or the latest and greatest console game.  However, I would be better to agree that those kind of activities are more inline with process of finding love and enjoying entertainment mediums.  It is not the kind of "play" that inspires creativity, new thoughts and imagination.  For the sake of this blog post, let's define "play" as follows:

Play (noun): A process that inspires imagination and creativity while teaching the value of sharing and collaboration with others.

As we get older the practice of play, as defined above, typically ends as we enter into adolescence and adulthood.  Maybe it morphs into other things, but the concept of a 20-something still playing with G.I. Joe's (sorry fans and collectors) or playing house (in a house of our very own) becomes something that most adults would not want the world to know about them.  Where do we find inspiration for our imagination and creativity as a programmer?

Let us dive into software development. In a consumer based internet, everything is about data sharing, mashing that data into new data streams and sharing that knowledge with others. But developing software there are legal matters that stop us from sharing knowledge. We've all been subject to NDAs (non-disclosure agreements) for a variety of reasons from trade secrets or patented processes.  I'm not advocating that NDAs are not necessary however, it does provide an additional barrier leap over when it comes to developing that killer new feature.

Applying it to software that is widespread and common this stifles the creativity and inspiration drives the development of the next new world changing feature or application.  There are two groups of software which can be divided into:

  • Commodity

  • Specialized

Commodity software are areas where the type of software is widely used in the world across the general public and enterprise.  It would easy lump in things such as operating systems, word processing and web browsers.  Unless you are already a major player in the market, it's very hard to make money on commodity software.  When was the last time you paid for a web browser?

Most software starts off in the specialized software group as proprietary software.  You can only be unique for so long until you get competitors that offer alternative options to your product.  There a variety of factors that make alternate products attractive to decision makers.  It might be cost / licensing, different features or support options.

An alternative may not need to be better to begin winning market share.  Most alternatives compete on price and some what on features.  Suddenly, your product needs feature X and be $1,000 cheaper to remain competitive and continue being "specialized".  As time goes by and alternatives continue to erode your specialized market.

You may have not noticed yet that I have not mentioned whether or not the alternatives are proprietary or open-source.  There may not be an open-source alternative, but in most cases people start asking the question:

Why do I have to pay for this? I could write my own that only does what I need it to. It would be a creative challenge and I would get to use my imagination to solve problem X.

I believe this is how most open-source project start.  Whether it competing against a proprietary product or it's free reign, open-source projects usually start to fill a gap.  I believe it's not filling the "free" gap, but fills the creativity programming gap that is so often overlooked by employers.  In lots of cases, open-source bridges a particular type of software from the "specialized" to "commodity" software group.  Companies that fail to see a bridge being built will only suffer the punishment of seeing their once "specialized" software become a "commodity".

Why is open-source becoming increasingly popular?  I pose this thought:

Open-source is an adult programmer's playground where creativity and imagination can be shared with the rest of the world.

As programmers, I believe that some of us are looking to fill the hole left behind by childhood "play" and open-source offers a new paradise -- a digital playground in code.  Our primary purpose is to have fun; not to make boat loads of money.  Considering this...

Does proprietary software kill our creativity?


The short answer is "yes" when applied to commodity software because the method of participation is restricted by NDAs and the inability to share with others that may have useful contributions.

Like any other sort of fringe activity, you find that people are attracted to it because there's something that it fulfills that their daily life doesn't. - Paul Jennings

You're free to continue this discussion as comments, but I would appreciate it if you keep the flame wars / baits to a minimum.

Sunday, April 18, 2010

Prototype JS - Auto-Resize Text Area

Recently needed to auto-resize or auto-grow a text area in a form (with a maximum size).  Below is short a little Prototype JS version which you invoke by using:

new TextAreaResize('idOfElement');

This utility does not resize the text area smaller if an user deletes data from the text area (which is expected in most cases).

var TextAreaResize = Class.create();

TextAreaResize.prototype = {

     * OPTIONS:
     * maxRows: integer (default 50)
     * The maximum number of rows to grow the text area
    initialize: function(element, options) {
        this.element = $(element);       
        this.options = Object.extend({maxRows: 50}, options || {} );

        Event.observe(this.element, 'keyup', this.onKeyUp.bindAsEventListener(this));

    onKeyUp: function() {       
        while (this.element.scrollHeight > this.element.offsetHeight && this.element.rows < this.options.maxRows) {
            if (this.element.rows < this.options.maxRows) {
                this.element.rows = this.element.rows + 1;

Friday, April 16, 2010

Most performed Americans (via John Mackey's Blog)

April 16, 2010

Most performed Americans

The League of American Orchestras has released their always-interesting list of the most-performed American composers. The rankings are only for orchestral performances, which makes them especially eye-opening when you compare these numbers to, say, band numbers. These numbers are for 2008-2009. Here are the top 5 living American composers, and their total number of American orchestral performances:
1: John Adams — 52 performances
2: Jennifer Higdon — 49 performances
3: Michael Daugherty — 34 performances
4: John Corigliano — 32 performances
5: John Williams — 31 performances

(You can see a more complete list here.)

I’ve written before about the whole “band vs. orchestra” thing, but here, comparing the numbers is kind of shocking.  During the 2008-2009 season, John Adams had 52 performances by orchestras in the United States.  From his entire catalog.  This year, Asphalt Cocktail has 70 scheduled performances.  That’s one band piece.  Point: band.

Also of note is the Boosey & Hawkes list of their most-performed pieces of the past decade.  Michael Daugherty’s piece for timpani and symphonic band (and also arranged for orchestra) “Raise the Roof” is number 8 on Boosey’s decade list, but I’m willing to bet that the majority of those 67 performances are from bands, not orchestras.  At number 2, it’s Christopher Rouse’s orchestra piece, “Rapture.”  Since 2000, it has had 97 performances.

At number one, though — and this is only considering works published by Boosey & Hawkes — is Karl Jenkins Requiem.  How many performances in the past decade?  311.  311!  I feel pretty out-of-touch for not even knowing the piece existed.

The lesson here?  If you’re a composer and you want to have at least the potential for a large number of performances, write for band.  But if you want to really get a shitload of performances, write a requiem!

Apparently everybody loves a requiem.

As a musician who was formerly on a professional musician career path, I find this post extremely informative. If you are a composer and you want your music to be heard and performed, write for band. This is why John Mackey has been writing for band so much these days. Go John! (As an aside, my youth orchestra worked with John about 11 years ago.)

Map: Nearby Eats, Drinks and Other Things to cf.Objective() 2010

Here's is a list of nearby eats, drinks and other items to the Hyatt Regency -- the conference hotel.  I've tried to limit all items to places I've been before.  Hope this helps people.


Thursday, April 15, 2010

Ubuntu - Screen Dims When Watching Hulu / YouTube

I was majorly annoyed when this was happening so I when to check the power management settings (System -> Preferences -> Power Management) and made sure that "Dim Screen When Idle" was unchecked for both AC and battery settings.  Darn both of those options were unchecked and I just lived with having to move the mouse for a couple of weeks.

What you need to check is your Screensaver settings (System -> Preferences -> Screensaver).  By defualt, the screeensaver is "Blank Screen" and the timeout for "idle" is rather low.  So uncheck "Activate screensaver when computer is idle" or increase the slider for "Regard computer as idle after...".  This solved my problems and I'm posting this so I don't forget.

Wednesday, April 14, 2010

USB to Parallel Converter - TrendNet TU-P1284 on Ubuntu using HP Series II Printer

I own an aging, but trusted workhorse of a printer - HP Series II.  My printer was built in 1987 and to the surprise of many the toner cartridges are still available from mass retailers.  The crux of getting old in the printer world is my Series II only has an LPT port and most new computers (even desktops) no longer have LPT ports.  This was the issue for me in the recent years where I only had one computer (a Shuttle mini-box) with an LPT port.  This was fine until our recent move and I now longer want to have my Shuttle system setup to just for my occational printing needs.

Enter the TrendNet TU-P1284 USB to Parallel Convert which I just got off Amazon for a cool $14.  I'm using Ubuntu and CrunchBang as my operating systems.  As any Linux user knows, having a manufacturer listing Linux support is pretty rare for the little items like a converter (although I am noticing it more and more).  So the cable arrived today and I hurried unpacked it. I plugged it in and a big fat... nothing.  CUPS would not even recognize a new printer connected.

After a whole bunch of Googling and a few thoughts of returning the cable to Amazon, I found a bug from a few years about about foomatic not recognizing printers connected via usb to parallel converters. So instead of editing CUPS configuration files I decided to check if I could find in "/dev/usb" if Ubuntu actually saw the usb converter plugged in and Ubuntu did at "/dev/usb/lp0". I was right! It was mirrored at /dev/usblp0.  So I tried adding a printer again in CUPS by using this device URI "usb:/dev/usblp0" (yes, a zero - "0") and the test page did not work.  I reviewed that bug report again and noticed his HP printer only worked when using the device URI of "parallel:/dev/usblp0".  That worked and I was able to select the printer driver for HP II (there are three available) and had a successful test page printed.

So I'm posting this for two reasons:

  1. Google did not come up with any immediate results that helped me.

  2. I will forget how I set this up by tomorrow and next time I switch computers around in my office I will up a wall trying to figure this out again.

Hope this helps somebody else out there.

Nine Myths about Socialism in the US (via

Glenn Beck and other far right multi-millionaires are
claiming that the US is hot on the path towards socialism. Part of their claim is that the US is much
more generous and supportive of our working and poor people than other
countries. People may wish it was so,
but it is not.

As Senator Patrick Moynihan used to say “Everyone is
entitled to their own opinions. But
everyone is not entitled to their own facts.”

The fact is that the US is not really all that generous to
our working and poor people compared to other countries.

Consider the US in comparison to the rest of the 30
countries that join the US in making up the OECD – the Organization for
Economic Cooperation and Development. These 30 countries include Canada and most comparable European countries
but also include some struggling countries like Czech Republic, Greece,
Hungary, Korea, Mexico, Poland, Slovak Republic, and Turkey. See

When you look at how the US compares to these 30 countries,
the hot air myths about the US government going all out towards socialism sort
of disappear into thin air. Here are
some examples of myths that do not hold up.

Myth #1. The US
government is involved in class warfare attacking the rich to lift up the poor.

There is a class war going on all right. But it is the rich against the rest of us and
the rich are winning. The gap between
the rich and everyone else is wider in the US than any of the 30 other
countries surveyed. In fact, the top 10%
in the US have a higher annual income than any other country. And the poorest 10% in the US are below the
average of the other OECD countries. The
rich in the U.S. have been rapidly leaving the middle class and poor behind
since the 1980s.

Myth #2. The US
already has the greatest health care system in the world.

Infant mortality in the US is 4th worst among
OECD countries – better only than Mexico, Turkey and the Slovak Republic.

Myth #3. There is
less poverty in the US than anywhere.

Child poverty in the US, at over 20% or one out of every
five kids, is double the average of the 30 OECD countries.

Myth #4. The US is
generous in its treatment of families with children.

The US ranks in the bottom half of countries in terms of
financial benefits for families with children. Over half of the 30 OECD countries pay families with children cash
benefits regardless of the income of the family. Some among those countries (e.g. Austria,
France and Germany) pay additional benefits if the family is low-income, or one
of the parents is unemployed.

Myth #5. The US is
very supportive of its workers.

The US gives no paid leave for working mothers having
children. Every single one of the other
30 OECD countries has some form of paid leave. The US ranks dead last in this. Over two thirds of the countries give some form of paid paternity
leave. The US also gives no paid leave
for fathers.

In fact, it is only workers in the US who have no guaranteed
days of paid leave at all. Korea is the
next lowest to the US and it has a minimum of 8 paid annual days of leave. Most
of the other 30 countries require a minimum of 20 days of annual paid leave for
their workers.

Myth #6. Poor people
have more chance of becoming rich in the US than anywhere else.

Social mobility (how children move up or down the economic
ladder in comparison with their parents) in earnings, wages and education tends
to be easier in Australia, Canada and Nordic countries like Denmark, Norway,
and Finland, than in the US. That means
more of the rich stay rich and more of the poor stay poor here in the US.

Myth #7. The US spends generously on public education.

In terms of spending for public education, the US is just
about average among the 30 countries of the OECD. Educational achievement of US children,
however, is 7th worst in the OECD. On public spending for childcare and early education, the US is in the
bottom third.

Myth #8. The US
government is redistributing income from the rich to the poor.

There is little redistribution of income by government in
the U.S. in part because spending on social benefits like unemployment and
family benefits is so low. Of the 30
countries in the OECD, only in Korea is the impact of governmental spending lower.

Myth #9. The US
generously gives foreign aid to countries across the world.

The US gives the smallest percentage of aid of any of the
developed countries in the OECD. In 2007
the US was tied for last with Greece. In
2008, we were tied for last with Japan.

Despite the opinions of right wing folks, the facts say the
US is not on the path towards socialism.

But if socialism means the US would go down the path of
being more generous with our babies, our children, our working families, our
pregnant mothers, and our sisters and brothers across the world, I think we
could all appreciate it.

Bill Quigley is Legal Director at the Center for
Constitutional Rights and law professor at Loyola University New Orleans. There is a version of this article with
footnotes for those interested.

Sort of hard to say we're moving towards socialism when we rank last or almost last among the 30 OECD countries. The rest of the post speaks for itself.

Thursday, April 8, 2010

How to view someones IP address and connection speed! (LOL - via YouTube)

This should be in the funny category. I almost fell out of my chair. Supposedly, using "tracert" (or as he calls it - "tracer - T") command on Windows shows everybody using a particular website. Somebody show this guy what a traceroute is!

Tuesday, April 6, 2010

Apple's iPad: The End Of The Internet As We Know It? (via NPR)

Paul Sweeting, an analyst with GigaOM, sees it differently. "With the iPad," he says, "you have the anti-Internet in your hands."

I'd click through and listen to the news story first. However, Mr. Sweeting is right in my opinion. Apple is offering a gated community via iTunes and trying to re-create the old business model of delivering everything to you instead of being open. We all know about the rejected applications on iTunes and censoring what we are trying get away from in the first place (Google built a business on open). I doubt we all want GE and AT&T back at the helm right? Apple is next Microsoft.

Monday, April 5, 2010

My New Office

Allyson and I just bought and moved into our first house (I'll post more photos of the whole house later).  This was an exciting and daunting process at the same.  Suffice it say we have a bunch of work ahead of us considering our house was built in 1923.  As my Aunt and Uncle said in a house warming card: "Welcome to your new hobby."  Below are some before and after pictures of my new office.  The first picture is the "before" version.  We have plaster walls and this room was probably not painted in the last forty years.  This was definitely lead based paint so the prep time for this room was tripled due to the "no dry scrape rule" and any light sanding of the patches had to be done with a wet sanding block.  The Minnesota Department of Health had a good Removing Lead Based Paint - Interior Guide.

Another reason the whole process took so long was that nobody who previously painted in the last 87 years appeared to like painter's tape or drop cloths.  The second and third photos show the "before" and "after of the 8 inch baseboard we had to prep.  We used a combo of razor blades, carbide tipped scrapers and steel wool.  Again, before this was lead based, we had to do this wet with gloves and masks.  The paint spatter was a combo of latex (probably from the ceiling paint 20 years ago) and oil based paint.  After the fact, a buddy of mine told me that wood alcohol works on latex paint without damaging the wood below.  Lastly, we were lucky to have a true HEPA vacuum so getting any paint chips was done safely.

We painted with Behr Primer and Paint in One with the walls in Wasabi Powder (walls), the trim in Vermont Cream and the ceiling in Princess Ivory.  We based our colors after traditional colors for dens or studies in Craftsman style houses of the 1920s.  For your viewing pleasure, the last photo is the "after" picture complete with my empty bookshelf.