DISCLAIMER


This writing space reflects the personal views of Duane Gran and is not affiliated with his employment.

Technology and startups

Posted in technology on April 18th, 2008

If you are involved in a start up or work with technology in small organizations, be sure to read Keith Casey’s article about technology and startups. That he was the sole technology representative on such a panel is telling.

People familiar with the potential and limits of technology have a lot to contribute to start ups beyond slinging code.

The soul of labor

Posted in media, faith, labor on March 21st, 2008

On this Good Friday I’m necessarily brought to a place of reverence for a carpenter and Savior who washed the feet of others. If the transition seems not too abrupt, I want to draw attention to one of the most thought provoking articles about labor that I’ve read in years. I could quote volumes from it, but I’ll share the most stirring passage for me:

Knowing the production narrative, or at least being able to plausibly imagine it, renders the social narrative of the advertisement less potent.

My effort in writing here is to raise awareness (my own and others) about the dignity of human enterprise. Anything that promotes material desire, such as advertising, necessarily is a threat to our innate desire to commune with and serve God.

A word of calm in the midst of uncertainty

Posted in social science on January 23rd, 2008

In the past week we have witnessed serious perturbations in the marketplace. It can shake the confidence of even the most planned investor, but I offer up the following words of advice from Warren Buffet:

Our stay-put behavior reflects our view that the stock market serves as a relocation center at which money is moved from the active to the patient.

The dreaded software rewrite

Posted in technology on January 20th, 2008

I’ve used Quicken for ages to organize (or at the very least categorize) personal financial transactions. Today I learned that Intuit will rewrite the application for the Mac. The application is a bit long in the tooth, but this announcement gives me little comfort and this may well be the best news possible for Intuit’s competitors. Why, you may ask?

A software rewrite is almost always a bad idea that percolates up from the development team and eventually makes it way into the ear of management. The typical explanation goes that we, the programmers, are spending so much time supporting the idiosyncracies of the old system that a fresh code base is required to get it right. Probably the best explanation for why this is folly comes by way of Joel Spotsky:

The idea that new code is better than old is patently absurd. Old code has been used. It has been tested. Lots of bugs have been found, and they’ve been fixed. There’s nothing wrong with it.

I have a hunch that I’m like most people who value reliability and a seamless upgrade in my next version of Quicken. The last question on my mind is whether they wrote the application with the Carbon or Cocoa API. I’ll let other people take that plunge, thank you.

What is a project?

Posted in technology on August 28th, 2007

Johanna Rothman looks at several definitions of what constitutes a “project” and offers up a goal-oriented definition. Here is my stab at it:

A project is a temporary endeavor with measurable outcomes.

If that sounds too simplistic, consider for a moment the last project you worked on that never ended. Most people are better at starting projects than finishing them, so I like to emphasize the temporal relationship in addition to meeting the end goal.

How I think, as a manager

Posted in technology on August 27th, 2007

As a fitting complement to Waldo’s entry I thought I would offer up a view from the other side, as it were. I’ve been managing software projects for years and suffered my share of management experiences described in Paul Graham’s article.

Software development is creative and structured. You ruminate about the problem and test a variety of solutions until a good match emerges. Few people can do this while fielding interruptions nor do many composers do their best work while balancing life obligations. Software development requires devoted attention.

Management is less creative and far less structured. You operate a general plan and re-route as circumstances dictate. Good managers know when to interrupt software development while bad managers pull the fire alarm at every bump in the road.

I like to think of management as being a traffic officer. Multiple streams of potential decisions bombard me and I have to decide whether they warrant the cost of interrupting developers, finance officers and other business partners. I believe a good manager estimates the opportunity cost of conversations and meetings.

Proper sorting of lists in Java

Posted in technology on May 11th, 2007

Dave Koelle has produced an elegant solution to a pervasive problem in computer sorting. The default sort order of a list places “z100″ ahead of “z2″ and makes the output of an application less polished. I don’t have an immediate use for this, but I’ve seen the problem enough times to know that I and others will benefit from it. The algorithm is available in Java, C++ and Perl flavors.

Sage observation about software bugs

Posted in technology on April 6th, 2007

Michael Kay wrote the following to the XSL mailing list recently:

THE FIRST LAW OF DEBUGGING: if you can’t find the bug after two minutes, it’s because you’re looking in the wrong place.

CORROLLARY: if you post the problem to a forum, you will snip the very code that contains the bug.

It couldn’t be more true and I’ll readily confess that the kind people on that list have helped me debug several obvious (in retrospect) errors I’ve made with XSL programming.

Housing and the law of supply and demand

Posted in social science on March 28th, 2007

I’m cautious about the housing market, but I enjoy reading bearish analysis to keep some perspective. Mike Shedlock asks five questions everyone should consider as they contemplate the housing market place:

Understanding Demand - 3 Questions

  1. Who wants a house that does not have one?
  2. Who wants a house that can afford one?
  3. Who does not have a house and is willing to pay substantially more than rental prices for one?

Understanding Supply - 2 Questions

  1. How many have a house they can not afford?
  2. How many have a house they soon will not be able to afford?

About a year ago I prognosticated that things were getting dicey for housing. As we enter into a price correction those who must sell due to job changes and other circumstances will be bear most of the cost, but to keep this in perspective most people will continue to do what they have done for years: live in their homes. A price correction in any market is paid for by those who panic or sell low.

Sorry techies, you need business people

Posted in technology on February 27th, 2007

The old maxim of business that nothing happens until a sale is made holds true, but force of reality isn’t always enough to make truth ubiquitous. An impassioned counter claim from a technologist caught my attention. The point is simple enough and not so controversial. Business people need technologists to implement systems and solutions — that much is clear — but engineering fulfills one part of a total business endeavor.

I like what Guy Kawasaki said, in a list of his top ten lies from engineers:

My theory is that for version 1.0 of a product, the maximum allowable distance between the engineers and marketers is thirty feet.

Marketing and engineering have a torturous relationship. Marketers distill product capability into language suitable for customers and salespeople occasionally promise features or deliverables which frustrate engineers. On the flip side, engineers hedge about building new functionality and infrequently describe systems in useful terms for marketing.

Because sales and marketing have a potentially better grasp on the customer interest it only makes sense for their vision to direct software projects. Unfortunately the attention span of the marketplace is more fickle than most development cycles, so marketers often refine, revise or scrap a product design. This is supremely frustrating for engineers, but building the wrong system or finishing one that won’t sell has no value.

My point is that technologists need business people. They sell stuff and put lipstick on the pig for investors and a host of stake holders. As a career programmer turned IT manager, I’ll readily admit that customer focus is hard to maintain when building the guts of technology. Looking back on my entrepreneur days I see better my blind spots. Ignorance — not knowing or not caring — about the customer is common, but it is almost the rule among technologists.

As an illustration, I’m fond of Ron Garrett’s list of ten geek business myths. Several of the points could be summarized as “my ideas matter” whereas successful ventures are aligned with the goals of the customer.

Toward collaborative computing and service models

Posted in technology on February 13th, 2007

I recently had lunch with a nineteen year old Computer Science major who requested my advice on many things software, but mostly about how to pursue a fulfilling career in IT. We had a wonderful discussion which concluded about how academic computing differs from what one finds in the industry. To summarize:

  • An academic project is nearly always a fresh code base with few interactions, whereas most software development involves improving existing functionality or adjusting systems to comply with current business policy.
  • The system requirements of academic projects are nearly always discrete and clear, whereas most software requirements are vague and it is the task of management and developers to translate requirements into a software design.
  • An academic project is mostly evaluated by how well it matches specific requirements, whereas most software is judged by its correctness in addition to how well it scales and resists malicious or careless data inputs

In all fairness, when I studied Computer Science I had an instructor for a database design class who masterfully tested software. He would make students demonstrate in front of the class, except that he would interrupt the demo and ask you to enter in awkward data. Nearly everyone’s program crashed or corrupted data as a result. The lesson remains with me today and represents one of my most practical classroom experiences.

A British Computer Society essay identifies an even larger delta emerging over an increasing mode of developing software as a service.

If the gap between public knowledge and academic curriculum isn’t large enough, the gap between academia and industry practice is a gaping hole. While academic departments concentrate on developing new computer systems in an ideal organisational environment, a lot of industry has moved away from in-house development to a focus on delivering a service.

Interrupts, loops, algorithms, formal methods are not on the agenda. IT is about deploying resources to meet the information needs of its customers. Implementation, facility management, systems integration, service management, organisational change even environmental audit are the language of IT. These hardly feature on computer science courses.

If all of this hand wringing seems irrelevant, consider that Department of Labor forecasts, as summarized by Business Week, that “computer/math scientist jobs, which include programming, will increase by 40%, from 2.5 million in 2002 to 3.5 million in 2012.” Yet, “Colleges aren’t keeping up with demand. A 2005 survey of freshmen showed that just 1.1% planned to major in computer science, down from 3.7% in 2000.”

The good news may be, as the BCS essay illustrates, that software development is becoming ever more approachable to the masses. Many “good enough” programs are developed by amateurs which don’t justify the rigor of the CS curriculum, but the applications benefit immensely from being written by people fluent in the domain logic. If you have ever witnessed a programmer’s blank stare as you describe finance or metrical poetry you can appreciate why this transition is important and empowering.

The academic curriculum does an excellent job introducing students to computational task and theory, but more projects should be framed by someone outside of the discipline. Every CS graduate knows how to simulate the Towers of Hanoi but few have practical experience collaborating outside of the domain of math and science. Those who do possess a strategic advantage over their peers.

The good news for my young lunch companion is that the field is growing, but the bad news that the field is changing rapidly. Anyone over the past 40 years could say effectively the same thing, but I mean that a software developer must consider supporting and collaborating with stake holders who increasingly expect to build part of the software.

Get your ‘mad money’ fix today

Posted in technology on February 7th, 2007

Who would have thought that Jim Cramer, of The Street, would be speaking today in Charlottesville. For a small community we seem to attract an interesting spectrum of speakers.

Cramer will speak at the Darden School of Business at 4pm and stand by tickets for the public will be available on a first come first serve basis at 2:15. He is known for his theatrical antics when talking about finance and investing. His qualifications are impeccable and he is a crowd pleaser for a certain crowd which gets excited about stocks and the like.

I prefer to work with my investment adviser on a more personal (and fiduciary) relationship, but you can’t deny that Cramer has a certain draw about him. He is responsible for enticing many people to make the plunge into investing and his advice is generally good. For example, he advises that you allot five hours per week to research every issue you hold — hence the reason I prefer to work with an adviser.

Others watch closely the results of his recommendations, but most would agree that his performance is a mixture of entertainment and information.

Java — ball and chain?

Posted in technology on January 17th, 2007

It isn’t that long ago that I sneered at C programmers as I leapt tall buildings and turned water to wine with Java, but consensus is turning rapidly. The legion of slashdot — who always proclaim the death of a technology with every new birth — doesn’t concern me, but it does rattle my cage a little when Apple CEO Steve Jobs says, “Java’s not worth building in. Nobody uses Java anymore. It’s this big heavyweight ball and chain.”

It isn’t that long ago that Apple touted its strong support for Java so this represents a whiplash of sorts, but I respectfully disagree with Jobs. In case I appear entrenched, consider my article on a successful transition from Java to Ruby on Rails. When new technology permits new or better ways of doing things I’m on board.

The heavy weight of Java is more appropriately its breadth of APIs to enable a programmer to integrate software with obscure hardware devices and algorithms. The production of algorithms used to be the bread and butter of software development but for years Java programmers have had a cornucopia of third party APIs, many of them free, to select. When you program in Java you stand on the shoulders of giants, so to speak.

As much as I like ruby and other innovative languages, I’m averse to them fundamentally as a staffing issue. Code has a much longer life than the typical staff appointment for its development.

But the subtext of Jobs’ statement says more about Apple wishes to position the iPhone as a product more than what he thinks of programming languages. Apple has been a bit dodgy about third party application development for its newest gadget. It is based on Mac OS X and could conceivably support Java as well as a host of other application tools but Apple seems intent to dictate the iPhone’s function. As much as I disagree with this choice as well, the pot shot against Java is becoming more common even though it is unfounded.

Update (8 March 2007): See some notes from an Apple engineer who defected from the Java camp. He makes a lot of good points and offers the delicious line that, “[T]he [Java] APIs are too clumsy to code to, and compared to any decent Mac app, the results look like a Soviet tractor built on a Monday.”

Update (1 May 2007): Michael Kay offers up a gem of wisdom (xml-dev mailing list, Sunday, 1 Mar 2007 23:44:48) on the matter of standing on shoulders and algorithms:

[W]hen you write in Java there are teams of people everywhere helping you. That’s why you get faster development, and that’s why you can spend your time thinking about better algorithms rather than debugging the plumbing. That’s what object-oriented software was designed to achieve, and it works.

China’s gradual move to a market economy

Posted in public policy on January 8th, 2007

A brilliant Guardian article teases apart the myth and reality of China’s rapid economic expansion and how corruption threatens their transition to a market economy. From the article:

The truth is that China is not the socialist market economy the party describes, nor moving towards capitalism as the western consensus believes. Rather it is frozen in a structure that I describe as Leninist corporatism - and which is unstable, monumentally inefficient, dependent upon the expropriation of peasant savings on a grand scale, colossally unequal and ultimately unsustainable. It is Leninist in that the party still follows Lenin’s dictum of being the vanguard, monopoly political driver and controller of the economy and society. And it is corporatist because the framework for all economic activity in China is one of central management and coordination from which no economic actor, however humble, can opt out.

A similar situation is present in the former Soviet Union (see my previous notes) where the mere removal of a Communist ideology doesn’t make for capitalism or the rule of law its natural replacement. The strictures of a command economy — principally corruption — remain long after party rhetoric fades.

The article is a good reminder of what makes capitalism work in America. Contract law and reward for those who succeed make the system work. China is proving that a nation can prosper and grow even under less than idea circumstances. I’m reminded of how Romania boasted of one of the fastest growing economies in Europe during the early 70s. It, like the current China economy, vexed free market advocates.

What should you give?

Posted in etiquette, faith on December 28th, 2006

A delightful NY Times article delves into the moral implications of wealth and poverty and puts into clear relief how we have a moral imperative to serve others who are less fortunate. It has been years since I’ve read a good Kantian viewpoint and this article may well be one of the best I’ve seen.

Flying cars and virtual reality

Posted in technology on December 19th, 2006

Clay Shirky summarized my thoughts exactly about the faith people place in virtual reality:

Like video phones, which have been just one technological revolution away from mass adoption since 1964, virtual reality is so appealingly simple that its persistent failure to be a good idea, as measured by user adoption, has done little to dampen enthusiasm for the coming day of Keanu Reeves interfaces and Snow Crash interactions.

I’ve neither had time nor inclination to comprehend the hype of Second Life. I read Snow Crash and still consider much of it to be prophetic, but virtual reality is a niche that has primarily served the plot line of film. It is simply not relevant or useful in any way that I can imagine.

If I’m wrong, you’ll see me wearing a dunce hat on my avatar.

Punctuation is the new cursive

Posted in technology, etiquette on December 15th, 2006

David Pogue recently wrote an excellent critique about the lack of civility in digital communications, but an ancillary thought has begun to percolate with me. The fifteen year-old’s uncivil response — the object of much hand wringing — is noted by Pogue and many readers for his scatter shot use of punctuation and poor grasp of grammar.

Before I throw stones in a glass house I’ll volunteer that I stumble in this area as well. My only defense is that I try to improve my writing.

Consider for the moment the last time you witnessed cursive print. Odds are that it was penned by someone in the elder generation. I don’t know how it is being lost, but you would be hard pressed to find many people under thirty who can write in cursive.

My disturbing hypothesis is that punctuation — those extra characters which slow down the IM and BlackBerry user — may well go to the same dustbin as cursive. For a period of time we elders will wag fingers or tisk away, but gradually the written language will evolve.

i dont know how ill relate to them

Response to chain store praise (and a suburbia rant)

Posted in public spaces on December 14th, 2006

An Atlantic Monthly article makes a good effort to assuage the scorn of urbanites toward the chain store menace, but it falls short. The argument rests on the dullness of the varied store model of the past:

Big cities could, and still can, support more retail niches than small towns. And in a less competitive national market, there was certainly more variation in business efficiency — prices, service, and merchandise quality. But the range of retailing ideas in any given town was rarely that great. One deli or diner or lunch counter or cafeteria was pretty much like every other one. A hardware store was a hardware store, a pharmacy a pharmacy. Before it became a ubiquitous part of urban life, Starbucks was, in most American cities, a radically new idea.

The charm of those various stores was not that they were unique. It mattered not one iota that the place was called “Tom’s Hardware” while the place in the next town was called something else and the buildings were different. What mattered was that Tom lived and worked in your community. He was invested in the local culture and had no motive to change it. Tom’s participation, be it through sponsoring a little league team or advertising with the local paper, made him a pillar in the community.

Much less can be said for the McManagers of many franchises today whose products and mode of business is distinctly regional at best and rarely represents local values. Satellite businesses are tied to the logistics chain of the parent company and inherit a culture. Some people find it comforting when a Big Mac is the same everywhere, but there ought to be a way to have some threads of uniformity without mechanizing the process.

It is at this point that I can’t hide my luddism very well, but I like to think that I have a healthy skepticism for what should properly be called corporate central planning: a mode of capitalism whereby regional, national or international headquarters dictate the manner in which local businesses operate. If it is a logistic gain to consolidate business processes, rather than re-invent them in every community, it is therefore also a loss of culture to perpetuate homogeneity.

You can’t consider the issue in isolation of suburbia — the norm for community design. An Alternet article provides a scathing commentary on the state of suburbia and corporate central planning:

The public realm has two crucial roles in our collective existence. First, it is the physical manifestation of the common good. Second, is literally the dwelling place of civic life. And so if you fail to design the public realm with deliberate artistry, and by so doing degrade and dishonor the public realm by turning it into a uniform automobile slum simply to accommodate x-number of cars, you will automatically degrade the quality of civic life and the public’s collective ability to conceive of a common good beyond incessant motoring.

The article makes a strong case for why the popular appeal of chain stores and suburbia aren’t sufficient enough reasons for crafting public policy around their existence. No one holds a crystal ball but anyone can see that modern life’s comforts are predicated on cheap fuel and global stability. We’re heavily invested in the status quo but if history is any guide we may regret these assumptions.

XML Presentation Today

Posted in virginia, technology on December 6th, 2006

Today I will be giving a presentation to The Virginia Local Government Web Alliance on using XML technology. My aim will be to talk more about the “why” of XML rather than the “how”, but I’ll naturally include discussion on the “why not” since there are many reasons to not use XML. My experience lately is peppered with exposure to document-based markup in literary projects, but I hope to be able to give the audience an idea where XML adds value. In particular I aim to show how exposing data in XML enables serendipitous data reuse. Governments should embrace open content and transparency. Sharing data in an open and documented format is an important step in that direction.

Thankfulness is not a commercial transaction

Posted in social science, faith on November 22nd, 2006

On November 23 we celebrate Thanksgiving. It is a time for reflection on the many blessings we hold dear, yet the day after is a time for being unsatisfied with our blessings and filling the void with commerce. How one can go from thankfulness to the orgy of commerce known as Black Friday I’ll never understand. This Friday will yet again be Buy Nothing Day in my household. I encourage you to also prolong the sprit of thankfulness and to count your blessings well beyond the Thursday feast.

A particular portion of the scripture has spoken to me for years about being grateful. Luke 17:11-14 describes how Jesus healed ten people of leprosy. The scripture goes on to say:

One of them, when he saw that he was healed, came back, praising God in a loud voice. He threw himself at Jesus’ feet and thanked him — and he was a Samaritan.

Jesus asked, “Were not all ten cleansed? Where are the other nine? Was no one found to return and give praise to God except this foreigner?” Then he said to him, “Rise and go: your faith has made you well.”

My sincere hope is to live like the one who gave thanks, not like the other nine. The decision is ultimately personal, but resisting consumerism during the holidays is a meaningful protest. It keeps me thankful for what I have and aware that the grace given thus far is sufficient.