Programming

A New Yorker’s Take on San Francisco

Tuesday, August 7th, 2007

I just got back from San Francisco. This wasn’t my first time to the west coast, but it was my first time to Northern California. Overall, I had an amazing time.
Read the rest of this entry »

Dilbertization of IT

Monday, March 19th, 2007

There is an article on eWeek I encountered via del.icio.us called “The Dilbertization of IT.” Though it says a lot of stuff most IT workers already know (that in many places, the “creative” work is being de-emphasized while “firefighting” or “maintainence” is emphasized), the more important thing to point out is the cause of this Dilbertization. I found an insightful comment which points to some of them.

Dilbert’s pointy-headed managers are everywhere. In my current Fortune 100 company, virtually none of the managers with any authority have ANY IT development background. They manage entirely by cost and project plan – ignoring any and all input from those developers who actually have a successful track record.

I can’t say this is true in my team, at my company, but I have certainly heard it from a lot of my IT friends. Also, I have an acquaintence who is an IT Project Manager who thinks that development is “easy work” and that most software developers are just “lazy”, which is why projects end up behind schedule. I think many innumerate IT managers share this opinion, and this can lead to problems, low morale, and resentment.

Nat’s Pendulum

Sunday, March 18th, 2007

Metacity (the window manager for GNOME) has this annoying and ugly minimize animation that looks like a bunch of cascading rectangles flying at your taskbar. I’ve always hated it, but dealt with it for awhile.

Today, I did some digging on the Metacity bugzilla to see if it was fixed, and found this bug.

Over the course of 3.5 years, this bug has sat on the bugzilla, and still isn’t satisfactorily resolved. There is now a reduced_resources flag in gconf, but this flag only disables the minimize animation at the expense of forcing you to use an ugly wireframe window dragging animation. (Complete, utter insanity.)

Read the rest of this entry »

“This isn’t elitist, this is egalitarian.”

Sunday, March 18th, 2007

A surprisingly articulate post on OSNews about Free Software:

Asking me to get off my a$$ and code drivers for this baby is what I consider elitist and a very unreasonable demand on the end user. It’s one thing that gives GNU/Linux zealots a very bad name in the real world.

I have sneaking suspicion that you get this response from the Linux community because we feel you’re placing unreasonable demands on us. Your points are valid, but your energy is misdirected. Unfortunately for those who don’t like to code, that’s how software is created and improved. We invite you to participate in our projects in a variety of capacities including but not limited to programming, but of course participation is not required.

I think that Linux “zealots” get a bad name because much of the “real world” believes in a culture of entitlement. Look at everybody living life with a chip on their shoulder, blaming everyone else for their problems and scoffing at the notion that they take responsibility for their own situation. Somewhere along the line we stopped believing in opportunity as a means of realizing our dreams and began to foster the idea that we’re entitled to our expectations. In “Linux land,” we believe that the opportunity to participate in our information society is fundamental to our inherent desire as human beings to better our situation and control our own destiny.

Of course, money can make just about any dream come true. Mark Shuttleworth, for [example], invested $10 million to help make the Ubuntu project a reality. But years ago my great-grandmother told me the story of how my family came to America with nothing but the promise that here they would find a land of opportunity. This is the same promise we make with free software. This isn’t elitist, this is egalitarian.

I have to say, this is part of what makes me love Free Software.  It’s this idea of widespread opportunity.  Sure, F/OSS has power structures and means of coercion/control built into certain parts of it, but for the most part, it’s based upon a very simple, powerful, and egalitarian idea.  “Anyone can improve this, anyone can make it better.”  It’s that kernel of an idea that makes any process — whether software production, book editing, encyclopedia editing, or even beer brewing, more enjoyable to those involved, and, as a side effect, better for the general public.

Catching up on the reading list

Friday, March 9th, 2007

Lately, I’ve been very diligent about catching up on my reading.

I have been perpetually delaying a review of Capitalism 3.0 and Dreaming in Code, both of whom deserve it. But I promise one soon. I use Hofstadter’s Rule of Thumb lately for estimating time: however long you think it’s gonna take, double it and add a unit of time. So if you think it’ll take two hours, it’ll really take four days. If you think it’ll take five days, it’ll really take 10 weeks. And so on.

In the meanwhile, I’ve been busy at work — actually working on some cool stuff from a technology standpoint, mainly in the realm of hacking with pieces of the Eclipse Modeling Framework, and its related projects like GMF, RCP, Eclipse Core, etc.

On my commute, I’ve been enjoying reading Making Globalization Work by Stiglitz. Although one of my friends mentioned to me that this book would be quite boring, and for the most part he was right. Not the lofty stuff of Barnes in Capitalism 3.0; but perhaps Stiglitz’s recommendations are much more practical for ways to improve the current system.

The other book I started recently is a long, written interview with John Kenneth Galbraith (much in the style of Socrates) which is entitled, Almost Everyone’s Guide to Economics. What’s amazing is to see Galbraith, this towering (literally) Keynesian economic thinker, speaking in the 70s of the growth of corporate power, the undermining of labor, and the insidious nature of market fundamentalism. And yet, here we are, 30 years later, heeding none of his warnings, and entering into the new “global age” of “The World is Flat”.

Oh yes indeed, I do need to write some reviews very soon.

Finished Dreaming in Code

Friday, February 23rd, 2007

Overall, Dreaming in Code was an interesting book. For programmers who already are obsessed with the classics of software engineering (Mythical Man-Month and friends), you probably won’t learn much new stuff in this book. However, the personal illustrations using OSAF did lead me to some self-evaluation of the work I do. It was also interesting to see the internal workings of an organization which seems to be set up ideally for programmers — a good mission, an open source project, no real deadlines or users in the beginning, design-focused, etc. — and still see it run into the same issues traditional software shops run into.

I’d post a longer review, but I’m headed down to New Orleans today. Will post a longer review when I get back, hopefully also of Capitalism 3.0, whose ideas have been swimming in my head the last few days of commute.  I think they really deserve to be summarized and presented here.

In the meanwhile, I’ve started reading Making Globalization Work by Joseph Stiglitz. This book, in particular, has been a kind of catharsis for most of my armchair ideas in economics, at least so far.  It’s a very strange feeling to read the ex-Chief Economist of the World Bank explaining his own ideas about overcoming the zealousness of “market fundamentalism” prevalent in economic circles, while I, who never studied economics formally, think, “Why would anyone trained in this discipline actually believe that markets are a magic force that work on their own?”  But I guess ideology always trumps rationality.

Dreaming in Code

Sunday, February 11th, 2007

I just picked up a copy of Dreaming in Code from Barnes & Noble. Will probably devour it in the next couple of days.

Open Source Talks at Google, and VIM creator

Wednesday, February 7th, 2007

Google has an interesting talk about “How Open Source Projects Survive Poisonous People” at Google Video.

On February 13, they’re going to have the creator of VIM, Bram Moolenaar, giving a talk on VIM7.  What’s funny is that Bram, who has been working full-time on VIM for the past few years (living entirely on donations and money votes for VIM features) has now been hired by Google.  Smart move.

Spirited Discussion with Miguel de Icaza on Mono and Microsoft

Sunday, February 4th, 2007

I got fired up by the evidence coming out of Microsoft from yesterday, and decided to write a post to Miguel de Icaza’s blog.

Here’s what I wrote:

Hi Miguel,

It looks like a new set of “Halloween Documents” have come out, thanks to a case in Iowa, Comes et. al. v. Microsoft (http://iowaconsumercase.org/index.html). I’m wondering if you have any comments on this document in particular, which suggests that Microsoft management knew full well they were “stealing Java” to intentionally marginalize the cross-platform language issue.

A select quote from the document, “Screw Sun, cross-platform will never work. Let’s move on and steal the Java language.”
Here’s the e-mail archives, which was submitted into evidence:

http://www.iowaconsumercase.org/011107/PX_2768.pdf

I’m wondering, given these thoughts from within Microsoft management, and given the recent news of Sun open sourcing the Java language under GPL terms, how is it that you can still push for the Mono project on Linux? Aren’t we always going to be fighting an uphill battle against a monopoly company protecting its biggest cash cow: the Windows platform?

Although my question was more “devil’s advocate” and meant to rile him up, Miguel provided some of the strongest and most cogent arguments for Mono that I’ve seen on record.

I just want to say great work to Miguel and the Mono team, and that if you ever doubted your raison d’etre, all it would take is reading this thread to be convinced! You’ve certainly convinced me!

Update: it’s really this kind of dependency on Windows I’m worried about in .NET. I think it’s just that the culture of the Java runtime is one of platform independence, whereas .NET from Microsoft is one of “platform dominance,” and Mono is some sort of stepping stone between Microsoft’s single-platform vision and those of us who want to write cross-platform apps using .NET.

Software Engineering Management, In a Nutshell

Saturday, February 3rd, 2007

Just saw this on Salon.com, in a letter to the editor about Scott Rosenberg’s new book, “Dreaming in Code”:

There are three options you have when developing software:

1. Quality

2. Lots of features.

3. Low cost

Pick any two.

When you actually go through the combinations, it’s quite funny, and poignant.

Also, check out this excerpt from Rosenberg’s book, called “Words fail us.”  I’m currently working on a software project and we’re doing lots of new and innovative stuff, and I can’t even express how much I connect with this article.  Choosing the right vocabulary may be the single toughest thing in working on software team projects today.