Before I started at my current job, I worked at a small company in Mississauga called
Comnetix. (Well, it was a small company when I worked there. When I left in 1997, there were less than 15 employees, but they’ve since grown a fair bit.) We made custom software for law enforcement agencies and the like — when I was there, customers included the Insurance Crime Prevention Bureau (of Canada), the RCMP, the Boston Police Department, the Metro Toronto Police, the Spanish National Police, and the Rochester Police Department.
By the time I left, I was the team leader of the Boston police system; the system was quite cool. Whenever a person was arrested and booked in Boston, their personal, physical, and crime information was entered into the system, their mugshots were taken with a digital camera, and their fingerprints were scanned using a digital fingerprint scanner (I wrote the driver for that puppy), and everything was stored in a database. They could also take pictures of any scars, tattoos, or other distinguishing marks. The system would then make the information available to the Central Identification unit, who would classify the fingerprints (storing the classification data in the database too), and then perform searches on the classification to see if this person had ever been arrested before. If so, they could update the record to let the people at the booking station know who this person was. This could all happen within minutes.
Once the classification was done, the fingerprint images could be sent electronically to the FBI, and they would be stored in their database as well. (I wrote the code to do that, and BPD was the first police department in the world to be able to do this.) In fact, when this part of the system went live in August of 1995, they made a big deal of sending the first set of real prints to the FBI. Within a couple of hours, the FBI had received the prints, done a search, and determined that the suspect had been arrested several times before, including once for assault with intent to kill, in another state — something the BPD wouldn’t have found out for weeks, if not months, with the old system.
We had other cool features in this app, like the ability to create a “lineup” — you chose a particular person in the database, then chose which physical attributes (height, weight, hair/eye colour, race, etc.) you wanted included in the search, and we would find other people in the database that matched (or matched closely) on the criteria you selected. You could then drag and drop the pictures into a photo array and print it off, and you’d have a bunch of pictures of people who look similar, which the officers could then show to witnesses, without having to get your suspect and witness into the police station at the same time.
I once installed a viewing station at the Secret Service office in Boston, so the Secret Service could do searches on the BPD database. While setting stuff up, I was sharing a room with an agent who was looking over a big stack of bills ($20’s or $50’s I think), checking which were counterfeit and which were real. One particular bill was giving him trouble, and he flagged down another agent who happened to be walking by. He showed her the bill and asked “This is real, isn’t it?”. The other agent looked at the bill for maybe three seconds before telling him that it was indeed real. I expressed my amazement, and he confirmed to me that she really can tell real money from fake that quickly. I was impressed.
The funniest story from that part of my career was when we were doing some on-site training. We had a test database set up, and during the training as well as testing, we could book ourselves and insert the records into the test database whenever we wanted. One day, I accidentally set the app to talk to the live database, and forgot to reset it back. Then we booked ourselves a few more times. It wasn’t long before we realized that these bookings weren’t showing up on the other test machines — that’s when I figured out what I had done. We had to confess our sin to the Deputy Superintendent of the BPD, and he allowed us to delete the records from the BPD database. There was no mechanism for doing this (once a booking is entered it’s supposed to be permanent), so I had to connect to the database directly and enter the SQL manually. However, the FBI link was up at the time, so one of my colleagues had her fingerprints sent to the FBI under the name “Elroy Jetson”. (Luckily, only one booking submitted during this time had fingerprints attached to it.) Once we figured that out, we had to get the Deputy Superintendent to issue a court order to get the records expunged from the FBI database. I guess there were some problems with this process, because I got a call from this colleague a number of years later (long after I had left Comnetix), saying that she was now living in the US, and had applied for something (don’t remember what) that required an FBI check, and one of these test records popped up in a search. She had to jump through a few hoops, but I think it all got straightened out in the end.
I have to say, I really enjoyed that job, mostly. Not only was the application itself really cool, and working with the police, FBI, Secret Service, and RCMP was cool as well, but we were using NeXTstep, which was just the coolest operating system I’ve ever used, with an amazingly powerful development environment. I’ve seen and used Mac OS X a couple of times, and it’s quite cool too, which is not surprising, considering it’s basically the next generation of NeXTstep.
But the job wasn’t perfect. Not only was I a project leader and developer, I was part of the testing team, the documentation team, the technical support team (carried a pager every other week for the better part of three years), the end-user training team, I set up demos for our head salescritter at a couple of sales conferences (on-site — New York City, Florida, Ottawa), and I was also the company sysadmin. Bonuses we were promised never showed up. The company was privately owned, so stock options were nonexistent. The VP was the president’s wife; he was technically savvy as well as a pretty good business man, while she was useless. She once gave me crap for leaving at noon on a Friday without permission — given the amount of unpaid overtime I had put in over the previous couple of years (including staying until 9 or 10 the night before this happened), I figured she could have given me some slack (and I’m still bitter about that 9 years later). And I had one raise in three years. All things considered, I’m perfectly happy in my current job, where I get to the do the stuff I love to do (development), and not the stuff I don’t want to do (support). Oh yeah, and my salary is more than double now what it was then.
Funny – I just realized that today I’m wearing the Hard Rock Cafe shirt that I bought on one of my many trips to Boston during my Comnetix years.