Assembly language is interesting... it lets you do all sorts of ridiculous things without complaining at all. So does C, but that's off-topic here.
When I took assembly language at DeAnza the instructor put a subroutine on the midterm. We were supposed to follow the steps through, like a computer would, and tell him what the subroutine would do.
It was supposed to calculate a value and return it to the main program. He had transposed two lines near the end of the subroutine. It calculated the correct value, but it could never return it to the main program. There was a command to return there, but the address to return would not be in the correct place, so it would just 'return' to some wrong place in the computer's memory. It would almost certainly make the computer lock-up completely and need to be rebooted.
The instructor announced that because the line reversal was an accident on his part, that the people who said that the subroutine did return a value got full credit.
This seemed rather silly, because a major point that assembly language drives home is just how embarrasingly literal computers are.
Computers do just exactly what people tell them to, no more, no less.
They aren't smart enough to take over the world on their own.
A real computer executing this subroutine wouldn't guess our intent. It would have leap off into nowhere, just following orders.
At work the Pr1me computer was quickly considered out-dated and was ditched in favor of a mixed PC and Mac Novell network. At this time the reporting took a giant step backwards.
My company bought a laboratory in another state and transferred control of our lab to them. The other lab said we had to do everything just like they did.
We weren't going to keep a database of our results anymore. "That's the client's problem", they said,"not ours."
We hired a word processor to type the reports in Word Perfect, because that is how the other lab did it.
The database was missed.
The local parent company computer department was now officially part of a different company. Someone in that company had to retype all the results into a separate database.
We had to wait to find out how much we were billing each month, until after the accounting department in the other state calculated it for us at the end of the month, or someone had to go through all the paperwork and calculate it by hand. The database was gone, I couldn't just ask it for the answer to such queries, anytime anyone wanted to know.
Chemists had to start making extra photocopies of results for their history files. No more getting the database to look them up when ever they needed them.
Since my database was gone, I went back on the bench for a couple years doing gas chromatography, before I became the QA officer.
After a couple years, the first word processor was fired and I was asked to fill in, on top of my other duties, until a replacement was hired. Two replacements were hired, but lasted less than 6 months each and I kept taking the job back on, in addition to being the QA person.
Many lab analyses are done using instruments that are attached to computers that analyze the data. When I first started these were mostly specialized single purpose machines called 'integrators'. You could program them somewhat, but only for the purpose of collecting the lab data. If the power went out, you had to reprogram them completely.
Then we got Maxima, a chromatography data system from Waters. Maxima ran on normal PCs under DOS. Maxima itself had a graphical interface similar to Windows and required a mouse. It generated and saved files for every run, so now we needed to clear space on the disk at regular intervals. Now that it was possible to keep them, we didn't want to lose the data files. Now that we could go back and re-integrate prior runs, we did it frequently.
Many of the analysts were not really comfortable with computers. I wrote batch files to copy data files to floppies and then remove them, so that they couldn't get confused and remove them first.
When I left the lab most of the instruments were running Windows based programs, I have no doubt that by now some may run through a more 'browser' like interface.
The instrument results were supposed to eventually be linked to the reporting programs directly. At least that was the dream. Chemists still should look at each chromatogram.
The computer uses only mathematical formulas to make its decisions and to calculate results, which it can often do quite precisely.
But they also tend to miss interpreting important details that are obvious to a trained human observer.
A client told us to send them copies of their reports in electronic
form. The data had to be formatted for their database, an ascii file with
fixed field lengths and numerical values lined up by
decimal points.
I actually managed to write a set of Word Perfect 5.1 macros to create this file from our standard text-based reports. It is a strange thing to use Word Perfect text files as a database front end, but I felt powerful figuring out how to do it.
As more clients started requesting data in electronic form. Corporate management in the other state decided to have the reports typed into Excel templates. They hired a team of people to write coded templates and a complex set of macros to extract data from the templates and convert it to a database format. This project took them a couple of years.
I asked the computer people - "Wouldn't it make more sense to put it in a database first? And then generate reports in whatever format you need?"
They said - "Of course, but this decision was already made when we were hired."
Shortly before I left, a Laboratory Information Management System (LIMS) was installed. This was an Oracle application on a Unix computer in the other state to which all the laboratories in the network connected by frame relay. The LIMS when fully installed and functioning would provide the flexible access to results and billing data that had been missing for the last several years. Its immediate function was to provide centralized workload information and sample tracking.
Back to Computer & Web Index Page Back to Annelise's Page Back to Lionspaw Page