For those of you that know me, I got my bachelor degree in music. The Harmonious Programmer blog is a homage to the Air “The Harmonious Blacksmith” which is the final movement of Suite No. 5 for Harpsichord by George Frederick Handel.The title image header of my blog is photograph of a painting — a harmonious blacksmith in “Habit de Marêchal” by Nicolas de Larmessin II (1638-1694). Larmessin was a French engraver and print producer. His works are now in the public domain and thank you to Wikipedia for the image file. For those interested, here is a performance of the “The Harmonious Blacksmith” performed by Paul Nicholson on the harpsichord:
I don’t know how sad I am because I only recognized a few of these babies.
Criticism, Cheerleading, and Negativity
There is the perception, particularly in American culture, that criticism and negativity go hand-in-hand. We understand well the idea of being in favor or something, or against something, but we don’t particularly understand how criticism fits into this dichotomy. As someone with a penchant for criticism, I’ve often found myself misjudged as “being negative” when mere complaint is furthest from my intention. I’m here to explain myself and people like me.
Criticism Is Not Negativity
The reason a person is critical of a thing is because he is passionate about that thing. In order to have a critical opinion, you have to love something enough to understand it, and then love it so much more that you want it to be better. Passion breeds critical thinking. It’s why criticism as an academic practice comes out of deep research and obsession, and why criticism as a cultural product comes from subject matter experts, often self-taught.
Negativity, in contrast, is not the product of passion. There is a certain obvious duality to loving and hating a thing, but the kind of casual negativity that people read into criticism is really a product of apathy. You can’t truly a care about a thing only to casually dismiss it with a negative remark.
“That sucks” is negativity. “That sucks, here’s why, and here’s how to fix it” is criticism, and it comes from a place of love. That’s the difference.
Nobody Wants To Cook For A Chef
Friends who are professional chefs (or even accomplished amateurs) describe a social phenomenon. When someone who is not an accomplished cook is throwing a dinner party, the chefs are only reluctantly invited. It’s assumed that a professional chef must have such high critical standards for food that they couldn’t possibly enjoy anything less than a four-star gourmet meal. In actuality, most chefs I know enjoy a simple meal just as much as flights of culinary fancy.
As my own taste in spirits and beer have matured, I’ve experienced a variation on the above. I’ll show up at a party only to have the host apologize to me for their beverage selection. Though I’ve come to be an amateur critic of good drink, this certainly doesn’t mean that I can no longer enjoy a mass-market lager or a bottom-shelf bourbon. If anything, my experience has led me to a greater appreciation of the variation between styles.
A critic can certainly reduce her criticism to “good” or “bad”, but there’s far more context and nuance at work. Someone with an informed, critical opinion is, in my experience, far less likely to be negative than someone not as informed. If anything, critical thinking adds dimension to an appreciation of the world around you.
Everyone Wants A Cheerleader
Everyone says they’re comfortable with criticism and with critics, because not being able to handle criticism is a sign of immaturity. What people really want, though, are cheerleaders. Nowhere in life is this more true than in business.
A healthy business needs passionate employees to succeed. Critics are the most passionate people you can find, but we’re conditioned to assume that critics are negative curmudgeons with nothing more than slings and arrows to contribute. So rather than seeking out critics, employers seek out cheerleaders.
Cheerleaders are, on the face of it, lovely people to have around an office. They’re just super excited to be there, even if they haven’t had the time or inclination to really think about why. They abhor any suggestion of negativity, and pave over it with empty can-dos. A cheerleader might be a good worker or he might not be. It doesn’t really matter, because the guy is just so damn nice.
This might suggest a correlation between niceness and the capacity for critical thinking. I’m not proposing that. I’ve worked with “critical” people who actually didn’t have much to contribute (that is, they were really just negative), and I’ve worked with unfailingly nice people who also are quick to chime in with well-considered suggestions and improvements.
What I am suggesting is a correlation between critical thinking and passion. There are a million variations on “you don’t really know x until you hate it”. More apt, I think, would be: “you don’t really love x until you’re critical of it”.
Cheerleaders aren’t in love with your business. They care about your business, but from an emotional distance. If you treat them wrong, they’ll disappear and find a newer, happier company to cheerlead at. Critics, conversely, won’t just weather the storm with you, they’ll show up on Monday with a plan for a better umbrella. Who do you want to work with?
There’s a certain irony in criticizing the nature of criticism itself, but I’ve come accept that this is how I think. Part of me wishes I was a natural cheerleader; the selective ignorance, I imagine, is bliss.
Personally, I’m inclined to get involved exclusively with things that I’m truly passionate about, and that often means levying criticism and facing the subsequent conflicts.
For all the nights of sleep I’ve lost to the critical wheels in my head turning, I wouldn’t trade them for a moment’s rest. It’s not the easiest way to approach the world, but the cycle of passion, criticism, vulnerability, conflict, and resolution is perpetually educational.
This is one of the most poignant and true blog posts I’ve read in 2009 because it speaks to me personally. I know there are people that I’ve interacted with that think I’m “negative” or being “difficult”. This always sadden me because if I’m passionate about something it’s a special thing — it means I truly care about the topic or issue at hand.
The Linux kernel always stores and calculates time as the number of
seconds since midnight of the 1st of January 1970 UTC regardless of
whether your hardware clock is stored as UTC or not. Conversions to
your local time are done at run-time. One neat thing about this is
that if someone is using your computer from a different timezone, they
can set the TZ environment variable and all dates and times will
appear correct for their timezone.
If the number of seconds since the 1st of January 1970 UTC is
stored as an signed 32-bit integer (as it is on your Linux/Intel
system), your clock will stop working sometime on the year 2038.
Linux has no inherent Y2K problem, but it does have a year 2038
problem. Hopefully we’ll all be running Linux on 64-bit systems by
then. 64-bit integers will keep our clocks running quite well until
aproximately the year 292271-million.
Remember Y2K almost 10 years ago? It didn’t make too big of a splash because of the media hype – at least me – encouraged companies to make sure things just worked. I like to think of that as the “odd man out” syndrome since no company wanted to consistently be cited as the example of the “big Y2K failure.”
Well, we have another computer time death march coming up in 28 years in 2038. I really do hope that we’re all running 64-bit operating systems by then, but considering big business it still running 1970s mainframes… I really do wonder. So let’s start today by encouraging or in my case demanding 64-bit support of software and operating systems.
Running on Mac or Linux and tired of Adobe Flash eating up all your CPU cycles while you’re watching YouTube? Buggy plugins that crash your browser and freeze your PC? Proprietary formats that get in the way? Want to embrace HTML5 and the future? Well, now you can… one YouTube video at a time.
We’ve written an HTML 5 Video Viewer for YouTube, and you can use it to browse YouTube in true 21st Century HTML5 quality. And it’s super-simple to use.
Flash has been the bane of online websurfers ever since the 90s, especially on platforms where Adobe doesn’t bother to go the extra mile to ensure that their proprietary, binary implementations are stable and efficient. On Linux and Mac OS X, the flash implementation takes up over half the available CPU and at high-resolutions stuttering occurs. HTML5 poses the answer providing a way for browsers to use the native implementations to render videos directly in the browser without resorting to ActiveX and 3rd-party browser plugins… it just has yet to be embraced.
All I have to say is it’s about time. Flash on my Linux based netbook is slow because Adobe has not spent the time optimizing there player and the GNU Gnash player is not really really for prime time since it is really only compatibility to Flash 7.
Two years ago, at Microsoft’s TechEd in San Diego, I was involved in a conversation at an after-conference event with Harry Pierson and Clemens Vasters, and as is typical when the three of us get together, architectural topics were at the forefront of our discussions. An crowd gathered around us, and it turned into an impromptu birds-of-a-feather session. The subject of object/relational mapping technologies came up, and it was there and then that I first coined the phrase, “Object/relational mapping is the Vietnam of Computer Science”. In the intervening time, I’ve received numerous requests to flesh out the discussion behind that statement, and given Microsoft’s recent announcement regarding “entity support” in ADO.NET 3.0 and the acceptance of the Java Persistence API as a replacement for both EJB Entity Beans and JDO, it seemed time to do exactly that.
This is one of the best articles on the ORM in which the whole thing is compared to the Vietnam War. Above is the just short teaser. Grab a cup of coffee and enjoy the read. And for those that get through the whole thing, I guess I fall into category #3 – “Manual Mapping.” Remember, in war — there is nothing glamorous about it.