Thoughts about professional development, technical communication, technology, and living life
I’m just some guy living in upstate New York who’s sharing his thoughts with the rest of the world. I’ve worked in various positions in technology since 1989, discovered that I have a knack for writing and communication, and presented my first SQL Saturday presentation in 2015. It was there that I realized that my thoughts and opinions could actually be helpful and useful to other people.
I’m also a musician. I started playing the piano when I was 7, the clarinet when I was 8, and I picked up the saxophone and mallet percussion when I was in high school. I’m also a songwriter; click here to give my demos a listen!
So kick back, grab a cup of coffee, and feel free to contemplate (or scrutinize) my thoughts.
As some of you might be aware, I’m the person who handles communications and branding for the Albany local SQL user group. As such, I’m responsible for sending out group announcements, updating the calendar of events, and maintaining whatever social media resources we might have.
Last week, I was preparing the announcements material for our April meeting, and in doing so, I took a long look at our “logo” (seen here on the right). There were many things that I found amiss. First, the logo, which we had had for several years — I’ve lost track of how long — was unwieldy and no longer representative of our group. Second, it used the PASS branding (and the REALLY OLD branding at that), which needed to be removed since PASS ceased operations in January. Finally, it was not dynamic — we were using it universally as a logo and an icon, and it really did not function well as such. I spoke to Greg and Ed, our user group’s co-admins, and got their blessing to come up with a new logo for our group. (Besides, I needed the design practice!)
I sat down and tinkered with some ideas. I tried out some fonts and visual schemes. Ideally, I wanted to incorporate some specific design elements: New York State, something representative of the Albany Capital Region where we’re located, a technical-looking font, and the universally-recognized (at least to data professionals) database icon. I wasn’t sure what kind of color scheme I wanted to use, but as it turned out, I started out using blue and gold for the fonts (which, unofficially, are considered to be New York State’s colors), decided that I liked them, and stuck with them.
My initial idea was to superimpose the user group acronym (CASSUG) over the outline of New York State; those are the designs you see here to the right. I tried a couple of different fonts, including one (which you see in the second image) that included NASA in the font name. (I decided that I liked the other font better.) I positioned the database icon over where Albany is located, which would satisfy my requirement of representing the Capital Region.
While I was generally happy with the results, I also wanted to take another approach. I downloaded a line drawing image of the Albany skyline and placed the CASSUG text logo underneath it. I liked the idea and decided to run with it; however, I needed to find another image, as the skyline image I used could potentially have violated copyright restrictions (I did not post it here for exactly that reason). I had to find another image, but I was unable to find one that I liked. I decided that the only way I could come up with a suitable skyline outline image was for me to create my own.
I opened MS Paint and hand-drew a simple representation of the skyline. I decided to represent four local landmark structures in the drawing (and anyone local to the Capital District knows that one of those structures had to be The Egg — it is the one landmark building that instantly identifies the Albany skyline, just as much as The Pyramid identifies Memphis, the Carrier Dome identifies Syracuse, or the Space Needle identifies Seattle).
I thought the outline came out fairly well, but I had to make sure that I did it justice, so I posted it to my Facebook and asked local friends if they could identify the buildings. (If you’re looking at the logo at the top of the page, the buildings represent, from left to right, the Corning Tower, the Egg, the State Capitol, and the Smith building.) The outline was not to scale and it wasn’t perfect, but it didn’t have to be; it just needed to be recognizable. Everyone correctly identified The Egg, and most people were able to correctly identify at least two of the four structures. That people recognized the skyline told me that I had done my job.
I placed the CASSUG acronym and accompanying text underneath the skyline outline. I wanted to make sure the acronym was spelled out for the benefit of those who wanted to know the acronym’s meaning. As a final design idea, I took the New York State outline, placed it to the right of the acronym, and superimposed the database icon on top of it.
The end result is the image that you see at the very top of this article.
I ran my ideas past the user group members, and people overwhelmingly said they liked the Albany skyline image.
I like how the image came out. I intentionally created a relatively large image (2830 x 1250px); you can create smaller images from a big one, but you can’t create big images from a small one. The image is versatile; for example, if we need a banner, we can use the acronym and text without the skyline; if we need a thumbnail, we can use the icon over NYS, and so on. I started updating our Meetup page with the new design, and I’ll incorporate it into other materials as well.
What do you think about my rebranding effort? Like it? Hate it? Let me know in the comments below.
Topic: How Intelligent Query Processing improves T-SQL performance
Do you write T-SQL for a living and want to improve its performance? Do you wish your 3rd party vendor code would magically go faster? Then you need to learn about Intelligent Query Processing in SQL Server 2019.
While IQP has benefits for both operational and development DBAs, this presentation will focus on T-SQL capabilities. We will explore how IQP impacts Table Variables, Scalar User Defined Functions, and Batch Mode for Rowstore.
When you leave, you’ll have a solid understanding of how SQL Server 2019 can improve your T-SQL code performance, potentially without a single code change!
Our online meeting schedule is as follows:
6:00: General chat, discussion, and announcements
We usually wrap up between 7:30 PM and 8:00 PM.
Please RSVP to this Meetup using the above link, then use the online event URL to join (note: you MUST RSVP for the URL to be visible). We will send out a meeting password as we get closer to the event.
Thanks to our sponsor, Datto, for making this event possible!
As a result of the COVID-19 pandemic, I’ve been spending a lot of time — probably too much time — at home. As such, one of the pitfalls is that I’m probably watching way too much TV. Yes, I know, I really need to get out of the house more.
With that, one of my more recent addictions is old Emergency! reruns on COZI TV. I have childhood memories of this being one of my favorite shows; I remember riding around on my bike as a kid, making a siren noise and pretending I was a paramedic. Outside of watching sports, I seem to have a thing for medical dramas — I’ve been watching shows like Transplant and the Chicago series, and I’ve also been a fan of M*A*S*H for many years.
Watching these old Emergency! reruns and comparing them against current Chicago Fire episodes makes me think about how much EMT, EMS, and paramedic services have evolved throughout the years. I think that evolution is fascinating — enough to the point that I’m writing a ‘blog article about it.
Emergency services changed all that. Before those days, an ambulance was nothing more than a station wagon with a stretcher; the idea was to get an injured person to medical help as fast as possible. Unfortunately, many people died before they could get the help they needed.
(I should note that the idea of getting medical help before transport was actually depicted in M*A*S*H — injured personnel often went to a battalion aid station before being sent to a M*A*S*H unit.)
In the show, the idea was to provide medical assistance — more than basic first aid, but less than a doctor’s services — to make the patient stable enough to transport him or her to the hospital. Johnny and Roy, the paramedics, were trained to apply those services, but in order to do so, they needed to contact the hospital (using the famous biophone) to obtain both instructions and authorization to administer medical services. Additionally, the paramedics served a dual role; while they were licensed to provide medical assistance, they were (I’m guessing first and foremost) firefighters whose primary role was search and rescue. They drove a truck mostly designed for search and rescue operations; it was not capable of patient transport. They had to call for an ambulance separately in order to get the patient to the hospital.
These days, these roles are different (Chicago Fire does a good job of depicting this — I should also note that, as far as I understand, Chicago Fire and Emergency! are actually technically accurate; they aren’t just medical gobbledygook). In many locales (it may differ in different jurisdictions — I’m mostly generalizing this description), fire department paramedics are themselves medical professionals; they no longer require instructions or authorization from doctors (again, to my knowledge, this depends on the jurisdiction). They themselves drive the ambulances, and the ambulances themselves are often emergency rooms on wheels, a far cry from the vehicles where their only function was to transport patients as fast as possible. And the roles of paramedic and search/rescue personnel are mostly different, not combined as in Emergency! (in Chicago Fire, these different roles are depicted by Ambulance 61 and Squad 3, respectively).
A couple of personal thoughts about the comparison between Emergency! and Chicago Fire: first, although I haven’t been able to find any citations to support this, I don’t think there’s any coincidence in that Chicago Firehouse 51 shares a unit number with LA County Fire Station 51 (which would support the influence that Emergency! had). Second, I would love to see an episode of Chicago Fire in which the characters of John Gage and Roy DeSoto make at least a cameo appearance. (Dick Wolf, if you’re reading this, can you make that happen???)
I hope you had as much fun reading this impromptu history of emergency services as much as I did writing about it (and I apologize for any inaccuracies I might have written — please feel free to correct them in the comments if I did). Funny what pops into your head while you’re watching TV…
Yesterday, a good friend of mine texted me, asking me to send him my resume. This particular friend works for a major nationwide consulting firm. I won’t say which firm, but I will say that it’s a household name. In his position, he is often in a position to hire, and he is well-connected.
After reviewing my resume, he texted me back again, saying “let’s talk. I have some ideas that might make your resume even better, and I want to make sure those changes are implemented before I pass your resume along. Do you have time to talk tomorrow?”
I got off the phone with him a little while ago, and what he had to say was eye-opening — and in our conversation, I managed to improve my resume even more.
His advice (and I’m paraphrasing here): “what projects are you the most proud of? As a hiring manager, that’s something that stands out to me. Your work experience looks good, but everything you mention is general day-to-day activities. You don’t really list much in terms of a specific project you worked on. For example, something like ‘I designed such-and-such app that helped people do their work more efficiently by whatever-it-did-to-help-them, saving the company millions of dollars’ is something that would stand out to me. What are you the most proud of? Make sure you highlight that in your resume.”
I did raise a concern. I told him, yes, there is a project that immediately pops into my head, but it goes back many years; in fact, it’s a project I worked on for a company that goes outside of the past ten years. He told me, “that doesn’t matter” (he also relayed to me a project that he was proud of that took place over twenty years ago). “I’m proud of that, and I still include that in my profile.”
I had my resume file open in front of me during our conversation. While we were talking, editing ideas started forming in the back of my head.
His suggestion was to include these projects in my work experience, but I decided to leave that section alone. Instead, I decided to rewrite the Career Summary section of my resume. I wanted to do it this way for a couple of reasons: one, this appears at the top of my resume and would be the first thing that prospective employers read, and two, rewriting the Work Experience listings would have been a lot of work, and could have potentially resulted in document restructuring issues.
In terms of projects in which I take pride, I immediately wanted to mention a server inventory database that I built years ago; whenever anyone asks me about a professional project of which I am the most proud, this is the one that I always think of immediately. I also wanted to mention my involvement with recovery efforts after 9/11 (my Disaster Documents presentation is based on this experience), so I included that on the list as well. I also wanted to include a project that was much more recent, so I included a user guide that I wrote from scratch, including developing the Word template for it (additionally, I wanted to highlight that it was for a SaaS application). Finally, I also wanted to make mention of a project in which I learned about MVC concepts (unlike the other projects, this one does appear in my Work Experience section).
There were also a few other things I wanted to do with my Career Summary section. A while back, I came up with my own personal tagline, but it did not appear in my resume. I wanted to make sure it was included. Additionally, whenever I submitted my resume, I was finding that I was experiencing confusion on the part of prospective employers. I was (and still am) targeting primarily technical writer positions, and I was often questioned, “with all this technical experience, why are you targeting tech writing jobs?” I wanted to restructure it in such a way to explain that I was drawing upon tech writing as a strength, without sacrificing the fact that I had a technical background.
Before I made my edits, the Career Summary section of my resume looked like this.
When all was said and done, this is how it came out.
Additionally, I had to make changes to other sections of my resume, entirely for formatting purposes. I wanted to ensure that it would fit on two pages. I consolidated a few sections of information that, while helpful, I didn’t think would be as important.
I made the changes, updated my resume files (Word and PDF), and resent it to my friend. As of this article, I’m still waiting to get his feedback (he texted me to say he was busy, but would look when he had the chance), but personally, I like the way these changes came out.
(Edit: I heard back from my friend; his advice was to keep the accomplishments to one line each. In his words, “make it punchier.”)
You don’t necessarily have to do this within your Career Summary section; this was how I decided to approach it. If you can incorporate these highlights into your work experience listings, then by all means, do so.
I want to mention one thing when adding “proud accomplishments” to your resume. There is a fine line between talking about accomplishments you’re proud of and bragging about things to stroke your ego. Keep in mind that the purpose of a resume is to get you a job interview. Talking about projects you did that made a difference can help with that effort. Bragging about things you did (or didn’t do) will not. Nobody cares about your ego; they care about what value you can bring to their organization.
So what are your thoughts on these changes? Feel free to comment on them, especially if you’re a recruiter or a hiring manager.
Before I get into this article, I want to make one thing extremely clear. This article has NOTHING to do with circumventing pandemic protocols or ignoring the advice of Dr. Fauci, the CDC, the WHO, or any other medical professionals. That is NOT what I’m about to write. Please, please, PLEASE keep wearing your mask, get your COVID shots, and maintain physical social distancing. Above all, be safe.
Now that that’s out of the way, let me get into what prompted this article.
Earlier today, this random thought popped into my head. I posted it to my Facebook, and I want to share it with all of you as well.
I’m sitting here thinking that possibly the thing I miss most during the pandemic is simply the ability to go out and have a drink with a friend.
Granted, the part about “having a drink” is irrelevant. I say that as a catch-all for going out for a beer, wine, coffee, soda, lunch, dinner, dessert, watching a ballgame, going to a movie, and so on. (I could also say “hanging out in your friend’s living room;” it’s within the same spirit of what I’m writing about, but it’s in a private, not public setting, which people are likely doing, anyway — hopefully, COVID-safely. But I digress.)
I don’t know whether the fact that today is St. Patrick’s Day had anything to do with this thought, but what did prompt it was an urge — and a basic desire — to pick up the phone, call a friend, and tell him or her, “let’s meet up at (some favorite local hangout) this Friday night*.”
Raise your hand if you miss getting together with friends — and I’m not talking about virtually over Zoom. Yeah, me too. The last in-person social event I remember attending was the after-party for SQL Saturday out in Rochester in February of last year. Since the pandemic began, I’ve had almost no in-person interaction with any of my friends, other than my wife (I’ve had a few, but they’re few and far-between). I would love to get together with friends to talk hours on end about world events, music, sports, family, or even about absolutely nothing. Don’t get me wrong; I love my wife, but there’s something to be said for sharing your thoughts, news, and feelings with someone whom you’re not sharing your lockdown experience 24-7 over a forum other than Zoom. Humans are mostly social animals, and interaction with other humans is therapeutic, even if you’re introverted.
(And if you do consider yourself to be introverted, don’t feel obligated to talk. Just being there is very helpful, too.)
Every now and then, I’ll get on the phone with a friend of mine, and we’ll talk for hours — sometimes, about nothing more than random thoughts that pop into our heads (if he’s reading this, you know who you are). We’re the kind of guys who can spend hours talking about “absolutely nothing.” Regardless of what we talk about, I find our conversations to be therapeutic, and I feel like a lot of stress has dissipated, even if I do have something on my mind.
So, if you’re able to do so COVID-safely, take time to hook up with your BFF. You might find the experience to be rewarding and stress-relieving, especially during this time of pandemic and social distancing.
I wrote a while back that, while digital documentation dominates the world today, paper isn’t necessarily dead. That said, my friend, Greg Moore, notes an issue with printed material that didn’t occur to me, and it has to do with data security. Read on for more.
About 35 years ago in the fall, a housemate of mine got a phone call, “hey, I’m a caver who’s passing through your area this weekend and found your name in the NSS Members’ Manual, I was hoping maybe you could hook me up with a caving trip.” Well it just so turns out that the RPI Outing Club traditionally does Friday night caving. (Why night you might ask? Well it’s always dark in the caves, so going at night leaves time on Saturday and Sunday to hike, rock-climbing, canoe, etc.) My housemate invited the guy along and he joined us caving (I think in Knox Cave).
I mention this story because it’s an example of how the NSS Members’ Manual has often been used over the years. Talk to enough old-time caves (especially those who recognize the smell of carbide in the morning) and many will mention how they’ve…
It’s that time of year again — when die-hard sports fans (and even some non-sports fans) start filling out their bracket picks as they make their predictions for the NCAA tournament, a.k.a. “March Madness.”
Of course, I am the first to admit that my devotion to my alma mater often influences my decisions when I make my NCAA tournament picks. If I filled out my bracket completely with my heart, I would have Syracuse winning it all every single year (and who cares about the remainder of my picks). As such, each year when I fill out my bracket, my bias toward my beloved Orange often influences my picks. Each year, a part of me starts rationalizing how the Orange will defeat (fill in name of opponent here). I’ll often have thoughts such as, “so-and-so has a hot shooting streak going,” or “our opponent usually struggles against the 2-3 zone,” and so on. More often than not, my heart overrides my head when I pick my Orange to upset their higher-ranked opponent. Of course, I usually end up disappointed as my Orange are sent back home to Syracuse.
The bias works in reverse as well. Anyone who follows college basketball knows about Syracuse’s heated rivalry against the hated Georgetown Hoyas. As such, we Syracuse fans are likely to pick against Georgetown in their part of the bracket. (That said, I watched Georgetown play in this year’s Big East tournament final, and they looked like world-beaters. They’re seeded #12 vs. #5 Colorado in this year’s tournament. I wouldn’t bet against them. If you’re looking for a #12 to upset a #5, you could do worse than this one.)
I believe that there’s a professional lesson to be gleaned from this: our biases often get in the way.
We all have biases of some sort. They come from our worldview, our culture, how we were raised, what we’ve learned, and our belief systems. Everyone has a perspective on how they see the world, and everyone tends to be biased against anything that doesn’t align with that perspective. We’ve seen extreme examples of this throughout the world over the past few years (don’t worry, I will not talk about politics here). At the professional level, our worldview often affects decisions that we make. These biases often establish themselves as blind spots, so no matter how much we claim to be “unbiased,” we often don’t know that they’re there. Probably one of the biggest oxymorons is “unbiased decision.” Realistically, there is no such thing. This isn’t necessarily a deficiency; rather, this is part of what makes us human.
So what can we do to reduce (not eliminate — that is unlikely) bias? For one thing, keep an open mind — no matter what you think, realize that there might be another way. To rattle off a couple of clichés, “there’s more than one way to skin a cat*,” and “minds are like parachutes — they only work when they’re open.” Empathy often goes a long way as well. Put yourself in someone else’s shoes — what would this person think if you were in his or her position? I’ve often found that this approach makes me more successful professionally; it improves my work quality, and it brings projects to a better conclusion. Effective communication (another topic for another time) is crucial here; it adjusts your thought process and helps you to achieve that end.
(*I like cats — I have two of my own — so I tend to not like this saying.)
I would also think about what could happen with a decision. There are some decisions that are okay to make with your heart — proposing to your significant other, for example — but there’s also something to be said about listing the pros and cons of a decision. Do the benefits outweigh the issues? Can you live with the consequences if something goes wrong? And so on it goes.
Making decisions is hard to do — this is why managers often get paid the big bucks. If you’re able to minimize the amount of bias that goes into your decision-making, chances are you’ll do alright.
I don’t think there’s an experienced web developer or DBA who isn’t familiar with the classic “Bobby Tables” XKCD cartoon above. Just about any time you mention “Bobby Tables” to most experienced IT people, (s)he will immediately know to whom you are referring. Most experienced web developers and DBAs are aware of SQL injection and will take steps to ensure that it’s addressed. Grant Fritchey has a presentation about SQL injection (you can view and download his slide deck here) in which he’s not shy about his desire to “kill Bobby Tables.” I’ve seen him present it at SQL Saturday, and I highly recommend it.
Of course, the keyword here is “experienced.” For people who don’t have that experience, and who build websites that connect to databases, I think it should be lesson #1. Today, I had an experience that reminded me of that.
Earlier today, my sister texted me, asking for help with editing SQL code. She asked me what I use to edit SQL. I told her I generally use SSMS, although you can edit SQL code with a straight-up text editor, if necessary (she is not a DBA, so I felt somewhat comfortable telling her this). She told me she had to clean up spam comments in her data.
That last comment immediately grabbed my attention. I then asked her, how are your security settings, and do you have data backups.
She told me: that IS her data backup.
If her earlier comment had gotten my attention, this one immediately set off alarm klaxons in my head.
I started thinking about what could have corrupted her data to this extent. I started asking questions about her admin setup (I should’ve asked her to make sure she wasn’t using “sa” or “admin” as her admin login — Sis, if you’re reading this, make sure you check this!), including her passwords. Her admin password was pretty secure (thankfully).
She then mentioned her website. I asked if her website was accessing her data. She said yes.
I asked her about Bobby Tables (admittedly, in my advancing age, the term “SQL injection” didn’t immediately come to my mind). Her response: “who?”
At this point, I was convinced that I had my answer. Her database had been corrupted through SQL injection attacks. I told her to make sure you address your SQL injection issue before you even think about your data backups. Worrying about your data backups before addressing your SQL injection issue is like trying to rebuild your house before you’ve put out the fire.
I’ve been talking about SQL injection all throughout this article. For a brand-new web or database developer who has no idea what SQL injection is, here’s a quick primer: it’s a data security attack in which a hacker breaches your database by sending SQL commands through your web interface. I won’t get too much into how it works; instead, here are a few links that explain what it is.
So consider this a warning to any fledgling developers who are interested in web or data development: data security issues, such as SQL injection (and there are many others) are a big deal and need to be considered when building your setup; it’s not as simple as just setting up your website and connecting it to a database. By not considering this when you first assemble your system, you might be setting yourself up for major issues down the road.