My first official job as a full-time programmer was an opportunity to work for Cornell University Medical College in New York City. It was ultimately a bit of an odd position, in that I ended up working on an interesting hodgepodge of special projects for the IT Director there.
All in all, however, it was a great opportunity to further my Mac career, and ultimately allowed me very early access to up-and-coming technologies like videoconferencing and digital photography, back when they were too expensive for junior programmer types to afford.
My JPEGView credentials ultimately helped me to land my first “real” job after I graduated: Lead Macintosh Programmer at Cornell University Medical College. The medical college, unlike the university proper, was located in New York City, so we packed our belongings into a U-Haul and traveled across the country.
While I was at CUMC I worked on several Macintosh-based technologies centered around video conferencing with CU-SeeMe. We developed plug-ins for CU-SeeMe that would allow two doctors to exchange slides and consult remotely. This would allow a general practitioner in a small town to consult with a far-away specialist over the internet.
In order to exchange slides, we ended up using these crazy $20,000 Kodak DCS digital cameras to take “high resolution” images. We’re talking just 1.2 megapixels. But this was extremely new technology for the time, and even dealing with images of that size required the camera to have its own internal hard disk. Images were downloaded over a SCSI bus to the Macintosh in a raw format, then transmitted over a CU-SeeMe backchannel to the remote doctor.
My other duties at CUMC involved exploring the recently released Apple Newton, developing prototype software for doctors to use on their rounds. Unfortunately, I just hated hated hated writing Newton software because it all had to be done in NewtonScript, which to me combined all the worst features of C and Pascal and scripting languages into one abhorrent package.
The biggest problem with NewtonScript was the lack of global scope. You would attach code to each little button or control in the program, but the NewtonScript IDE would only let you view one bit of code at a time. This made it nearly impossible to make any kind of global change, or see how the different bits and pieces interacted. Also, there was almost no compile-time checking of anything, so you could easily mistype a variable name and spend hours debugging why it wasn’t ever getting the correct value.