OdeToCode IC Logo

Robot, Heal Thyself

Monday, January 12, 2004 by scott

So I follow a medical informatics blog since it is sometimes relevant to software I’m currently working on. The blog had a post about an Alabama Hospital trying out an “RN Robot”. This reminded me of a Wired article last year about a Hopkins trail with a “robotic medical surrogate”. I found this article interesting but also amusing because of the following two excerpts:

"People love it. I was very surprised how much our patients enjoy remote video interactions via the robot," says Dr. Louis Kavoussi, a Johns Hopkins professor of urology and a pioneer in robotic surgery

… One patient said she barely noticed Kavoussi had been replaced by a robot.

Obviously amusing to read. Also:

"Even the patients with dementia seemed unsurprised by (the robot's) presence,"

I can imagine there are some patients with illnesses where you just don’t want an android rolling into the room unexpectedly.

In any case, this got me to thinking about some of the hospitals I’ve been in with my current job. The number of nurses who have moved into IT departments initially surprised me. After talking to them, it is pretty obvious why. After ten or fifteen years of being on call and working the midnight shift on a holiday weekend before a major blizzard, any position which is (in theory, anyway) a 9-5 job looks pretty swell. Nurses are highly educated people who can learn new concepts.

What also surprised me was the reporting software some of these nurses / IT people need to use. The report language looks something like:



IF{@occupation!@emp.status @occupation_IF{@emp.status " ("_@emp.status_")"}^/MV["P",Q+1^Q,5]},



Egads. I thought I was back in a mainframe college course 15 years ago. This is not legacy software - this stuff is sold and installed today.

But that’s ok – wherever there is inefficiency there is opportunity…

Good and Bad Software

Sunday, January 11, 2004 by scott
Currently on my bad software list is the MSDN search engine. It seems it has been many months since the search engine worked well. Last night a search produced results where the same article appeared about 100 times in the result list. Search results never seem to find MSDN Magazine articles, unless you go to the home page and search just magazine content. It used to find them. It seems very broke.

On the good software list is Virtual PC.

I currently have the following Virtual PCs setup:
  • Whidbey - Windows 2000 Server with the Whidbey beta installed
  • RSBETA - Windows 2000 with the Reporting Services beta and SQL 2000 installed
  • Mandrake - Mandrake 9 distro of linux. Complete with a functional Mono .NET environment.
  • Longhorn - The PDC build of Longhorn, with Whidbey and the SDK installed.
  • Experiment 2000 - My Win 2000 plaground for trial software, etc.
  • Exchange - Where I installed Exchange Server 2003 to play around.
  • CSK2000 - Where I play with the ASP.NET Community Starter Kit on Windows 2000
  • CSK2003 - Where I play with the ASP.NET Community Starter Kit on Windows 2003 WebEdition

Virtual PC is a great way to experiment with software, test, use different browser versions - there are so many possibilities. It has an undo feature to reset any changes you've made - so even the worst software install can be undone. I keep a Virtual PC image of a Windows 2000 SP4 install around, and whenever I need a new virtual PC I make a copy of the file, attach it to a Virtual PC, and I'm off.

Best of all it keeps my primary OS (2003 Enterprise Server) nice and tidy.

Improving .NET Application Performance and Scalability

Saturday, January 10, 2004 by scott
A newsgroup posting caught my eye and took me to the home of the Microsoft Performance Team. They are working on a guide for anyone interested in the performance and scalability of .NET applications and soliciting feedback.

After reading just two of the chapters (on ASP.NET and ADO.NET) I realized this guide is going to be the reference for .NET performance. It leaves very few stones unturned and mentions or references almost every perf tip I know of (and quite a few I did not). Why do jagged arrays perform better than multidimensional arrays? When could an ASPX page get compiled into a single asembly? The guide is super.

I thought of a few ideas while reading through, and since they are soliciting comment I sent some along. I'm interested to see or hear if they have an impact.

Who Is The Mole?

Friday, January 9, 2004 by scott

Watched the season premier of Celebrity Mole. I think the first season of the Mole (no celebrities) was much better – the puzzles and games were more interesting and harder for the players to solve. On the other hand, there is a lot more comedy in the celebrity version. There are some genuinely funny moments, but I keep wondering, with celebrities, that some of what happens is scripted (or at least encouraged).

So my first guess at the Mole? Dennis Rodman. Usually the Mole has a reserved personality. Most people would not describe Dennis as reserved - but - the “I really don't care what happens” attitude works pretty well for someone who wants to cover thier mole tracks...

HttpModule Catch-22

Thursday, January 8, 2004 by scott

I have the .Text engine running in an application underneath the ASP.NET Community Starter Kit. This required a bit of fiddling, because the CSK installs an HttpModule at the application root. When a request goes to the Blogs directory (.Text), the ASP.NET runtime doesn't find the CSK module in the .Text /bin directory and throws an exception (the assembly is in the CSK /bin directory - one level higher).

I thought this would be easy to fix with a tweak in the <httpModules> section of the .Text web.config:

    <remove name=“CommunitiesModule“ />

However, I was still getting an exception. After some google searches I determined the workaround is to place the assembly with the HttpModule into the /bin directory of the application which doesn't use the assembly in order for it to then be removed with the above entry.

This makes sense in a Joseph Heller sort of way....

There was only one catch and that was Catch-22, which specified that a concern for one's safety in the face of dangers that were real and immediate was the process of a rational mind. Orr was crazy and could be grounded. All he had to do was ask; and as soon as he did, he would no longer be crazy and would have to fly more missions. Orr would be crazy to fly more missions and sane if he didn't, but if he was sane he had to fly them. If he flew them he was crazy and didn't have to; but if he didn't want to he was sane and had to. Yossarian was moved very deeply by the absolute simplicity of this clause of Catch-22 and let out a respectful whistle.
"That's some catch, that Catch-22," he observed.
"It's the best there is," Doc Daneeka agreed.