A Different Perspective

I was going to write a follow-up to last week’s article on Simon Biles and talk about teamwork, but decided to go with something a bit more lighthearted: a Hudson River cruise.

As many of you may know, I live in upstate New York, specifically near Troy. A dominant physical feature here is the Hudson River. Within a 10 miles of my house there are eight road bridges and one river bridge. But even with that many crossings, it’s a definite barrier to travel at times.

The eastern side of the river, other than Troy tends to be fairly rural with only a couple of large open-air shopping malls. But to the west is Albany and Colonie and they have the two largest indoor malls in the area, plus a number of open air malls, the State Capitol, and the bulk of the office space. This means to do a lot of what most of us on the eastern side want to do, we have to cross the Hudson.

I suspect most folks who cross the river don’t give it much thought, beyond it being a barrier to get over using one of the aforementioned bridges. I know as a bicyclist I definitely have to do some route planning when I want to get to the other side.

This past weekend, my family and I decided to experience the Hudson from a different perspective, actually on the Hudson. We signed up for a 90 minute tour on the Dutch Apple leaving from downtown Albany. I want to start with the name. I’d say most of my readers are probably aware that the name of the river comes from Hendrick Hudson, an early explorer of the area, who first sailed up the river that now bears his name in 1609, over 400 years ago. They might even recognize he was Dutch. But, given the state I live in is known as New York, most folks think of New York as primarily an English settled area.

But, the early history is definitely Dutch and there’s still a very strong Dutch influence in the area that extends beyond the name of the river. I live in Rensselaer county, named for Kiliaen Van Rensselaer. He was once claimed ownership of the most land by any European in North America, with his claimed holdings extending for miles on both sides of the river.

In addition, the first settlement in the Albany area was known as Fort Orange. Also, instead of streams in the area, many of smaller waterways are known as Kills. But enough of the early history and language lessons.

The cruise let us see the river from only about 10′ above the water level, not 100′ like some of the bridges (little side note, until late in the last century, the US Coast Guard required bridges as far north as Troy to have at least 60′ clearance.) And instead of crossing over the river, this allowed us to cruise along it.

After undocking, at first the Dutch Apple headed north from its mooring. We sailed under the Dunn Memorial Bridge where a Peregrine nesting box was pointed out and some could see a one of the nesting falcons. I could not.

Dunn Memorial Bridge (Peregrine box underneath on top of the concrete pier)
Dunn Memorial Bridge (Peregrine box underneath on top of the concrete pier)

Unfortunately for us, just north of there is the Livingston Avenue Railroad bridge. This is a swing bridge that’s too low for the Dutch Apple to pass under. Taller boats can pass upstream of it but need to make arrangements in advance with CSX/Amtrak. So from there we turned downriver.

One thing many people are not aware of is that the Hudson River is actually an estuary as far north as north Troy where the Federal Dam is located. This means that there are tides on the Hudson all the way to north Troy. When one crosses over the river one can notice the tides if one is observant or the tide is particularly low and the smell pungent. Saturday, as we headed south, the tide was coming in. Between this and the wind, it actually meant the boat had to make more effort going downriver than upriver!

River in foreground, with the old D&H building in the midground and Corning Tower left of center in the background.
Albany from the Hudson

Another reminder of the importance of the Hudson and the nearby Mohawk, and later Erie Canal was that the Albany/Troy area was once the gateway to the west. Besides the waterways, trains were an important part of this, and one of the major local railroads was the Delaware and Hudson. From the river you have a nice view of the old D&H building which now houses SUNY Albany offices and other offices.

Heading further south, on the eastern bank Fort Crailo was pointed out to us. Again, a Dutch influence, but also home to where Yankee Doodle Dandy was later written down.

Given that the Hudson is a tidal river and Albany is still an important gateway to the west, the Port of Albany is a key part of the local economy. But again, I would suspect most folks who drive across the Hudson aren’t aware of the size and scope of the port. I think most equate it with the area where the Dutch Apple and the USS Slater are docked. Really though that’s not the active part of the Port of Albany. But the following photos show facilities on both sides of the river.

Foreground is the Hudson, with a seawall and then a wide open area for the port of Albany.
Port of Albany with huge mobile cranes

Apparently the Port contains the largest grain elevator east of the Mississippi!

Sloping roof dominates image with storage towers on both sides. Part
Grain Storage at the Port of Albany

As you can see, even ocean going ships come this far north.

Large orange tank, with two tugboats pushing it into position.
A large ocean going tanker
Bulk cargo ship with 3 of 4 cranes in operation, loading scrap
Loading Scrap on the eastern short
Dark and light orange barge with tug headed up stream.
Barge with tug

Not all commercial craft on the Hudson are ocean going. The Mississippi isn’t the only major US river with barge traffic. That said, Hudson river barges are much smaller and as far as I know, are only moved one at a time. It’s hard to tell in this photo, but the barge actually has a small notch in the stern that the tug fits into for pushing. This barge is most likely loaded as its sitting low in the water and being pushed. Once empty, often the tug will move to the front and tow the barge as it will be riding higher in the water and by being in front the tug has better visibility.

But the Hudson is not all business. Folks also have lots of fun.

Powerboat passing us on the Hudson.
Having Fun

Finally after about 50 minutes of sailing, we headed north. Our tour was scheduled for 90 minutes, but because of the incoming tide, we actually headed upstream a bit faster.

Image is of the Hudson, with the Corning tower a speck in the background. Boat ensign in the foreground.
Looking north before we turned around

I’ll brag a bit and say I probably know a bit more about the Hudson and its history and influence than many in the area, but it still really helps to see it close up and realize things like exactly how large and busy he Port really is and to hear more history of it and even see some of the history (like the shore protection put in over a century ago, or some of the older residences on the river, some that are close to 300 years old).

We have a deep history here and its worth getting down to see it. And sometimes one needs to look at something that they see every day from a different perspective.

Free Cell #1703491

This is a completely random post and for a very select crowd.

I often play Freecell (far to much, but that’s another story). Years ago, when it first came out with Windows XP, I wondered if every game was winnable. Apparently, not. That said, I haven’t come across any of the “impossible games”. But I’ve come across a few hard ones.

But none nearly as hard as game #1703491. Usually I can solve most games in 2-5 minutes, sometimes it takes 15-30. I was into this one for over 2 hours before I did something I’ve rarely done. I looked for help. Mostly I wanted to know I wasn’t playing an impossible game. A brief search suggested I wasn’t. A longer search proved I wasn’t. But there was only one cryptic suggestion. I had pretty much settled on this being the most likely path, clearing the 6th column.

Now, small sidebar. To add a bit of a challenge, I have a self-imposed rule that I don’t put cards up on the home cells manually, I let the game move them automatically. In other words, if there’s a free card I can put up there manually, but that won’t go automatically, I won’t put it up. This happens for example if the the home cells AH, blank, 2D, AS, I won’t put up the 3 of diamonds. The game won’t automatically put up the 3D until the 2H, 2C and 2S are up there also. Like I say, no real reason other than the extra challenge. I had to break that rule in this game.

Anyway, even with that advice, I kept getting stuck.

A common spot I would get to was:

Making Progress

Still not much wiggle room

This was the first time I had freed up the 8th column. So that was progress and I had considered that key. I’m not sure what took me this long to figure out this combination of moves.

And now the break-thru. I’m feeling good here. I know once I get the 2 of Hearts up there, I’ll be making real progress!

This move is obvious

Now I’m gaining momentum. I may seem tempting to free up that 2 of Spades. Resist that temptation!

Don’t play the obvious move!

Rather you want to move that stack on the 5 of Hearts. With that move and a few others you end up at:

Now we’re making real progress!

The next few moves are pretty clear. Now we can move up that 2 of Spaces and after that the game is clearly winnable.

Getting Close

That said, I have to break my own rule one more time, but I don’t care. I’m ready to win.

Almost There!

And that’s it! I can relax now!

Whatcha Reading?

I thought I’d start off March with something a bit lighthearted and as sort of a follow-up to last week’s post about what I’ve been eating in the last year.

For as long as I can recall, I’ve loved reading. I could not wait until my kids could learn to read. Without reading, we are in many ways limited to what we can see with our own eyes right in front of us. But by reading, we open up whole new worlds.

I’ve stood on the peak of Amon Hen with a Halfling as he stood there, wearing a magic ring, debating what he should do as he looked across the world and could feel himself being spied upon.

I’ve flown in a spacecraft controlled by an intelligent computer that was given opposing directives that it decided it could only resolve by killing its crew as it flew through space on its way to a flat rectangle whose dimensions were known to us to be in a ratio of 1:4:9 and in higher dimensions could be said to extend to to 16, 25 and possibly higher.

I’ve travelled the ante-bellum Mississippi with a young man named Huck and his best friend Jim. I’ve wondered why the hounds of Baskerville didn’t bark. I’ve flown over Italy, dropping bombs on people wondering why I was doing that as they had never done anything to me. And people thought I was the crazy one.

I escaped my boarding school and wandered the streets of New York City for day. (I should note my dad insisted I read this one and told me I’d really relate. I didn’t. I found Holden to be boring, self-centered and honestly, just plain annoying). On the other hand, I loved riding in an automobile escaping New York City to Long Island while past a valley of ashes during the roaring 20s. Those same ashes appear later in the biography of the man who would literally reshape the outline of Manhattan and the traffic patterns of that great city and other parts of New York for generations to come.

I’ve read of a dystopian future that at times seems all to close where certain women are forced to wear red cloaks and to bear children for other couples. But I’ve also sailed across the seas of a foreign world where there are no continents, just archipelagos of islands, on one of which one a young woman, raised to be a priestess/goddess to her people learns from the gentleness of a young man she’s forced to impression that there’s so much more to learn of the world and gains her freedom.

I’ve sailed into deepest Africa to find a man who has gone crazed with power. And later voyaged to the bottom of the planet on a sailing ship, only to find myself stuck with my fellow crewmates in ice for over a year. Our captain undertook a daring and amazing voyage to a whaling station, only to have to cross over the mountains between where they landed and the village in order to find our rescuers. I’ve also sailed to the Moon and back, numerous times, the first, hitchhiking along on Christmas Eve as the story of creation was read to the nations of Earth. I joined him again later only to discover once again we weren’t going to land, in fact we weren’t even going to orbit. But that’s ok, I also travelled to the Moon and back again not just once, but multiple times, including with the first man to walk on the Moon and the last.

I’ve also hiked to the top of Mount Everest and surveyed the detritus of bodies of those who attempted the trip and failed and felt relieved to know that at least one who had been left for dead later found the will-power to pick himself up and crawl to the nearest camp. In a similar vein, I’ve read both sides of the story, of two climbers in the Andes, one who had to cut the rope of his partner, letting him plummet to his death, the other being the one whose rope was cut, falling not to his death but to a miracle. But I was also heartbroken to read of the young man who went into the wilderness of Alaska to live, and ultimately die in an abandoned bus.

And then yet another morning I woke up to find myself in the body of an insect, wondering what it all meant. And another day I came home from school to find a tollbooth in my bedroom through which I could ride a toy car and be joined by a humbug and later jump to conclusions.

Ok, enough reflections on that, let me talk a bit more about what I’ve read or will read in the coming months. I’m a luddite in some ways. I still prefer the feel of dead paper in my hands. At the top of this article is a photo of some of the magazines I tend to read on an a monthly basis (I just realized at least one is missing).

Discover and Scientific American: I read monthly, cover to cover and learn all sorts of new things. I highly recommend everyone read at least one of these. Yes, some might argue they “dumb down” science, but in reality I think they make it more accessible.

NSS News: This is an interesting one. The articles can range from extremely technical (the chemistry and hydrology of a cave for example) to very lighthearted or celebratory. It’s one of the few printed items I read where on a nearly monthly basis I can expect to read the name of someone I know personally, or see their credits for photos. It also collects excerpts from grotto newsletters, giving me a more intimate feeling of what other cavers are doing.

Trains: Ok, this is a bit of a niche market, but I’ve always been fascinated by trains and railroading and in fact bought stock in BNSF long before Warren Buffet did. He just had a bit more money than I did when it came to buying the whole thing.

Outside: I’ll admit I actually read this the least. I get it for free, so it’s nice to browse when I have time. But honestly, I’d rather BE outside than read about it!

Air & Space: Again, following my theme of science and space, I love reading this one.

The Times Union: Ayup, I still read the daily newspaper. I find an online version doesn’t cut it. When I was working in the Washington DC area I also subscribed to the Washington Post (and then on the weekends would come home and catch up on the Times Union)

But what else? You may notice so far I haven’t mentioned anything about SQL Server. But, just this past month I finished reviewing a book a publisher has asked for my feedback on possibly editing and updating. So there’s that. But I find most of my SQL reading is done via blog posts. These include but are not limited to:

Monica Rathbun: some great articles, generally with a focus on performance. Well worth the read!

Deborah Melkin: I’ve known Deborah since she first came to SQL Saturday Albany to speak and have always enjoyed her style and ability to make complicated things simple enough to understand.

Steve Jones: I think he probably blogs the most of anyone I follow. I’m not sure how he does it, but it’s consistently great.

Ray Kim: a fellow member of the Capital Area SQL Server Group, he, like me blogs about a lot more than just SQL Server. He will often focus on baseball, like his most recent blog entry.

Derek Lyons: I’ll admit, anime has never really been my thing, but it’s always nice to see what a friend is writing about. But if anime IS your thing, check out his blog.

And of course I’d be remiss if I didn’t admit that I’ll google stuff a dozen times a week if I need to, so there are plenty of other blogs and pages I’ll hit on a regular basis.

And being the luddite I am, I still read Usenet and actually moderate the sci.space.tech and sci.space.science discussion gorups.

And I really do read SQL books from time to time, they’re just not overly gripping reading!

Finally, living outside of Illium, err Troy, I once met a young old man who went by the name of Billy who told me of his adventures in WWII and travelling to another planet. All the above is just a small part of what I’ve read and a small part of what I will read. And so it goes.

Backups Are Useless

I’m going to take a controversial stand and argue that backups are useless.

Over the last few months I’ve worked with a client of mine to test their Disaster Recovery procedure for one of their major in-house applications. This involved multiple several-hour meetings with anywhere from 5 to 10 people at each meeting, sometimes more. Each hour probably cost the client $1000s of dollars. The cost of running these meetings and tests probably cost the client well over $100K.

This is ignoring the costs of the associated hardware, the power for the backup datacenter, the cost of heating and cooling, and of course the licensing. I wouldn’t be surprised if they easily spend more than $1 Million a year in backups and the like.

And for what? A fairly low probability event?

I mean sure, if their system failed and they had no Disaster Recovery plan it could cost them 10s of millions of dollars in business and perhaps even end up putting 100s of people out of work. But they’d find other jobs. In the meantime, all that money spent on backups could have been spent on other things like lunches for for the employees (and maybe a pizza or two for select consultants). Think of the boost to the pizza economy that would have been!

So, don’t do backups.

Oh and don’t wear a mask. They’re hot, sweaty, and really not even .1% of the US population has died. And sure, you might get COVID-19, but you’ll probably survive. Sure, you might have some cognitive long-term issues, but hey, that’s sort of like the employees at my client above who, if the company went under, could simply find another job. I mean it’s not a big deal. Amirite?

Now let’s be serious. If a DBA came in to your business and said not to bother doing backups, you’d probably laugh at them. Do backups. And of course wear a mask. There is so much evidence it makes a difference. And, socially distance for now. And reconsider large family gatherings for the next month or two, if only to help increase the odds that you can have such a gathering a year from now.

Part of this post was prompted by a question on Quora from a user asking how to recover their database if they didn’t have a backup. I hated to tell them that it might be too late and there was quite likely little they could do. And I’ve read too many heart-wrenching stories from nurses who have had to hold the hand of a dying patient because they thought Covid was no big deal or a hoax. So, please, take precautions. Even if nothing happens to you, it may happen to those close to you.

That said, I will repeat an adage about backups I heard a few SQL Saturdays ago: “Backups don’t matter, restores do!” So do backups, but restore them every once in awhile to make sure that they actually work!

For the record, with my client, not only did the official DR test run go smoothly, we beat our RTO and RPO by huge margins. If disaster strikes, it’s highly likely this customer will weather it without threatening the future of the company.

Let me Try this… in Prod

A more light-hearted look at things today. There are certain phrases or ideas you hear that should give you pause. There’s the classic, “here, hold my beer and watch this.”

And of course what I heard yesterday while on a call with a client and their developer said, “well let me try this, what’s the worst that could happen?”

Just the other day, fellow #SQLFamily member David Klee tweeted:

A software vendor just told my client to restart their SQL Server after every backup. I am beyond speechless.

I read that tweet and literally sat there slack-jawed for half a minute. I swear I felt a disturbance in the Force as a million DBAs cried out in terror.

But this got me thinking of other bad advice I’ve seen over the years, such as “we reboot our SQL Server nightly because it has a memory leak and uses all the memory on our server. Oh and by the way, can you tell us why our server is so slow in the morning?” (Ok the 2nd sentence is partly made up, but I’ve had clients complain about performance issues which were due in part to them restarting their SQL Server.)

Or, “don’t index, keep everything as a heap.”  Yes, I saw that someplace, I’m still not quite sure the reason they had for that.

“Oh, we had a problem with this stored procedure sometimes running really slowly, so we hardcoded WITH RECOMPILE in. Now it runs consistently.” Fortunately by the time I had arrived they had stopped this particular process, instead they just had  scheduled task that recompiled it at least once a day. This one was interesting. After determining a couple of performance issues with this sproc, including parameter sniffing and using SQL Server 2005 XML parsing in it, I developed a far better solution that eliminated the parameter sniffing and in most cases eliminated the need to parse the XML at all. The client didn’t adopt it. A year later, a DBA brought in for another project took a stab at this sproc and came up with a similar solution (though he didn’t reduce the XML parsing like I did.). They didn’t adopt it. Finally, over 2 years after my initial recommendation, I was able to convince them to implement it.

“Oh, I have covering indexes for every column and include all the other columns!” Ok, I haven’t seen it quite this bad, but I’ve seen indexing that approached this level.

“We use NOLOCK, because it’s faster.” This is a common one. Now, I’ll admit years ago on a platform we built we did use NOLOCK because it was faster, BUT we also actually understood what it could do and honestly didn’t care about inconsistent results (we were serving up classified ads, so if you saw a different set on a page refresh, it was actually a useful side effect.)

In general, I find bad advice or bad ideas fascinating. I love to understand how they came into being. In some cases, like my employer’s use of NOLOCK, it was actually a conscious choice and we understood the drawbacks and accepted them. I wouldn’t necessary call that a bad idea once all the particulars were known. But on the face of it, it certainly looked like a bad idea, and that was SQL 7.0 and later SQL 2000. With more modern versions of SQL Server, I would argue there are betters solutions now.

In the case of my former client doing the RECOMPILE, that’s more subtle. Yes, their solution worked, but, it was clearly the wrong solution because they didn’t understand what the problem was, or how to fix it properly. So I’d argue this was a bad idea.

But when it comes to restarting SQL Server after a backup, I really still have no words. It’s not clear to me at all what problem the vendor thought they were solving or why this would solve it. This truly is a bad idea all around.

Fortunately, in the particular case of my client and their developer, the worst was, we’d resend 25,000 rows of data to Salesforce to be updated. That would take 2 minutes and not break anything. He knew this and was joking, but it was funny to hear.

So my question to my readers is: what’s the worst idea or advice you’ve heard and did it in retrospect have enough context to perhaps at lease explain why someone came up with it, or was it simply so bad you’re still shaking your head? This doesn’t have to be SQL related.

P.S. – my next Redgate article should be published soon. Keep your eyes open for it!

Covid Challenges

There’s no doubt that Covid-19 has had a huge impact on our lives. Professionally for example it means a change to a virtual SQL Saturday and a Virtual PASS Summit. It means some of my fellow #SQLFamily have gone radio silent for various periods of time as they’ve dealt with this crisis in their own fashion.

I know personally there are days I just want to go outside and scream. There’s so much disruption in the world and in my life. I miss being able to travel freely, to see as many friends in person as I’d like and so much more. I mourn the loss of schooling as we know it for my kids and everyone else’s kids.

20200313_183236

Early on during the pandemic – bare shelves where toilet paper and paper towels should be

But, I’ve also been very fortunate. I’ve had a few friends who have contracted Covid-19, but all have survived (though as we’re learning, surviving may include long-term impacts such as irregular heart rhythms, changes to mental status and drug uptakes and more). I know of one former co-worker who succumbed to the disease when it was in the middle of the NYC spike. Other than that, fortunately, the only deaths I’m aware of have been friends of friends. This doesn’t make the disease any less tragic, but just a bit more remote for me.

But, the above could be said of most of us and rather than focus on the negatives, I wanted to talk about some of the changes in my life this year and how I’ve tried to rise to the challenge. Before I do so, I want to be clear, that how one rises to the challenge is different for everyone and this is not meant to be a brag sheet as much as a statement of what I see as some positive things in my life. I’d love to hear some positivity from YOUR life in my comments. We all know how bad this year has been, let’s talk about some good stuff for a change.

Backpacking

One of my goals for decades has been to hike the Appalachian Trail. No, I can’t say this was the year. But, I had section hiked a portion from my Dad’s house in CT up through Dalton MA while in college and then a year or two later from Bennington VT up through Manchester VT (I’m still grateful to the poor soul who picked up my friend and I have 2 days of sweaty exertion without clean clothes!) But this meant there has been a gap between Dalton MA and Bennington VT.  Last month I was able to FINALLY put a backpack on and close part of that gap.  I’d love to post photos, but silly me left my cell phone in my car! So here’s one after I got back to my car.

Do I look tired?

After hiking 17 miles during a heat wave

I hope to get in the final 20 mile stretch in the coming weeks. This will mean that I can check Massachusetts off my list of states to hike for the AT.

Sourdough

Ok, show of hands, who here has dabbled in sourdough during this pandemic? I know I have. I kept a starter going for about 4 months before taking a break from it over the summer. I made a number of loafs of bread as well as some sourdough waffles (and I’ll admit sacrificed the first batch more than once to the Waffle-Iron gods.) I even added a bit to some homemade pizzas. Tasty stuff and to be honest, I’ll probably do another starter again come fall. I’ve always loved baking so this was just an extension of it.

20200505_120934

Roast Beef Sandwich with homemade sourdough bread!

20200725_190323

Two sourdough pizzas with home grown herbs

More Time with Family

Of course making that much pizza and waffles means I need someone to help eat it. Fortunately we have a full house this summer (and will this fall). So an upside has been more time with the family. Among other things, this meant, especially early on during the pandemic, more family walks in the area.

20200411_145101

Family walk near the house with leaden skies

Bicycling

Of course all that delicious food I’ve been making needs to be burned off. I’ve literally biked more this year than the last few years combined. As of today, that means over 850 miles for the year. This includes a 55+ mile ride this past weekend. I’ve really been enjoying it. I’ve been a bicyclist my entire life but have missed riding this much. I’m hoping next year to upgrade my road bike (open to suggestions) to replace my 30 year old Trek 520.

20200809_134643

You mean I still have to bike to the top of THAT? 20 miles in and about 7 miles to go, but that’s where all the altitude gain is!

20200809_142741

“It looks like we made it!” – after the climb

And I’m still hoping to complete my first century ride in over 3 decades (that makes me feel old!)

Speaking

On one hand I’ve done far less speaking for SQL events than most years. I believe SQL Saturday Albany was my first SQL event this year. But I’ve been asked to present virtually at 3 NSS Grotto meetings on “So this is your first rescue.” I’ve also been selected to speak at PASS Summit for the first time, so even though it won’t be in person, I’m excited! I’ve also volunteered to speak at the Denver User Group meeting on September 17th.

Webinars

I’ve taken advantage of the fact that so much is now virtual and attended some Red-Gate Live webinars, a few SQL WIT webinars and others. One piece of advice I’ll give here, if you can, attend what you can. You no longer have to be physically present for most SQL User Group meetings, I know several #SQLFamily members who have attended 2-3 User Group presentations in the same week! It’s one advantage of everything going virtual!

Virtual Get-togethers

I, and in some cases the rest of my family, have Zoomed with my mom, my aunt and others and almost weekly, with members of my #SQLFamily. It’s been a great uplift to see so many folks.

What’s Next?

I’ll admit, it’s been a different year. We had to postpone our NCRC National Weeklong Training Seminar until 2021. But, I just got approval to host a Modular Level 1 this fall. I’m still not sure we can pull it off, but if we can, it’ll be great.

I’ve really missed seeing a lot of folks in person.

Covid still looms large in my planning of travel and events. I don’t know what the next 6-9 months will bring, but I know I’ll try to make the best of it!

What about you?

What’s something positive you’ve been able to accomplish during this pandemic? I want to hear it!

And Remember

20200809_161758

We could all use a little support!

The Year So Far

Today happens to be the last day of the month and the last day of the quarter. And according to my calendar, it’s the 4th Blursberyday of the month of Holiecouw.

I decided to take a look back at my first post of the year: 2020 in Preview. Wow, a lot has changed in a scant three months. I mentioned I was reading Station Eleven. It’s set in a post-apocalyptic world after a world-wide flu pandemic. Little did I know at the time I’d be living that reality a scant 3 months later. Ok, this is not nearly as bad as in the book, but it does give on pause to think. We are living in a time of upheaval and it will be interesting to see how this current pandemic changes social structures for coming years.

I wanted to speak at SQL Saturdays. Well, almost every one I’ve put in for or was planning on putting in for has been cancelled or delayed. So much for that goal. On the other hand, members of the #SQLFamily have been holding Friday afternoon (and other times) Zoom hangouts as sort of a morale boost. So I’ve actually gotten to know a number of my fellow DBAs and fellow speakers, so that’s better.

Fortunately, I’m still working. As a consultant, you realize every meal may be your last meal, so you keep working at it and hoping more meals are coming your way. So far my biggest client shows no sign of slowing down, nor does my second largest client. I’ve been fortunate, I know a number of folks across many industries who have been hit with a temporary or even permanent job loss. This is going to be hard for many.

But, I’ve also been taking the time to do more webinars. Last week I sat in on a Redgate webinar on the state of DevOps that was quite informative. The next day, Kendra Little (also of Redgate) gave the WIT webinar and also talked about DevOps. Both were quite informative and I learned a lot. I look forward to the upcoming Redgate Streamed event.

I’ve been using git more and more. I started using it integrated with Visual Studio about two years ago I think. But, after seeing my son working on a project where he was using it at the command line, I decided it was time to start to do that and now for one client that’s my de facto way of checking in and out changes I’ve been making to the PowerShell scripts I write for them. Next up, more version control for the SQL Scripts. I’ve already written a small deploy script I use to deploy scripts and changes and more importantly to log them. So while that client hasn’t really adopted DevOps, I’m doing my part for my small corner of work.

My next goal is probably starting to learn how to use Docker more. Cathrine Wilhemson’s blog post on that has convinced me it’s time.

And I finally finished binge-watching Haven.

So, the last few weeks haven’t been exactly what I planned for, and the upcoming months won’t be what I planned on either, but it hasn’t been a terrible time. What about you?

P.S. While out biking the other day, a thought dawned on me. Many post-apocalyptic books (such as Station Eleven) have characters using cars, but more like carts, either pulling them themselves or with horses because once the gas runs out, you can’t make more. But I got wondering how having a large number of electric vehicles would play out in such a world. Yes, much of the infrastructure would be gone, but even if you had to carry panels with you (much like Mark Watney in The Martian) you could probably be far more mobile. Hmm…

It’s Easier the Other Way!

This is what someone said to me while biking up a hill the other day.

I have a certain bike route I do that includes stopping at the supermarket along the way. It’s just over 5 miles. Obviously over the course of the entire route I return to the same place I started, but the topography varies along the way. But the simple fact of the matter is that the supermarket is at a lower altitude than the house, and about 2/3rds of the way along the route in the direction I go.

So when I tell people about biking this route, I point out that it’s sort of a double-whammy. When I get to the lower point in the route, I go shopping. To finish my loop, my bike is often heavier with groceries and I have all the altitude to gain back (which admittedly isn’t much, a bit over a 100′) in a short distance (maybe 2000′).  It was along this section that my erstwhile adviser offered his advice.  My reply of course was that “true, but home is that way!”, I said pointing up the hill.

Unfortunately, sometimes one can’t do it the easier way. One has to do it the hard way.

But, this leads into something else I wrote on Quora.com: Do Bad Programmers Know hey write bad code? I only partly addressed the question, but to sum it up, I think the worst don’t, but the best programmers do, and sometimes intentionally.

The truth is, we probably should always be writing the best code we can. It should handle error trapping and handling. It should validate inputs. It should fail gracefully.

But often, we need a one-off script. Something that gets the job done here and now.

I recently did a 5-minute lightning round for my SQL User Group on the benefits of using PowerShell. I took to quick and dirty scripts I had written and rewrote them a bit for the presentation.  Afterwards, one of the attendees asked me a few questions about my stylistic choices in the code.  He was right in general, but I pointed out what my goal was. My goal was more to show what PowerShell could do than to actually show how to write good code in PowerShell.  That said, I probably should have written slightly better code, but this got the job done. It definitely didn’t need error handling and the like. It was good enough.

And ironically, this post is sort of like that. (I love it when I can get meta on my own posts). I have about a dozen drafts I have saved in WordPress. Most have just a title and a quick set of notes on what I think I should write about. This post was mostly written and just needed a bit more to flesh it out.  It was easier this way than trying to come up with a new topic for this week. Hope you enjoyed it. (and to keep things even easier, I’m going to let WordPress use a random photo for it!)

Snow Daze

I’ll be honest upfront. I have a love/hate relationship with snow. I love the sounds of a snowstorm. I don’t mean the wind if it’s there, I mean the quiet hush that can settle over the land, a muffled calm. It’s peaceful.

I love the starkness it can leave behind, everything white with a gray or black background. The lack of color is beautiful in its own way.

I love how it slows down life for a bit. You can’t go fast. You have to stop and take a measure of the moment.

And, I hate shoveling it. Sure, it’s a good workout, if you’re fit enough and not at a risk for a heart attack. But, it can be a pain. I drive a Subaru, so often I only shovel the end of my driveway where the snowplows leave their pile of detritus as they go by since once that freezes in place it can become an implacable wall. But this snowstorm, I did the entire driveway. It was deep enough I thought it prudent.  And it’s not just the weight of the snow that’s the issue. It’s moving it to a place that’s out of the way.

I’m a person who actually loves the seasons. I love how they mark the inexorable passage of time.

“One Christmas was so much like the other, in those years around the sea-town corner now, out of all sound except the distant speaking of the voices I sometimes hear a moment before sleep, that I can never remember whether it snowed for six days and six nights when I was twelve, or whether it snowed for twelve days and twelve nights when I was six.” – Dylan Thomas A Child’s Christmas in Wales

I’ve been alive for over a half-century now and at times it seems the years fly by faster. The snippet from Dylan Thomas reminds me so much of Falls Village CT, the town I grew up in. In some ways it never lost a certain Victorian charm.  We were part of the modern world, but separate enough that we were ensconced in a tiny bubble. In the winter, I’d lay awake on a snowy morning hoping to hear the snow plow go by.  We’d build forts in the snow and have epic snowball fights. We’d come in sopping wet and warm ourselves by the wood stove and drink hot chocolate and share epic tales amongst ourselves.

When it got a bit closer to Christmas we’d go to the nursery and buy a 14′ tall tree, because we could.  We’d decorate the first 8′ and then above that, the best we could.

It’s not Christmas yet here, but at GMS Headquarters it’s slowly arriving:

20191203_094342

Christmas Lights

And soon I’ll start listening to Christmas music.

And I’ll try not to think about the next round of shoveling I have to do.

I’d love to sit around all day sipping hot chocolate and doing nothing, but there’s work to do and eventually more snow to shovel.

And I can hear the occasional plow go by, getting the roads fully clear.

All is well here at GMS Headquarters.

 

Sleep, Perchance to Dream

I’ve skipped two weeks of blogging, which is unusual for me. The first time I’ll admit I was simply too tired after flying back from SQL Summit in Seattle. That, combined with catching up on work for my largest client meant I simply didn’t have time. And last week, well Monday night I was sure I was coming down with the flu and had a terrible night’s sleep and was in a brain fog all day Tuesday.  Now I have no idea if it was the flu (I tend to doubt it) but by Wednesday or Thursday I was feeling a lot better.

And, then last night, I barely slept either. So suffice to say, I’ve had sleep on my brain a lot lately.

I find sleep and dreaming to be fascinating aspects of evolution. When you stop to think about it, unless you’re an apex predator, sleeping would appear to be an evolutionary poor choice in many cases. Depending on the animal, it can spend anywhere from 2-3 hours asleep (perhaps broken up over the course of the day) to 20 hours.

And in fact, predators often tend to sleep more, which conserves energy, while prey tend to sleep less (so they can more easily flee said predators).

Some animals in fact are capable of unihemispheric sleep, i.e. only half of their brain appears to go to sleep. In fact dolphins in pods appear to sleep such that if they’re on the outside of the pod, the side of the brain that goes to sleep is opposite of the eye on the outside of the pod. They literally sleep with “one eye open” looking for danger.

Yet, despite the risks to prey, they still sleep. It seems pretty universal and something that as far as I know, all vertebrates do to some point. So it seems pretty necessary. And we’re learning at least in humans that chronic lack of sleep can lead to issues such as dementia later in life or even a shortened lifespan.  It seems the phrase, “you can sleep when you’re dead” tends to mean that your death may come even sooner if you chronically undersleep.

And when we sleep, we don’t just basically stop interacting with the outside world, we create a fantasy world inside our heads. I’m a person who can often remember his dreams and they tend to  be vivid and rich in detail. When dreams incorporate elements of places I’ve been or seen I’m not surprised. But then occasionally I will dream of places I know I’ve never been, houses I’ve never been in, landscapes I’ve never seen in such detail. It amazes me that my brain can, to use a computer term, render such rich detail in what appears to be real time.

In any event, right now, sleep is on my brain, but work calls.