About Greg Moore

Founder and owner of Green Mountain Software, a consulting firm based in the Capital District of New York focusing on SQL Server. Consulting DBA ("and other duties as assigned") by day, and sometimes night, and caver by night (and sometimes day). When I'm not in front of a computer or with my family I'm often out hiking, biking, caving or teaching cave rescue skills.

A Hole in the Ground

A close friend of mine had asked me earlier this summer if I could take him, his daughter, and a work colleague caving. I immediately said yes. I also tried to schedule to take a couple of other folks caving, but alas, life got in the way. I had to postpone once, but was able to finally get underground this past Sunday.

For anyone who has been living in the area or watching the weather, you’ll realize exactly how hot and humid it’s been lately. Fortunately it’s cooler and in this case less humid underground. Because of the heat and humidity I was glad to have a chance to get underground. The only danger of course is overheating in your cave clothes before getting into the cave.

Often when I take beginners, I will take them to Clarksville Cave also known as Wards-Gregory. I’ll state up front it’s not my favorite cave in New York but it’s a decent beginner cave because it has a bit of everything and given the fact it has 3 entrances, one can plan several different types of trips from a pure walking with only a few spots of crawling to a trip with a good deal of tight crawling. You can stay almost completely bone dry to getting wet up to your neck. So it has variety. It is also not to far away and the hike to the entrance is an easy one.

The main entrance is a bit of a climb, but honestly, almost anyone can do it. This opens up into a large sized room with where I can start to orient folks to the cave and caving. One question that often comes up is “is this cave going to collapse on us?” The reality is no. The fact is, especially in caves as well travelled and large as this one, if it were to collapse completely, it would have collapsed long ago. That said, things do change at times. In this case, one thing I’ve noticed, is that after Superstorm Irene, the hydraulics of this cave did change a bit. The stream that travels the length of it and that used to commonly flow through this room has diverted a bit to one side and this room is often bone dry. I point this out to newer caves. I also tell of the time, decades ago that on a particular Friday night trip after a major rain storm, the water was so high in this room there was a rooster tail of water where the water was entering and then backing up. We cancelled that trip.

But that was not the case this Sunday. The water level was among the lowest I had seen it. On a typical beginner trip we headed up stream to what is known as the Lake Room. Often this requires some wading through toe deep water, but not this time. It was dry enough one could keep their feet wet the entire time. There’s some crawling required to do this, but not much. Often beginner trips will simply be a trip to the Lake Room and then back out. This is known as the Wards section (originally Wards Cave) But I had told this group we would head back past the entrance we came in (the main aka Ward Entrance) and go through the Gregory section (no relation to my name). This has what’s known as the Duck-Under. This isn’t really a bad section of the cave. I mean the ceiling is about 5′ above the floor. However the water is often 4.5′ deep here! Very rarely it will reach each the ceiling and sump this part of the cave. I was in the cave once (but not here) once when this happened. Folks went in the Gregory entrance sump dove the Duck-Under and apparently got disorientated and needed a quick rescue.

As I had mentioned, the water level this time was particularly low so there was closer to 1′ or more of headroom here. This still means getting pretty wet and trust me, going from being wet up to your knees to just past your waist is… not necessarily fun and often causes more than a few yelps from the cold water hitting sensitive spots.

But I was with troopers and we managed this without too much gasping at the cold water.

Now I’m going to share a little secret. I’ve lost track of how many times I’ve done the Wards side of the cave. As I mentioned, it’s an easy beginner trip and one I’ve done often. But the Gregory side I’ve explored far less and I suspect there’s parts I haven’t seen in decades if at all. Partly because by the time one gets in there, one’s got a goal of “get through the Duck-Under and now that we’re wet, get out.” (and to be fair, the more interesting stuff is before the Duck-Under, so once through it, there’s not much left to explore.).

In any event, we got through the Duck-Under and headed towards the Gregory exit. We hit the hot, humid air and I swear I was MORE soaked by that than the Duck-Under. With the Duck-Under I had managed to keep my upper chest and head dry. Not so much outside in the humidity.

But it was still a great end to a good trip and their were smiles all-around.

It was only later that I reflected, I think this is the first time in 3 years I’ve been in a cave purely for pleasure. I have been in caves (including Clarksville multiple times) over the past 3 years, but every time it was for cave rescue training. Those trips aren’t really caving per se. Yes, I’m in a cave, but not really showing it off or exploring it. I realized exactly how much fun I had had on this trip, especially with an enthusiastic bunch of new caves.

I’m hoping to plan at least one more trip with some beginners in the next few weeks as well as an Orientation to Cave Rescue class (which will use Clarksville on its second and final day). I don’t know if I’ll take this group to Clarksville or another local cave. We’ll see. Perhaps that time I’ll remember to take pictures!

And as always to my faithful readers, I extend the invitation if you ever want to try out caving, let me know. I can tailor trips to your level of interest and physical ability.

Sorry, Neither

I heard the sad news on Sunday of the passing of Nichelle Nichols. I had always been fond of her character Nyota Uhura on the original Star Trek. Growing up in a fairly liberal household and only catching the original series in reruns, I didn’t find her presence on the bridge of the Enterprise all that surprising. It seemed normal. Of course I was young and honestly naïve and didn’t realize until years later exactly how groundbreaking her presence was. This of course was in contrast to a young African-American woman named Whoopi Goldberg.

Well, when I was nine years old Star Trek came on,” Goldberg says. “I looked at it and I went screaming through the house, ‘Come here, mum, everybody, come quick, come quick, there’s a black lady on television and she ain’t no maid!’ I knew right then and there I could be anything I wanted to be.”

That said, there was always a scene from the episode The Naked Time that stood out to me. Lt. Sulu, under the influence of the polywater and in swashbuckling garb, grabs her and says “I’ll protect you, fair maiden.”

Oh my!

Her response, the title of this post “Sorry, neither” is perhaps the shortest quote that stands out from any of the Star Trek series. However, it wasn’t until recently I learned that some folks interpreted it different from me, and I realized they had a point. They interpreted the neither to mean Uhura was declining the protection and demurring against the “fair maiden” part of the quote. And I certainly can see it that way. And I always figured that was part of it. She was quite clear, she was a Star Fleet officer, as highly trained as Sulu, and not in need of any particular form of protection. This perhaps more than anything else I think helps define her position in Star Fleet and Rodenberry’s and her concept of Uhura. She wasn’t a token.

But, over the years I had focused a bit more on the fair maiden part. I’ve often thought the neither was used to negate both parts of that. Let’s be clear, Nichelle Nichols was by any token a fair woman to set ones gaze on and the camera work in the early Star Trek often used softer lenses to highlight the female cast members. But, as Uhura, while she had the voice of an angel as demonstrated in the Episode Charlie X, it again was clear she wanted to be first considered an officer and a competent crew member. Perhaps in off hours calling her fair would be taken as a complement, but on-duty was an insult.

So that leaves maiden. One often associates the idea of a maiden with being virginal and with that again a certain level of helplessness or having others determine ones fate. Uhura was making it clear that she wasn’t virginal, helpless or incapable of determining her own fate. While in the original Series we never really saw any romantic relationships with her, she in a single sentence made it clear she had probably had them and had a say in how they developed and progressed.

In the end, regardless of how you interpret it, those two words spoke volumes. Nichelle Nichols was playing a character who was capable, confident, competent, and had earned her place on the bridge of the USS Enterprise. Since Star Trek, especially then, has always been an allegory to hold up to the real world, Nichelle Nichols in two words seemingly spoke for every African-American out there.

On a more personal level, I had the honor and pleasure of meeting her and with my daughter getting a picture taken together. This was in 2019 and while it was clear she didn’t have the verve she had from her youth and was seated the entire time, her presence was unmistakable. We were standing in the presence of greatness. I was honored to be there.

Hailing Frequencies Closed.

Missing the Old Ways

I’ll admit, sometimes I’m a curmudgeon. Sometimes I miss the old ways. Last night was a case in point. My wife asked me to look at her computer. For some reason suddenly all her Office Apps had stopped working after a reboot. I tried a few simple things and sure enough I’d get a pop-up saying “This App can’t Open” every time. Googling brought up a page that seemed helpful and had a number of recommendations. I resisted the 2nd option of creating/using a new Microsoft account because I’m not keen in extra accounts, etc. I’ll save you the trouble of reading the rest of this post and say, I finally did that, using MY existing Microsoft account and magically everything started working. I then removed my account and things seem to continue to work.

But I’m frustrated. I miss the old days where one installed software and it well, frankly, stayed installed. I really don’t think one should have to worry about software like Office suddenly breaking because an online account isn’t available or the like. I’d be ok with certain features not being available (e.g. saving to the cloud automatically) but basic functionality shouldn’t suddenly break on a reboot.

I’ll admit there are days I miss DOS when things were really pretty simple.

Of course the irony is I’m writing on this one a dual screen computer running 16 gigs of memory with an ungodly number of programs open and an even larger number of tabs in browsers open. So I’m not entirely against new things. But I do want basic stuff just to work.

And that’s my thoughts for this week.

T-SQL Tuesday #152 – My Rant

Thanks to Deb Melkin for hosting this month’s T-SQL Tuesday and developing the topic. Instead of calling this a rant, perhaps I should call it a “I told you so.” There’s a common refrain among DBA of “It depends” when asked a question. And that’s generally accurate. But this is the case of me saying “it doesn’t depend, do as I say” and being ignored.

Ironically when I took my Database class in college, it was long enough now that the idea of a “Sequel Database” (that along should tell you how long ago this was) was basically described as an up and coming technology that perhaps had a future. Talk about a bold and accurate prediction! That said, one of the things then that fascinated me, and still does, is that SQL (in general, not the product SQL Server) is based on work done by Edgar F. Codd and has a fairly strict mathematical basis. (Which is another reason I rail against those who claim that RDBMS and SQL will eventually be replaced. That’s like saying Algebra will be replaced. There may be other branches of mathematics developed that are far better for their specific domains, but the validity and usability of Algebra will never go away.).

In any event, one of the key concepts that Codd developed was that of “a table”. A table has several particular parts to its overall definition. The one critical for this blog is that a table itself has no implicit order. Now, many folks will do a query multiple times and always get the same results every time. But that’s more a factor of how SQL Server happens to handle reads. At my last full-time job, I was easily able to prove to the programmers that a query on the UAT box would result in a different order than on Prod because of the number of CPUs and disks. But that’s not what I’m here to talk about.

My “I told you so moment” goes back further to a table that was about as simple as you can get. It had a single row. Now, I think we can all agree that a single row will always return the same order, right? I can’t recall exactly why the developer felt that this table was the solution to his problems, but I pushed back. I asked at the very least he put in a where clause. He felt that would impact performance too much and besides, with one row, it would always return his results. I of course asked, “What happens if eventually the table has two rows?” “Oh, well my row will return first anyway.” “No it won’t.” Well he wouldn’t budge and I had bigger fish to fry. At the time there really was no reason to expect this table to grow. But I tucked it away in the back of my mind.

Sure enough, about a year later, which was 3 months after the developer left, we started to get really weird results on the webpage that was relying on that table. It seems that another developer realized this table was a perfect place for him to store the data that he needed (I’m assuming it was some sort of config data, but it was honestly so long ago I can’t recall) so he added a row. Now HE was smart enough to add a where clause to his query. But the original “Don’t worry about it query” still had no where clause. And sure enough, sometimes was returning the new row instead of the original. Fortunately this was a 5 minute fix. But I can only imagine how long it would have taken to find the problem if I hadn’t remember it in the first place.

So, while as DBA I will often say “it depends”, I will always be adamant in saying that tables are unordered by definition and you absolutely need a where clause or an order by if you want to guarantee specific results. Though, I suppose it depends, if you don’t care about the order or need a specific set of data you can ignore my rant. There are cases where that’s valid too.

Thus ends my TED talk.

O-Chem, A Chem Grade?

After a long weekend I’m sitting here on a cool morning rather relaxed. For the first time in 6 weeks I don’t have class today and I have to say what a long strange journey it’s been.

As I’ve mentioned, one of the prerequisites for even applying to PA School was to take Organic Chemistry, often simply called O-Chem. At the end of May I wrote about my hopes and fears.

Well, I’ll be upfront. Forget the humble brag. I’m going to outright brag. Going in, I figured “if I get at least a C, that’s good enough for the places I’m applying for.” Obviously I wanted to do a bit better than “good enough” but I was realistic. Or so I thought. I got back my first test and well, the grade was disappointing. But I reminded myself, “Well she drops the lowest of the 4 exam grades. But even with that, I’m at least on my way to a solid C.” But then she threw a curve at us. “If by tomorrow you submit the correct answer and WHY it’s correct, including the what slide it was on, or where in the book you found the answer, I’ll give you up to 1/2 the points for each answer. But, I’m allowing that for this first test only.” Well “game on!” Some quick reviewing that night and writing up corrections I submitted them and waited. When I got the test back with my submitted corrections, I now had a solid 92 on it. Now I was starting to think about a possible B in the class.

The second test came along and I studied hard for it. In some ways, to me this was the most important chapter exam. I figured if I I could do well on this one, it would set the tone for the following exams. It was also the only test where we covered 2 weeks of material instead of just 1 week. I was completely stressed about this exam because of this. And with the extra credit I got a 94. I’m still kicking myself on that 1 point I missed. (For those who care, she had given us a diagram of the Taxol molecule and we had to label all the chiral bonds. I missed one.)

Now I was starting to feel good. That B was looking pretty solid and I had glimmers of an A in my mind.

Then we hit all the various reactions, SN1, SN2, E1, E2, and more. Now my brain was really starting to fry. I tried to set up a study group at my place, but no one could make it. I was pretty stressed about the 3rd exam. It was honestly the hardest material we covered all class, even the professor agreed with this thought. I think I spent 30 hours over 3 days studying for it. I walked in confident I could pass, but not much beyond that. I walked out feeling like I had been hit by a Mack truck. I saw the eyes of my fellow classmates who had finished before me, and the eyes of those coming out after me. We all felt the same. Well, you can imagine my surprise when we got the test back the next day and I received a 95 on it (this includes the extra credit). I can’t recall the last time I was so gobsmacked. I had figured I had probably gotten a 75 with an outside chance at an 85. I swear I sat at my desk for about 1 minute just staring at the score. I started to process what this meant. Since the professor was dropping the lowest of the 4 chapter exams, it literally meant the next exam didn’t matter. Sure, I could try to get a high grade on it and bring up my average a bit, but it wasn’t critical. I walked into that 4th exam the most relaxed of the 4. And walked out with a 90. I’m still kicking myself about overthinking one of the questions (Yes, an ROOH can represent a carboxylic acid. But it can also be an ether!)

But in 6 weeks, there’s no time to lay off the brakes. We had to go right into prepping for the Final which was literally 48 hours after the 4th chapter exam. And I had to finish all my lab reports. Fortunately the lab professor had said that basically “as long as you submit them by Friday night in the format I’ve specified, you’ll get a 100.” Of the ones I submitted, I had so far gotten a 100 on each one.

Now for the final, several of us got together both after class on Tuesday and then took over the classroom on Wednesday (since there was no class that day). And here I realized something. I basically knew my shit. I was leading the study sessions. I was helping my fellow students with them. They were asking me questions. This felt good. There was one nagging feeling in the back of my mind which did prove true. I should have been asking for more help on a few of the questions myself. But again, I wasn’t overly worried. I had done the math. In theory, assuming my lab professor upheld his end of the deal, I could get a 72 on the class final and still get an A in the class. I got an 86. (had there been the standard extra credit I would have cracked 90.)

Now I’m still awaiting the official grade, but unless something went completely sideways with my lab grade, I earned an A in O-Chem. Yes. I got an A in O-Chem. The class I had feared for years. The class that just over 7 weeks ago I was dreading and hoping that I could pull off a passing grade in, I got an A in! Yeah, forget the humble brag. I’m damn proud of myself.

I’ll add something else too. At least one of my fellow students who I studied with says I probably helped her pass the final with a high enough grade that will also allow her to continue her plans to apply to PA school this year. Moreover, on the Tuesday after the 4th chapter exam, she was supposed to meet her tutor (who apparently charges as much an hour as I do for SQL consulting) and after 30 minutes together decided she was getting more from my tutoring than she did with him and cancelled her session with him and stopped using him. So I’m pretty proud of that. She’s also looking to become a PA student locally so I suspect we’ll run into each other in the future (though she’s on track to apply a year earlier than I am.)

And to top off the day, after the final exam the college was hosting a cookout that even one of the vegans in my class enjoyed.

Image shows an open plaza with two rows of tables with tablecloths and steam pans on top filled with food.
Nice way to end 6 weeks of Organic Chemistry
White disposable plate on red tabelcloth. Plate contains chicken drum leg, 1/2 cob of corn, some sliced brisket and a bit of pasta salad.
The non-vegan option (even the corn had butter on it!)

Two students in front of a whiteboard working on O-Chem.
Our Wednesday study session

O-Chem 1-Chem 2-Chem

Just a quick blog this week since I missed last week. My previous blog post was about O-Chem and that’s still on my mind. I finally received my test grade back and well, let’s say I was a bit disappointed. Though turns out two of the questions were marked wrongly because the Scantron missed my correct answers (I need better pencils!) So that helped. And I got 4 out of 5 points on the bonus (I lost a point because, despite knowing better I put an extra electron pair on the Carbon (it was a “bookkeeping” exercise I meant to erase) and as such gave the Carbon the equivalent of 5 bonds. As our Professor pointed out, any good O-Chemist would cringe at the thought of that!

But what really helped, and I appreciated, was that given how quickly the test came upon us (literally the 4th day of class, after a holiday weekend) she allowed us to submit corrections. But not simply “Oh, it should have been C” but “It should have been C, and here’s where in the notes you explained that.” If you were able to provide the correction and why, you got back half the points you lost. I think this was actually pretty fair and it also helped me because it did force me to go back and focus on my mistakes and learn what I had missed. This elevated my grade enough that I ended up being quite happy with it.

That said, she’s not doing that with the future tests, including the one I took this morning. This test was a bit different, it was on basically two weeks of material (naming, chirality, and Sn1/Sn2 reactions for those who care). I’ve got to say, in some ways I was more nervous about this one than the previous one. And honestly, 2/3rds of the material was in my mind pretty straightforward. (Small aside: yes, chemical names can get long and unwieldy, but once you “crack the code” you can draw the exact molecule pretty easily, at least for what we’re doing. Don’t ask me the chemical name for something like Tamoxifin (though honestly, it might be doable now that I’ve looked at it 🙂

But the nucleophile stuff, I still don’t 100% grasp. I mostly get the idea, but keeping the details straight is tricky. And that’s most likely where I lost points. Of course I won’t know until the end of class tomorrow!

And now we’re on to the next two chapters and another test next Tuesday. Then three chapters, a final chapter test and a final exam (the last 2 are in the same week!)

This is literally the 4th week of a 6 week class (and I’ve finished 1 of 3 days this week) so I’m officially more than 1/2-way through!

Yeah, we’re moving fast, I feel the knowledge oozing out of my brain as I try to cram it all in.

So, we’ll see how I do. I’d write more, but I have reading and practice problems to work on before tomorrow’s class and lab.

O-Chem O-My

I did something last week I hadn’t done in a while. I skipped blogging on Tuesday. I almost did so again this week, but have about 90 minutes left in my timezone to get one in. So… here goes.

As part of my ongoing quest to prepare to apply to PA School, I am again taking a class. This time it’s O-Chem. I’ll let you in on a little secret. I’ve dreaded this ever since I first started looking at the prereqs I have to fulfill before I can apply to the program I want.

I’ve had a… special relationship with chemistry. In high school, I waited until my Senior year to take it. This wasn’t by design. It wasn’t a requirement to graduate and I simply figured I’d skip it. That is until I started to apply to colleges, including RPI and most wanted 2 semesters of high school chemistry. Combine that with a change in the rules at my high school for senior English (basically had to take 2 electives of English, even if you were taking AP English, which I was), meant my senior year I was taking not one, but TWO more courses than I had planned. I often worked on 5 hours of sleep 6 nights a week (my private prep school had classes on Saturday). So, when something had to give, it was chemistry homework. This frustrated my teacher because it was 10% of the grade and she would remind the class that doing the homework helped a lot with the quizzes and exams. Well I was already doing very well on those, so homework was dropped. It was a trade-off.

Then college chemistry at RPI came along. Somehow I was good at it. Or rather, I was good at helping others prepare for the tests and could easily explain topics, but honestly, did poorly in the class. Oh well, it wasn’t computer science. I’d survive. And at least I didn’t have to take O-Chem! I heard horror stories.

And how here I am, 30 years taking O-Chem. But like my history with chemistry, this has a twist. Because of scheduling I’m taking the 6 week version of the class, basically class for close to 2.5 hours in the morning and then lab for 2.5 hours in the afternoon, 3 times a week.

So, last Tuesday I was prepping for class and stressing about it.

And here I am a week later, with 1 exam under my belt (we move fast) and 3 labs (first day was just safety briefing and orientation) and I’m still feeling overwhelmed and honestly, almost having fun.

My schedule goes something like this: 1-2 hours of paying work in the morning 2.5 hours of class, a break, 1-2.5 hours of lab (it varies), home, work, dinner, some more work possibly, then transcribing notes, looking up questions, and trying to get through the book. Then 1-2 hours of preparing for lab the next day. (This last part is new since I didn’t actually get my lab notebook until Friday, so I will still have to go back and do lab notes for 2 previous labs).

And then of course this past weekend, studying for my first exam. This had two additional complications. The first, I was in a remote area without great bandwidth and a flakey computer, which complicated things. The second was that, without a practice test, it was hard to know what exactly to focus on.

I was hoping to get my test grade back tonight, but will have to wait until tomorrow morning in class. I’m fairly confident I passed. But honestly, I have no idea how well I did. There were definitely a few questions I wasn’t prepared for. But, the professor has been good on making sure we focus on the why and how, rather than remote memorization, so I hope I reasoned them out correctly. If not, at least it’s good practice for the next exam (which fortunately is in two weeks.)

I’m not sure this is the hardest class I’ve taken, but it’s definitely up there and it’s even harder because of the condensed schedule. But I almost remind myself I’m just over 1/6th done!

So… we’ll see.

It’s Not Their Responsibility

Imagine if you will, a friend tells you they found an unwelcome guest had been in their house. Not necessarily a burglar or anything like that, but simply someone who saw the door was unlocked, and decided to walk in, grab a cold one, pop it open and then put their feet up and start watching TV. Finally they finished watching TV and left. The only thing left behind was a note that said, “Hey, I noticed you had a really nice house, and a nice taste in beverages and your TV is really kick-ass. Hope you don’t mind me checking it out. I’d love to get to know you better and perhaps replace the cold one I drank. Thanks”

Your friend is understandably upset. They feel violated and they post their anger about it.

Now I want you to ask yourself, how would you react?

Would you tell them, “well you should lock your door?” That may seem like good advice, but I suspect your friend has already thought about it. And perhaps they had good reason to leave the door unlocked (perhaps they were just out for a bit and expecting an actual welcome guest to pop in?) In any case, probably not the most useful advice and in a sense is putting the burden on your friend.

Would you commensurate with? Give them a hug and tell them how you sympathize and how you share their concerns? I’d hope so. Your friend has just shared something traumatic with you. They are most likely looking for some comfort.

Would you suggest to your friend that perhaps they should figure out who this person is and take the time to tell them that going into people’s houses uninvited is not a good idea? Let’s ignore the difficulty of figuring out who the person is (perhaps they left their address in hopes your friend would contact them). I would certainly hope you would not do this. First of all, it’s not your friend’s responsibility to tell a complete stranger how to behave. Secondly, you’re now putting the pressure on the victim here and potentially adding to their trauma. There really is no upside to this approach. Just DO NOT DO THIS!

Now, imagine it’s the complete stranger is actually your friend who did this. You hear their story of how they basically played Goldilocks for a day in someone else’s house. This time, ask yourself the question, would you expect the home owner to tell them what they did was wrong or would you think perhaps you as a friend should point out how egregious their behavior was. This is where your focus should be. Making sure the people around you don’t do this. Not telling the homeowners to give this lesson.

To whose who are saying “well the above is a made up scenario” you’re right. It is.

But replace the house and the cold one and the TV with an unsolicited email via a professional site like LinkedIn. It’s the same effect.

Let’s play a little game here. You may recall it from Sesame Street. It’s called “One of these things is not like the other.”

  • Grindr
  • Tinder
  • LinkedIn
  • Adult Friend Finder

Or another

  • SQL Saturday
  • Local User Group Meeting
  • Your local Singles Group

In the first case, one of those sites is definitely not a place to try to hit on people. It’s a professional site to maintain professional contacts. The other sites are designed to find dates

In the second case, one of those places is definitely a place appropriate place to try to hit on someone. The other two, not so much.

If you can’t tell the difference, my advice, stay away from all of the above until you can.

The take-away: Don’t put the burden for teaching proper behavior on the subject. Take it on yourself and make sure you don’t know anyone who would presume to use a professional site in such an unprofessional manner.

This post may or may not have been inspired by true events. Does it matter?

T-SQL Tuesday

I wasn’t sure what I was going to write about today and then saw it was T-SQL Tuesday, this month’s question from Kenneth Fisher. The topic is “Your First Technical Job”.

I had to actually stop and think about this one for a second. The requirement was to not talk about ones first DBA job, but ones first technical job.

I entered RPI, my alma mater in the fall of 1985. This means I should have graduated in 1989. However, I graduated in 1990 and that made all the difference in my career. One thing that RPI had then, and still has, is a very robust Co-Op program. These were (and I believe still are) an opportunity to work for a company in your field for a summer and at least one semester. Unlike some college programs like this, RPI’s Co-Op office made sure that you were doing actual work in your field, not relegated to say filing papers in an office, or getting coffee for the full-time employees. You also were paid, just like an employee. Given my financial status as a student, this was a huge help.

Through a series of connections, I found myself working at company in Troy called Laboratory MicroSystems. It’s long gone, but it was a good company. It was founded by a pair of RPI alumns, one of which who had also been an Outing Club member and for awhile, tended to hire Outing Club members. It was our own networking group.

That said, my housemate and best friend had just completed his Co-Op there, so there was an opening. After a quick interview, I was hired and started working a few weeks later.

Let me say that this was a great opportunity for me. I had learned a lot in the classroom (even if my grades didn’t always show it!) But, I had never actually applied such skills in the real world. And to further complicate things, my manager was on vacation my first week. Not only was I thrown into the deep end, I didn’t even have a lifeguard.

My friend, when he was there, had taken the PC version of a package they had, called Thermal Analysis and ported it over to a mini-computer (I believe some sort of HP model). To give you an idea of how long ago this was, all the work was done in Fortran.

My job ironically enough, was to take the HP version of the software, that now had been updated and improved and back-port it BACK to the PC. Up until now all my projects in school had been 1, maybe 2 files. So any linking (yeah kids these days are wondering what I mean there) could be done by hand and I had never created a make file. (go google it kids). So very quickly in my first week I learned how to actually compile and link large groups of files in a complex, real-world environment.

Within a few weeks I was deep into the code and really starting to understand how it worked and how to apply my classroom skills. It was a great experience. After about 8 months on the job, it was time to go back to the classroom. But I wasn’t through yet. After another semester of school, I went back for another Co-Op and worked another semester and summer. At this point my manager had moved onto another company and the rest of the company moved onto a new product and project (one that ultimately made the company valuable enough to be sold and for the founders to move on.) I found myself in an unusual position of being 20 years old and the lead developer on a product with no other teammates other than a 20 something sales manager who spent more time on the phone talking about his supposed sexual exploits than actually make sales. But he’s a story for another time.

During this time there are several things that stand out as I think greatly helping me in my career.

The first was adding pop-up help to the Thermal Analysis program. One has to remember, this was back in the days of purely DOS programs, so one normally didn’t have overlapping windows, and the like. But a few customers had wanted some sort of help system added. It took some work, but I finally found a way to do it. Fortran was great for the computational aspects and the 3rd party library helped us display plots on the screen. However, Fortran wasn’t great for developing a UI. After reading and research, I realized I could do what I wanted with some C and Assembler code. This is also when I learned that their call stacks were reversed from Fortran. So I ended up having Fortran calling C code, using a keyword Pascal to ensure the stack would read in the right direction (don’t ask me why it used that for the keyword) and then the C code called ASM to call the DOS interrupts to allow a pop-up to be displayed, and then the C code populated the pop-up with the help text. Learning how to do this, really helped me with my problem solving skills and to learn that “solutions exist” it’s just a matter of finding them.

Another project was one completely unrelated to Thermal Analysis. I can’t recall the name we gave the problem, but it was software we wrote for GE Plastics that basically involved setting up a material on a tensile test machine (a machine that would pull stuff apart at whatever speed you told it to. In this case, the test took a year to run!) GE had provided the hardware and the hardware specific language to write this in and I was off. This had to handle reboots, power outages and the like. Fortunately we were using an external A/D (analog/digital) converter box made by Perkin-Elmer that could store a certain number of data points. This meant we could reboot the PC and reread in data to see if it were new or not. The software was the first I’d seen that had any sort of try/catch (though I believe they called it something else). So I was able to learn and develop good error-handling techniques. Something I’m still working on and improving on to this day.

But, ultimately, this job really led me to where I am today through a convoluted series of steps. The office network was Novell Server with Thinwire ethernet. For those who don’t recall what Thinwire is (or was) the key details was that rather than every network cable running back to a central switch, the cable ran in a serial line from computer to computer and any break in it resulted in a network outage. There were many ways this could fail.

Well between my software work, I started to be the go-to guy for diagnosing network issues. And then for issues with the Novell Server itself.

After college, for various reasons (including I suspect because both my parents had worked for themselves) I wasn’t eager to work for another company right away. So I went into consulting and my first client was, you guessed it, Laboratory MicroSystems. I started handling all their IT needs, which continued to grow. When I had started, they barely filled one floor of the building they were in. By now they were spread across 3 floors and still growing.

And that product everyone else had started working on during my Co-Op? Well by now they were porting it to use SQL Server 4.21a, and they realized that they could use a specialist to go to customer sites and install SQL Server before they sent out their specialists to install the actual software.

And that folks is how, I started out programming in Fortran and ended up as a SQL Server DBA.

Someday, I’ll tell you how the Streets of Laredo figures into this story or how the last I had heard about the now formal sales manager involved him and a radio contest or even how after I stopped consulting I did one last gig for them as a 1 day Oracle consultant or the time I saved them (after being bought) from moving into a new office with only 2 outlets for 24 people.

But in the meantime, now back to studying for a test for my next change of career to hopefully become a Physicians Assistant!

Learning the Lingo

“Now, in the ’60s, there were only two other cars made in America that had Positraction, and independent rear suspension, and enough power to make these marks.” – Mona Lisa Vito

In my first stint as a computer consultant, I was visiting a potential client and noticed a magazine called I believe The American Bee Journal. I was a little surprised at first that such a magazine even existed, but then it dawned on me that it made perfect sense and that probably every specialty had a trade magazine or the like of its own.

In the world of SQL Server we’ll talk about query plans and clustered indexes vs non-clustered indexes and use other words specific to our trade.

In caving we’ll talk about speleothems and karst and other words that the average person might not recognize.

And mechanics can talk about Positraction and skid marks.

Knowing the language of a particular specialty can be important when it comes to understanding it.

I’ve been reflecting upon this lately as I continue to study so I can apply to a Physician’s Assistant program. I’m about to finish up my first semester of classes and one of the classes I’ve been taking and really enjoying is Anatomy and Physiology I. I still have a second class to take, but I’ve been loving things so far. It is, to me, absolutely fascinating to learn how the body works. For example, learning the physiology of muscle contractions is in three words, absolutely fucking cool. And any caver who has vertical experience would realize it’s not much different from how we ascend a rope.

Part of what I’m learning to is the language. In fact one of the first lectures and labs was simply on the language to use describe where things are. To someone not familiar with the language, it may sound like gibberish to say that the tibia is lateral to the fibula and the lateral malleolus is at the distal end, but such a description can help someone who knows the language orient themselves as to its location. Similarly if someone says they have a sore sternocleidomastoid muscle, I’d know where it is, based simply on the name. (I’d also honestly wonder why they simply didn’t say they had a sore muscle in their neck). In that case, the name of the muscle basically describes its origin (the sternum and clavicle or cleido) and insertion (the mastoid process). (If you’re curious, if you turn your head to the left, you can see the right sternocleidomastoid sort of bulging from the right side of your neck).

Honestly, at times I feel like I’m at a Broadway play and the orchestra is playing the overture and the curtain is slowly being drawn back to reveal what’s behind it. I’m excited by what I’ve learned and seen so far and excited to see what more I’ll see as the curtain continues to be drawn back!