Archive for the ‘technology’ Category

Unrealistic Expectations

Wednesday, November 12th, 2008

In a post about customer service and tech suport, Mark over at Enterprise Search makes the point that “zero problems is not a reasonable expectation when you’re living on the crest of a technology wave”.  If fact, it might be a definition of the crest of the tech wave.

At one time, new products had extremely intensive testing and trials with small groups to figure out where the problems were.  And this was after very extensive design and prototyping.  Detroit is the only area that this sort of process still goes on in its full glory.  Which is one reason that Detroit’s having problems now.

Another reason Detroit’s having problems is that the oil crunch in the 1970s wasn’t taken well to heart.  The learning only seemed to be short-term with no long-term retention.  Or, no way to respond to changes quickly.  This many be populist of me, but the CEOs and other management are directly to blame for the loss of jobs and failure of their companies to do well now.  Yet, they’re getting the buyouts.

(more…)

Radar VS ADS-B

Saturday, August 2nd, 2008

As a pilot I’ve been following the FAA NGATS (Next Generation Air Transport System) effort to modernize the air traffic control system. There are a number of projects involved but ADS-B is one of the early ones. ADS-B is short for “Automatic Dependent Surveillance - Broadcast”. It’s a GPS-based system that reports the altitude and location over a broadcast radio link both to other aircraft and to Air Traffic Control (ATC). This will provide the surveillance of aircraft necessary.

Currently ATC uses radar to see aircraft. Actually, there are two kinds of radar - primary and secondary. Primary radar is the reflection of the radar beam from the aircraft itself. Secondary radar uses a transponder in the aircraft. When it receives a signal from the ATC radar, it transmits back its code. The code is set by the pilot at the direction of ATC. This code then shows up on the ATC radar screen so that the controller knows which plane is which. Most of the time ATC uses secondary radar.

So I decided to compare a radar track with a GPS track. I used GPS to simulate ADS-B. My plane is located in Leesburg VA inside the ADIZ. Without going through all the detail about that, this means that I have to have a discrete transponder code rather than a generic one. That means sites like Flight Aware will track me when I’m in the pattern.

(more…)

Ones and Zeros: Cloud Castles

Saturday, August 2nd, 2008

 

 

Once in a while I tell people I make invisible incantations and encode them in secret patterns that will be processed by specially prepared crystals. Of course, the incantations are software programming languages, the secret patterns are the files on the computer’s hard drive in magnetic patterns, and the specially prepared crystals are computer chips. It just depends if I’m feeling more fantastic or prosaic.

Software is a little odd. Software is to mathematics as engineering is to physics. But like all analogies that’s not completely accuate. Manufacturing software isn’t like manufacturing a physical item, it’s just copying the files. Making software is almost always an R&D process. But, it’s never a physical process, nothing to touch or handle. So, how to think about it?

After over twenty years of designing, writing, and debugging software, I’ve come to think about it as physical objects after all - like blocks and geometric shapes - in my head. We’re a species with hands and are used to manipulating things. So, I just imagine doing that.

(more…)

It can’t be that hard, it’s only ones and zeros!

Saturday, July 26th, 2008

This is the first part of a series of posts describing what writing software is like from the view inside my own head. To make this more available, this is generally written for a non-technical audience but does include some occasional technical terms. However I’d also be interested in responses from other software people too. What’s it like in your head?

Software, like anything in a computer, is ultimately a long series of ones and zeros in computer memory (or on the hard disk). Just a very, very large binary number. When I put it that way, it doesn’t seem so hard. But when that “binary number” is well over 2 million digits long, well, it becomes another story.

That’s way too large to deal with by hand. So, there’s tools like computer languages which are just software to translate those computer languages into the ones and zeros, and software to help debug those applications. Our brains cannot deal with that level of detail, so, techniques and approaches like modularization and structuring computer code become necessary. We build up ways of abstracting detail into higher-level constructs. Like the phrase “make dinner” actually means a wide range of decisions and steps in the kitchen. Only in software, those steps and decisions are encoded in binary numbers that the computer recognizes as instructions.

Of course, in a computer, everything is a string of binary digits. Your files, your software, video, your MP3s, and your word processing documents are just ones and zeros. The interesting thing, the zen-like thing, is that all those files are either information, software, or random garbage. It just depends how you, through the software you’re using, interpret those bits. It’s all a matter of perspective. Ultimately there’s just a collection of bits in a file, or pixels on the screen - more bits displayed for your eyes. The computer knows data, we decide what’s information.

It can be a wonderfully creative and magical process to make something out of nothing. Making software is creativity exercised within a framework of rigid rules. Computers are painfully exacting. Creation is making something out of literally nothing. In software we make a consensual illusion of reality out of figments of the programmer’s imagination.