www.jlion.com

Monday, August 20, 2007

I took one of my sons to see "Walking with the Dinosaurs" at the colosseum in Philadelphia over the weekend. It's quite an experience to see the dinosaurs at life size. They're big.

The animatronics are neat, too. I had thought the dinosaurs would actually walk but most are supported on pedestals. The pedestals are based on camouflaged mobile platforms. The dinosaurs' legs still move as if walking though and while you notice the platforms at first you quickly forget them as the spectacle of the show captures your attention.

As I watched the various dinosaurs, diplodicus, stegosaurus, tyrannosaurus and others, I kept thinking "what will 'walking with the dinosaurs' be like in 30 years?" when Jacob has children of his own?

---

eWeek has an interesting expose of the recent TIAA-CREFF scandal from a developer's point of view. In the article an anonymous developer claims to have worked on some of the software that caused the current crisis. The developer asserts that good software development practices were not being followed at SunGard and that the organization was stressed by high IT turnover and tension related to functions outsourced to India.

Friday, August 10, 2007

There is a really interesting article on the history of coal mining on the ucdavis.edu web site, at http://www-geology.ucdavis.edu/~cowen/~GEL115/115CH11coal.html
. The article, posted by Geology professor Richard Cowen, was written as part of a book that he's working on and covers the origin of coal mining in England.

Cowen writes that coal mining originally arose because wood became too expensive as an energy source as English forests were cut down and wood had to be shipped from further and further abroad.

Technological advances directly related to the coal industry brought about the development of cast iron, of the rail-road, and of steam engines.

So if the last great energy shortage gave us the industrial revolution, I wonder what the next energy shortage will bring about?

Wednesday, August 08, 2007

I've just finished Joseph Conrad's "The Secret Agent". Listening to this kind of novel as an audiobook is a mixed bag. It's easy to lose your place. The book is very tight and it's not so easy to jump in and out if, for example, you're listening to it in chunks during your daily commute. On the flip side, Conrad's writing can be "extravagant" and a delight to listen to--almost musical.

When I picked out this book, I had thought it would be about secret agents, and that it would be a cloak and dagger spy mystery. It's not. In the end, three people die. Two of those people believed in something. The third did not, and perhaps that's what the book is about. Mr. Verloc enjoyed his job and loved his family. Mrs. Verloc loved her brother. Who did Ossipon love? No one, not even himself. So Mr. Verloc kills Stevie. Mrs. Verloc kills Mr. Verloc. And Ossipon? He abandons Mrs. Verloc who then commits suicide. Haunted by her death, he becomes an alcoholic.

So in the end, I think the book is about anarchism and love. The Professor, who builds the bombs, is empty, resentful, full of anger and hate. Comrade Ossipon, who fancies himself to be a scientist, is just empty. Mr. and Mrs. Verloc both make sacrifices for those whom they love.

Tuesday, August 07, 2007

Joseph Conrad's "The Secret Agent" has taken an unexpected turn. It seems the novel is less about secret agentry and more about the corrosive effects of duplicity.

I'm almost at the point where I think SQLAutoDoc is ready for the real world. There are still a lot of things that I would like to add to it, but that will always be the case. Given unlimited time, I'd probably find a very reasonable need to add in javascript tetris. The next problem is what to do with it. Should I give it away? Try to sell it? I'm convinced it's quite useful and I'm not finding anything else that does quite exactly what it does. On the flip side, it does have some short-comings. It doesn't track user defined types, and tracking of foreign keys and indexes is pretty weak.

The trade off seems to be this: If I try to sell it, I need to have a decent setup program and documentation. I might also be called upon to support it, and need to decide how I would charge for support. If I give it away, I don't have to worry so much about setup and documentation but I have put hundreds of hours into the thing.

There's also an element of time: The next version of SQL Server is due out soon and it may be completely incompatible with SQLAutoDoc. It may even include functionality that makes SQLAutoDoc obsolete...

Saturday, August 04, 2007

I've just completed publishing jFileSync to www.jlion.com. jFileSync is a directory sychronization/backup utility that I wrote and that I use to make sure that the removable hard drive that I use as a backup device has all the latest updates.

What I found is that creating minimal documentation and creating a setup program took a lot of time. I probably worked on documentation and setup for almost a third as much time as it took me to create the core program.

By the way, setup/deployment projects in Visual Studio are much more flexible and powerful then they used to be. I was able to create a setup program for a windows service using a setup/deployment project, with minimal fuss and only two "gotchas" both of which I was able to overcome.

One issue was how to "install" the service once it had been copied to the computer (so it would appear in the services control panel and run properly). The answer here was to add custom actions. This is done by right clicking on the project in solution explorer and selecting "view custom actions". In the window that then appears, right click on "custom actions", select "Add custom action" and choose "primary output" as the option. It should automatically add four custom actions: install, commit, rollback and uninstall. If it doesn't you can add them individually one at a time. Same difference.

The other issue was how to change the default product name. This is certainly non-intuitive. If you right click on the setup project in solution explorer, you get a setup property pages screen with build and package information. This isn't what you want. But there is another (hidden?) property page that has, among other things, the product name used by the install.

To view it, right click on the setup project in solution explorer. Click on "user interface". Now right click on "start" (or any folder, I think) and click on "properties". The properties window appears but is empty. Good. Now, go back to solution explorer while still viewing the properties window and click on the setup project. Now you see author, description, product name, support url and other properties. There *has* to be an easier way to view these! :)

Friday, August 03, 2007

Two thumbs up for the movie review of "The Bourne Ultimatum" written by Roger Ebert (http://rogerebert.suntimes.com) and one thumb and for Manohla Dargis's review of same movie (www.nytimes.com). Some movies inspire more entertaining reviews than others--if only Ultimatum is as fun as the reviews :)

Wednesday, August 01, 2007

Migrating ERP systems has got to be the single most difficult project that any company is likely to undertake. An ERP system is the nervous system of a company and as such can't stop for any length of time. This means that migration has to happen in small parts, a department and/or location at a time, and that testing is extremely difficult.

During the migration, many employees have to at least briefly maintain both the old and new ERP systems which can, depending on the employee's role, result in a significantly enhanced workload, and stress and frustration at the IT department.

Failed ERP migrations are legendary, and it's not hard to see why.

***

I continue to read Joseph Conrad's "The Secret Agent", which by the way is available online in HTML format courtesy of the gutenberg project. Joseph Conrad's observations of the motivations of both terrorists and those that pursue them seem very prescient to me. He describes one terrorist mastermind's motivation as follows:


His father, a delicate dark enthusiast with a sloping forehead, had been an itinerant and rousing preacher of some obscure but rigid Christian sect—a man supremely confident in the privileges of his righteousness. In the son, individualist by temperament, once the science of colleges had replaced thoroughly the faith of conventicles, this moral attitude translated itself into a frenzied puritanism of ambition. He nursed it as something secularly holy. To see it thwarted opened his eyes to the true nature of the world, whose morality was artificial, corrupt, and blasphemous. The way of even the most justifiable revolutions is prepared by personal impulses disguised into creeds. The Professor’s indignation found in itself a final cause that absolved him from the sin of turning to destruction as the agent of his ambition. To destroy public faith in legality was the imperfect formula of his pedantic fanaticism; but the subconscious conviction that the framework of an established social order cannot be effectually shattered except by some form of collective or individual violence was precise and correct. He was a moral agent—that was settled in his mind. By exercising his agency with ruthless defiance he procured for himself the appearances of power and personal prestige. That was undeniable to his vengeful bitterness. It pacified its unrest; and in their own way the most ardent of revolutionaries are perhaps doing no more but seeking for peace in common with the rest of mankind—the peace of soothed vanity, of satisfied appetites, or perhaps of appeased conscience.


Doesn't this sound very much like the way that a modern Islamic terrorist might think? Perhaps Bin Laden, like the professor, frustrated in his desire at making his mark in the business world and steeped in religious ritual turned to moral absolutism instead...

Conrad describes the Professor's nemisis, Chief Inspector Heat as follows:


But Chief Inspector Heat was not very wise—at least not truly so. True wisdom, which is not certain of anything in this world of contradictions, would have prevented him from attaining his present position. It would have alarmed his superiors, and done away with his chances of promotion. His promotion had been very rapid.


Doesn't the Chief Inspector seem like any of a number of officials in the Bush Administration? And could it be any other way?

***

I had a need recently to determine, based on start and end dates for processes that can span several days, what the total and average hourly activity is. I was able to do this in SQL but the process of thinking it through got me to thinking about something else, which is acceleration and deceleration.

If you have activity that occurs periodically, say purchases at a store, and you sum that activity by some time duration (hour, for example) then you can easily measure acceleration or deceleration of activity by looking for counts that increase or decrease over time.

One useful element of measuring rate of change is that rate of change is independent of volume. An application could look for times when there is a rapid increase of activity rather than looking at the quantity of activity alone.