Thoughts on Writing

“I also did the copy edit. If it looks good to you, then I can get it published ASAP!”

This is an excerpt from an email I received yesterday. It was probably my favorite email of the week. It means another article of mine will be published at Red-Gate. I’m quite proud of this and once it is published I’ll be updating my page on published articles.

Let me be clear, while I appreciate getting paid for the Red-Gate articles and for the book I wrote, the truth is, I write for more than the money.

I write because I enjoy it. Getting paid sometimes is a bonus. Knowing that others may gain something from my writings is another bonus.

Just about two years ago I decided to go from writing for this blog on an occasional or “as inspiration” hit me basis to a weekly basis. This has had two impacts. I think I have fewer truly inspired posts, but overall I think my (and have been told, but you can judge for yourself) writing has improved. It’s like pretty much any activity, the more you do it, the better you get at it. And it has paid off, literally. I don’t get paid to write this blog, but it indirectly lead to my writing gig for Red-Gate.  So I guess it’s been worth it.

I’m still nowhere near close to giving up programming and writing full-time, but it would be a fun idea to explore. Right now though my writing gives me that little extra “fun money”.  I’m content with that.

Writing also brings me closer to my father. He was an English major at UConn and as such when he graduated became a carpenter. He had bills to pay after all! Some of my earliest memories of him are him sitting in his office trying to write. Based on what I know of him, I suspect he was trying to write the next Great American Novel.  Sadly that was never to be. That said, in the garage below my office I have all his notebooks with all his handwritten stories. Someday I plan on trying to decipher his handwriting to see what it is he did write.

In terms of non-fiction however, I do have some knowledge. He was for many years a stringer for some of the local newspapers and I remember him calling in articles he had written on a variety of topics, including coverage of the local media sensation, the trial of Peter Reilly who was charged with the brutal murder of his mother. Later my father covered the retrial of Mr. Reilly, after it was shown his initial confession was coerced and there were other issues were found with the trial.  He covered more than that, but was the biggest story he covered.

He never had a book published, which I know was a dream of his. I finally did get a book published, unfortunately after he died. That said, in fairness, I think a technical book, especially in today’s climate is a bit easier than the fiction book he was shooting for.

One writing tip I took from Stephen King (and others to be fair) is to set aside a time each week to simply write.  On my calendar I have a period set aside every Tuesday to write this blog. It’s a constant reminder that I need to make time to write. More recently I added a similar block on Wednesdays to write for Red-Gate.  It doesn’t mean I’m always successful during those times or that I only write during those times, but it forces me to set aside some time to write. And the end result is, I write more. And it’s been good.

That said, I think my next goal is to write a non-technical book, whether it’ll be a work of fiction or non-fiction remains to be seen. I may need to put that on the schedule now.

So, that’s my writing for this week!

 

“Do What You Love…

And you’ll never have to work a day in your life.” – Confucius, Mark Antony, Mark Twain.

Honestly, I think that’s some of the worst advice ever. It’s a sure way to end up hating something you love doing. Or if you do follow it, make sure you understand what it is that you love.

I first realized this in high school. I had signed up to do JV soccer, something I enjoyed, but I can’t say I loved. Before school started, we had a day of orientation. It included a hike or run up the mountain behind the school. I loved the woods and I loved (and still do at times) running through the woods. Somewhere along the way, a fellow student saw me running and suggested if I enjoyed running through nature so much, that I consider doing Cross-Country instead as my fall sport. I took their advice; snd hated it for two fall semesters in a row.

I realized what had happened was that I had replaced what to me was a fun, non-competitive activity and turned it into something where I had to perform at a specific level every single time. What I loved was running through the woods, not running competitively.

People assume I love working with computers.  That’s not entirely true. I ENJOY working with computers. I enjoy solving problems and computers are one way I can express that joy. When I make a query run 10x faster, or automate a process that previously took someone an hour a day to do, I enjoy that. But do I love it? Probably not. And I’m actually grateful for that. Because if I loved it, it would mean those days of drudgery where I bang my head against the wall all day trying to solve a problem, or I’m up until 3:00 AM recovering a failed server would turn something I love into something I dread. Something I loved would become a chore.

I love to teach caving. I get a real thrill out of it. But, I suspect that if I spend 40 hours a week, 50 weeks a year doing it, it would soon become a chore.

As my kids started their college journey, I’ve advised them, “find something you enjoy, not something you love. Keep the something you love for your own personal time so it doesn’t become a chore.” And that’s my advice to anyone.

But hey, I could be wrong. What are your thoughts? Did you pick your job because you love it and if so, do you still love it, or did you end up resenting it at all? Or do you enjoy your job?

Lifelong Learning

Writing a weekly blog isn’t always easy. For one, you have to come up with a topic every week. As fellow DBA Monica Rathbun recently pointed out, that’s not always easy. But sometimes (ok, often) I get lucky and the universe conspires to give me a topic.

This is what happened this week. The other night I was talking to my son about a possible project I might need his programming skills on. We reached a point in the discussion where I realized what we wanted to do was possible from a technology point of view, but I honestly had no idea how to accomplish it. I literally said, “I have no idea how to do that. But that’s ok, that hasn’t stopped me before. If I don’t know how to do something and I need to, I’ll learn it.”

That said, earlier in the week I was chatting with a friend of mine who has her doctorate in psychology and we were discussing learning new things and one of the items that came up was how it does get harder to learn as one gets older. On the flip side, we have more skills and memories to build upon which can help compensate.

Going back, even further, I remember my maternal grandfather. He was a PT Boat vet from WWII. Some of my earliest memories were him staring at me surrounded by a bright glow. No, he was not an angelic being, rather he loved to film everything on 8mm film and often used a bar of bright lights to make it bright enough. Later in live, he started to move all the 8mm and Super-8 film to VHS. He learned the necessary skills.

Even later in life, with some help from us grandkids, he started to move everything to DVDs. He was probably in his 70s when he took this up and learned how to edit everything on the computer, add in new sound tracks and titles and more.  I mention this story because I remember the day my mom again called to vent her frustration with her computer and how she was ready to toss it in the microwave and have them commit a murder-suicide together. She claimed she was too old to deal with learning how to use her computer. I mentioned to her that her father had learned how to edit DVDs and he was even older.  She was quiet for a minute and then agreed I had a point. Now in her defense, I will say, more often than not she will now call up and say, “Well, I had a problem with the computer, but I figured it out.”  Again, proving, you’re never too old to learn.

What brought all this together though in my mind was this post from Grant Fritchey. It’s well worth the read and I think he makes a lot of valid points. I know as my career in IT I’ve had to constantly learn. What I need to know today is often vastly different from when I did my first install of SQL Server 4.21a. It’s one reason why I made a point last year of buying a LattePanda singleboard computer and installing Linux and then SQL Server on it. I had decided to challenge myself and set a goal of building a SQL Server for under $200.

I plan on learning up until the day I die (and who knows, perhaps after that!) What about you? Will you stagnate or grow?

And as a reminder, if you enjoy reading my blog, please subscribe to keep abreast of updates and additions.

And a final note, I will be travelling over the next two weeks, so I may be too busy to blog.

Being Observant

I was busy last week teaching cave rescue at the annual National Cave Rescue Commission Weeklong training seminar, hence my lack of a post last week.

As always, I had a great time helping to teach a class of 19 students. Our teaching includes classroom time as well as time in the field. We use both caves (obviously) and cliffs for out in the field instruction. The cliffs give us an opportunity to focus on rigging and lets everyone see what’s going on; mostly. In a cave, often it’s too dark and small to let everyone have a good few.  But, you may notice that I said mostly above.

Let me interrupt with a quick video.  Can you count the number of times the players dressed in white pass the basketball? If you got 15, congrats.

Now back to the class being on the cliffs. As part of our exercises, we usually do several iterations of the same thing, such as lowering a patient and then raising them up. Each time we may change a detail or two, such as where they can rig, what haul system to use, etc. The idea is that repetition helps them learn the skill. Often though, at the last iteration we toss in a wrinkle: they’re not allowed to speak, at all. Generally this means, they have to start with a pile of rope and hardware on the ground and without saying a word, rig a safe system to lower and raise a patient.  Generally they use a variety of hand signals and various body motions. While at times it can be quite entertaining, it can also be instructional. It’s often the faster iteration of the day, in part because they’ve honed their skills but also due in a large part because there’s no ideal chit-chat.

The point of the exercise is multi-fold. Partly it’s a great challenge for them that they end up really enjoying. It also illustrates that communication is still possible when you can’t verbalize things. This is actually often common in caves where rushing water or echos can make vocalizations useless. It finally shows that they’ve come together as a team and can work effectively.

That said, sometimes they can miss details. As instructors we ensure though that no safety issues are missed. We will stop the exercise if we see something unsafe and help them make it safe.  Part of this includes an instructor on a separate rope to hang over the edge so they can watch the patient (generally another instructor) go down and come back up. This instructor watches the entire process for safety reasons.

This time around, we decided to add a bit of a twist to the exercise.  Generally the safety instructor stays at the top. This time however, he rappelled over the edge, all the way to the bottom. Nothing overly unusual about that.

However, once he was at the bottom, along with the patient, who happened to be me, I very quickly detached the ropes connected to my harness and connected them to his harness. I then moved over to the line he had been on and started to ascend as the students began to haul him up.

They eventually got him to the top and congratulated themselves on a job well done. Other than the student at the edge of the cliff who had watched the process, none of them appeared to notice that they had lowered me and raised him.

This actually isn’t totally surprising. We like to think of the human brain as a computer, but in many ways it’s not. Or at least it’s not a digital one with perfect recall. We actually ignore a lot of “noise” in order to focus on what’s important at the time. The fact that the person they hauled up was different from the person they had lowered counts as noise in this case because it’s so improbable that the brain won’t bother processing it, lest it take away from more important tasks, like ensure the ropes were handled safely.

And for those of who you didn’t watch the video, the answer is 15, but that’s not what’s important. Go watch it.

Today’s takeaway, our brains are fuzzy and work “well enough” most of the time, but can miss details. And generally, that’s ok.

Security: Close isn’t good enough!

I was going to write about something else and just happened to see a tweet from Grant Fritchey that prompted a change in topics.

I’ve written in the past about good and bad password and security polices. And yes, often bad security can be worse than no security, but generally no security is the worst option of all.

Grant’s comment reminded me of two incidents I’ve been involved with over the years that didn’t end well for others.

In the first case, during the first dot-com bubble, I was asked to partake in the due diligence of a company we were looking to acquire. I expected to spend a lot of time on the project, but literally spent about 30 minutes before I sent an email saying it wasn’t worth going further.

Like all dot-com companies, they had a website. That is after all, sort of a requirement to be a dot-com. And it was obvious it was backed by a database server (which I knew was SQL Server, which sped up my process, but only by a few minutes). So, I did the obvious thing and got the IP address of the web-site. Then, I simply tried to connect to SQL Server from my desktop to that IP address and one or two on either side of it. On my second attempt, the IP address right before the one of the website replied to my attempt to reach SQL Server. That was not a good sign. The reply meant there was no effective firewall in place. Note, had they not been using SQL Server, but some other tech, it might have taken me another 10-15 minutes to find the right client to connect. So knowing it was SQL Server wasn’t overly important.

But of course at least they had a password right? Well, back then, the latest and greatest version of SQL Server was 2000 which still did not require a password when you set it up.  I asked myself, “it couldn’t be that easy could it?”

Sure enough it was. Within minutes I had logged in as sa without a password. I now had complete control of their SQL Server. But even more so, back then SQL Server allowed unfettered access to xp_cmdshell. In theory at that point I could have done anything I wanted on the box, including installing remote access software and creating and giving myself administrator access.  I didn’t. But, my email to my boss was short and sweet. I explained how there was absolutely no way we could acquire their platform without a complete top to bottom review of it for any signs of malware. If it took me only 30 minutes or less to get in, I was almost certain their system was owned.

We never acquired that company. I’ve wondered since then what happened to them. My guess is, like many dot-com companies they folded. I can’t say it would have been because of their lack of security, but I can say that the lack of security played a huge factor in us NOT acquiring them. (and for the record, the company I worked for at the time ended up acquiring 1-2 other companies, merging with a 3rd and finally being acquired by a 4th, which is still around. So we were doing something mostly right.)

The second incident that comes to mind was about 8 years later at another start-up. I was asked by the COO to do some due diligence on the setup in another division’s datacenter setup. Again, I didn’t do anything fancy. I knew they weren’t running SQL Server, but I figured I could still do some probing. This time what I found was a bit different. It wasn’t software per se, but rather their iSCSI switch. Sure enough not only did it have a public facing IP address, but, the CTO of that division had failed to change the default password. I was very tempted at the time to give the IP address to my 8 year old son, without any other details and asking him to try to log in. Given his skills, even at that age, I’m 99% sure he’d have figured how to Google the required information and get in. But I figured I didn’t really need to do that to make my point.

That and other factors later lead to the CTO leaving the company.

Moral of the story: Make sure your sensitive information is under some form of lock and key and don’t use blank or factory default passwords, let you or your company end up in a headline like this one: Evisort Data Exposed.

JOBS THAT BEAT THE CARING OUT OF YOU

Let me start by saying this is NOT an April Fool’s Joke. This is a true story.

I do lay the ‘blame’ for this post squarely two members of my #SQLFamily: first on the heels of Grant Fritchey and his post by he same name. He in turn lays blame on Jen McCown’s post by the same name.

I mention elsewhere in my blog I prefer to be intelligiently lazy, so rather than retype, I’ll post the content from a Quora answer I wrote.  Technically I was just a consultant, and after twice getting a late check I made it clear to them that if they stopped paying me on time, I would stop working.  Apparently they liked me enough that a quick call to the CFO would get me a check cut that day.

So with that:

Let me give you an example of a client I once had. When I started with them, people loved working there and they were expanding and successful. So successful the company got bought.

Then… things changed.

Sales people were finding their expense checks weren’t getting paid (more on that later). Did you know, even if you try to explain to the credit card company that it’s a “company card” if it’s in your name and the company doesn’t pay it, you’ll ruin your credit score? Yes, it’s pretty difficult to be a sales person who can’t travel because no one will give you a credit card any more!

Then, to cut costs, an office move was proposed. Quite frankly, had I not been involved as their IT guy, it would have been a disaster for a variety of reasons. Fortunately for them, besides my IT skills, I could read blueprints. It was quite obvious to me that 2 outlets would not serve an office of 20–25 people with computers and printers. It took me nearly kidnapping the CFO on a day he visited and dragging him to the office to make clear how much more work the office needed. They simply assumed, “oh, it’ll have enough power.”

Meanwhile the previous owner had started a new company (in a completely different industry) and was growing and expanding at a furious rate. Also, my wife was a recruiter at another local company (in a different industry also). The only thing all three of these companies had in common was they all were software related, but the fields they served were completely different.

At one point, the top sales person from the failing company left to go get a job a with the new company. Within days the former company sent a cease and desist letter to the new company insisting they stop poaching employees and if they continued, they’d sue the owner for violating the non-compete clause. Now, keep in mind the owner was very much NOT approaching employees of the old company, but even if he were, the non-compete only applied if he had founded a new company in the same industry. he hadn’t. We had a good laugh at the old company.

Now, meanwhile, my wife, while not exactly poaching, knew that almost any offer she made would be accepted since morale was so bad at the old company.

Then… this happened. I was there for the meeting and sat in on it. It’s the closest I’ve come to “beatings will continue until morale improves” ever.

The CFO and CEO came into town for an all-hands meeting. Their goal was to address, among other things, the late employee expense checks issue.

I will say, they had some pretty looking slides. The slides showed things like cash-flow, moving towards profitability and some other items. But the message was quite clear, “We will continue to pay YOUR expense checks as late as possible because it helps our cash flow. And you should be grateful for this.” They very much could NOT understand why employees were furious that their expenses were basically being used as no-interest loans by the company. The rate of exits accelerated after that.

What had been a thriving company became a dying, decaying shell of a company in under a year because of the management.

One Postscript:

One of the developers who left the old company ended up at the new company. He submitted his expense check. He was reasonable, he knew it would probably hit his next pay cycle. He was OK with that. I still recall the look on his face when later that day someone from finance walked in with his expense check. They were under no obligation to turn it around that fast and he certainly wasn’t expecting it. But they did so. They “bought” his loyalty that day by a simple gesture.

So, if people are leaving, trying to force them to stay will backfire. Figure out what you’re doing wrong and fix it.

42

How many roads must a man walk down, before you call him a man? – Bob Dylan

There’s a trailhead to Whiteface Mountain in the Adirondacks that starts on an old forest road. It’s probably left over from the days of logging. I haven’t been on this trail in probably 20 or more years. It might be closer to 30. And yet, for some reason I can picture it in my mind almost perfectly. Or at least I think I can. I mean without going back, how can I be sure I accurately remember it? But the reality in my mind is that I recall it perfectly.

I also remember key points along the trail. Sometimes I will wander down this road in my memory and remember the joys of this particular hike. I should do it again someday.

There are many physical roads like that that I travel down in my mind and hope to go back to again someday.

But, at night, as I lay in bed, there are some roads in my mind I find I just can’t travel down anymore. Or at least not now, perhaps in the future. Last night as I was drifting off, I started to remember my father’s property in the years soon after he bought it. It had a number of outbuildings that had been built over the years. I’m still not sure what they were used for, since it was a never a working farm or anything like that, and even so they weren’t the sort of buildings one would use for such a purpose. I do recall one had some old nudes pasted on the wall.  I remember having grandiose plans for turning one into sort of a clubhouse for me and my friends, but for various reasons… life happened and that didn’t.

Travelling down this particular road started to bring up other memories of my father, who would have been 72 this year. And I stare down these lanes of memory and have to stop myself. Some I know I can explore and laugh and smile as I travel down the fond memories, others… well I have built gates across them. The memories are too close and too raw and I fear if I travel down them any distance I’ll get lost in those memories and the pain will be too much. So, I look over the gate and say, “not now…”

Gradually I’ve found some of those gates I can open, but not all.

The Road goes ever on and on,
Down from the door where it began.
Now far ahead the Road has gone,
And I must follow, if I can,
Pursuing it with eager feet,
Until it joins some larger way
Where many paths and errands meet.
And whither then? I cannot say. – JRR Tolkien

My father introduced me to both the poet and author I quote here, but he was more fond of one, and I the other. I’ll leave it to the reader to guess or know which is which.

So, I don’t know how many roads I have to travel down, or how many I can. But they’re there, beckoning.