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.