Ahh, November. The PASS Summit is kicking off tonight (with several great precons going on yesterday and today). Thanksgiving is right around the corner (for everyone in the United States). Right after Thanksgiving are the Black Friday and Cyber Monday sales. And since this is the first Tuesday of the month, it’s time for another T-SQL Tuesday. The brainchild of Adam Machanic (b|l|t), and designed to strengthen the SQL Server blogging community, T-SQL Tuesday gets a lot of bloggers posting about a specific theme, chosen by the host blogger (today, that’s me). And something that is really neat is that this month wraps up the 10th year of these T-SQL Tuesday posts. Wow!
Not too long ago, I ran across a situation where I was scratching my head, wondering why something had been implemented the way it had been (you can read about it here). And that gave me the idea for this T-SQL Tuesday topic.
In this month’s T-SQL Tuesday, I want to know about things that you’ve seen others do in SQL Server that have left you wondering “What were you thinking” (maybe even with a few #$%^& thrown in)? Tell us what you saw, why you thought it was so crazy, and what you did about it (if anything). And please… just tell us what you saw, not who you saw doing it.
I’m excited about DevOps. I first heard the term as a sales person at
an IT company. I recognised the gulf between the sales and tech silos
at my company and I could observe conflicts with many of my customers
between developers and DBAs. I had a lightbulb moment when I realised
the potential – if you could just get all these different people and
teams to work together effectively with a shared vision.
I’m also increasingly aware that we aren’t just conflicted in our
work lives. I live in the UK and my society is increasingly polarised. I
know the same is true in lots of other places. Our community tends to
communicate through social media, most commonly on Twitter, where we
create echo chambres for ourselves as we follow people who share our
views and we consciously or unconsciously unfollow or block anyone who
disagrees with us. Even if we try to avoid it, the algorithms tend to
show us the content we like to read anyway.
It seems to me that at work, online, and in society at large we are
becoming more stubborn and less open to exploring ideas that challenge
us. It’s my belief that if we were all (myself included) more open, not
just to talking, but to genuinely challenging our existing ideas, we
would all benefit. I believe that’s true both in our professional and
our personal lives.
I would like you to write about something in your IT career that you
have changed your mind about. What was your original opinion? Why did
you believe that? What do you believe now? Why did you change your mind?
You are welcome to discuss technical or non-technical topics. Feel
free to go as deeply technical or as personal and human as you like.
Brain-melting technical posts about the inner workings of the SQL engine
or effective machine learning architectures in Azure are great. SQL 101
posts or perspectives on age old debates such as tabs and spaces or
where to put your commas are great too. Human posts about effective
teamwork or diversity or wellbeing in tech are also great.
I hope that if we think hard about the ways we have changed our minds
in the past, and if we read about how and why other people have changed
their mands, it will help us to have better conversations in the
future. I hope this will help us to work together more effectively at
work – and maybe in other parts of our lives as well.
When Memory-Optimized Tables (MOT) were announced for SQL Server, there was a lot of excitement about the technology. After this was released on SQL Server 2014, feelings waned with a lot of restrictions and limitations for using the technology. I remember a panel at a conference years ago where most of the MVPs and experts recommended against using the technology for most users.
Today there have been improvements (2017, 2016) in the MOT features, restrictions have been removed, and all editions can use MOT tables. That’s not to say that this is suitable for every table or situation where a DBA or developer suspects performance issues.
This month I want to ask you about when you’ve made that decision. This can be to use MOT tables or NOT to use MOT tables. This could be a simple thought, a POC, or actual testing of the feature.
Some ideas for you to write about:
Performance analysis of MOT tables that affected a decision
Reading the limitations and knowing this would prevent their use
A scenario where MOT tables improved performance
A successful implementation of MOT tables and what needed to change in your app
A failed attempt at trying MOT tables
There might be other things that are related to MOT technology, but let us know this month what you think of the technology and how it has (or has not) impacted your application.
Ever since Microsoft said SQL would run on Linux, I was excited. Finally, all the Linux administrators I had worked with could be quiet and the Oracle DBAs that said they were multi-platform. I organized the PASS Linux Marathon back in December 2017 and started the website, WeSpeakLinux, in efforts to help people learn more Linux skills (including myself) as Linux is different than running Windows. While I know it takes a while to adopt new technologies; I was wondering what it would take for people to adopt SQL on Linux. Alternating I’m offering up for you to blog about what everyone should know when working with SQL on Linux or anything else related to SQL running on Linux.
Yesterday was my 41st birthday. Twenty years ago, I remember my best friend asking me, “Where do you see yourself when you’re 40?” My reply was something like, “I can’t see myself as a 40 year old.” For some weird reason my mind went blank at 40. It wasn’t like I thought I’d be dead by 40, but I remember thinking of 30 or 35, but not 40. Maybe because 40 was twice my age and just too “far into the future” to think about?! But in a “blink of an eye” here I am twenty-one years later. Funny enough, now I can see myself as an 80 year old. Weird.
Time sure does fly by.
This past weekend I presented at SQL Saturday Dallas. Unfortunately, I had lost my voice when I landed Thursday afternoon. I did all I could to get it back by Saturday morning by drinking lots of liquid and getting rest. I got enough of my voice back to do my session (which was first thing in the morning) but had to leave shortly after for some much needed rest. I spent the rest of Saturday in bed and some of Sunday before I had to head to the airport. To top it off, I had 5 flight delays and ended up spending 7 hours at Dallas airport.
During those long hours at the airport, I had some time to introspect. I went over my session. I noticed how over the past couple SQL Saturdays I’ve spoken at, the younger attendees approach me asking questions at the end. The elder attendees mainly say, “thanks!” and the young attendees stick around and ask questions. I absolutely admire and respect that. A lot their questions are very easy to answer. But it’s easy *now* since I have more years of experience.
That brings me to this month’s T-SQL Tuesday idea…
This is my invitation to you this T-SQL Tuesday: Write your 20 year old self a letter. If you could go back in time and give yourself advice, what would it be?
Here are a few potential ideas:
Things you would have done differently
Any words of encouragement
A “Do” and “Don’t Do” list
Obviously we cannot go back in time and live all over again. However, we can write down our advice so that way we have it ready for the next young aspiring technical professional (or any profession for that matter) who comes seeking advice.
As the saying goes, “learn from your mistakes.” I say, it would be even better to “learn from the mistakes of others so you don’t even have to make them.”
Remember to have fun during this process. I can’t wait to share my letter next week!
A few years back I started running regular SQL workshops in my
workplace. Teaching beginners the basics of querying databases with SQL,
as well as more advanced topics for the more advanced.
During one session we were discussing the issue of knowledge acquired
being quickly lost when people didn’t get the chance to regularly
practice what they’d learnt. One of the attendees suggested that I
should be assigning them homework.
I could see from the faces of everyone else present that the word
“homework” struck an unpleasant chord. Perhaps reminding them of school
days struggling to get boring bookwork done when they’d rather be at
relaxation or play.
Okay, so homework maybe wasn’t going to go down well, but I figured
everyone likes a good puzzle. So every Friday I started creating and
sharing a puzzle to be solved using SQL. This went on for the best part
of a year, then other things got in the way and gradually I stopped.
This is my invitation to you this T-SQL Tuesday. Write a blog post
combining puzzles and T-SQL. There’s quite a few ways you could approach
this, so hopefully no-one needs be left out for lack of ideas:
Present a puzzle to be solved in SQL and challenge your readers to solve it.
Or give us a puzzle or quiz about SQL or databases.
Show the SQL solution to a classic puzzle or game.
Provide a method for solving a classic sort of querying puzzle people face.
Show how newer features in SQL can be used to solve old puzzles in new ways.
Tell us about a time you solved a problem or overcame a technical challenge that was a real puzzle.
Or just make your own interpretation of “puzzle” and go for it!
There’s some great stuff out there already. Itzik Ben-Gan’s done a
bunch of them. There’s Kenneth Fisher’s crosswords. The SQL Server
Central questions of the day. Pinal Dave’s SQL Puzzles. And there’s a
few on my blog too if you take a look back:
Let’s puzzle together, trying to solve the challenges each other sets, and make it a real puzzle party!
This month’s T-SQL Tuesday is about what do YOU use databases for in your personal life that you are willing to share?
We work with data all day and sometimes all night long. When we turn off work, some of us continue to use data and databases to enhance our professional growth and learning. I know on some days the last thing I want to look at after work is- another screen full of data. Kinda of like how some auto mechanics have poorly running cars. How can that be? Because they work on cars all day long and they are tired of working on cars- including their own.
But I’m curious- outside of work and learning, what do you personally use databases for? Tracking books you have, recipes, collections, etc? While it can be said using databases for personal use could be either overkill or a hammer in search of nails on the other hand, it is exactly what they are for- storing data.
Years ago I challenged my daughter- I would give her $100 to go through a book about databases, sit her in front of SQL Server Developer Edition, and we would build a database to track our VHS collection. (VHS, heh, yes I’m old. Now get off my lawn).
It was great except they used the non-ANSI syntax for joins…
We whiteboarded and created a simple database.
The experiment was a ton of typing. And linking to the movies in Wikipedia. And then capturing some information about personal family events based on date. BTW, she is now a film student in college.
More than twenty years ago I was into FileMaker Pro working for a defense contractor. We needed a way to store many pictures about launch site equipment. It was my first time trying to figure out: a) how to store pictures in a database b) how to store metadata about the pictures and c) how to search and retrieve the pictures. There was no auto-tagging, object recognition or any sophisticated technology to help me out. So I used what tools I knew about. The project was a success but took way more time than I would have liked.
I am into pictures and have been looking at ways to store and retrieve them for quite some time. Some things work and some things don’t work so well. On 06Apr19, I will be presenting in Colorado Springs, Colorado for SQL Saturday on Storing Images in a Database – Tips and Techniques.
As I learn more about Python I’ll be able to do more sophisticated things. Like the kind of things I couldn’t do twenty years ago. One of them I want to tackle is how to extract text out of images. Ever see people taking pictures during a presentation with their smartphones? Or see code in a YouTube video? How do you get the text of the code out? Most people I think would say they just re-type it. But what if you could use software to do that for you? So I’m fiddling with Python-tesseract.
So what do you use databases for in your personal life that you are willing to share? Blog about it. I’m curious to see the range of uses and even if you don’t use databases for personal stuff, what do you see as the future of organizing personal data?
I’ve been listening to audio-books on the way into work, and the current one struck a cord with me.
It’s “Can’t Hurt Me” by David Goggins and it is about his story from a rough upbringing “into a US Armed Forces icon and one of the world’s top endurance athletes“.
One part of the story that has stuck in my mind is where he talks about “dipping into the cookie jar“. It’s an analogy that is easy to follow when you understand it.
Dipping into the Cookie Jar is about when the going gets tough and
you don’t think you can handle anymore, then you think back about your
accomplishments and take some sustenance from them. You dip back into
that cookie jar and use whatever energy that provides to keep going.
Things are going to be tough for everyone at some stage or another.
There are going to be low points spread out among the highs. While I
know that reaching out to the SQL Family is an amazing external resource
to help lift the members up, I think it’s also important for people to
remember those accomplishments and realise that they have an internal
resource as well.
That is what I want from the contributors of this T-SQL Tuesday,
those memories that they can think back on for sustenance. Like the
humble cookie, I want a humble brag.
Share some cookies
This month’s T-SQL Tuesday is about finding those cookies and sharing them.
These cookies do not have to be massive. Like the various cookies out there, they can be big or small – or even technical.
So tell me about a time when you had an accomplishment that can keep you going.
About the time you made your first server specification for a new SQL Server instance.
About the first time you wrote out the syntax for a Recursive CTE by memory.
About the time you knew the answer to a technology question from someone else.
About after all the study you passed the certificate you were after.
About the time you created a PowerShell script, or a Python script, etc. and it worked.
About the time you created a PowerShell script, or a Python script, etc. and it didn’t work but you were able to fix it.
About how you inherited an unorganised instance and made improvements to it.
About how you stood, trembling and scared for your first presentation, but you did it in the end.
The above “cookies” are all technical but your ones don’t have to be. Whatever your favourite cookie is, let me know.
I enjoy math. I noticed a pattern learning math, perhaps you
experienced something similar. I found arithmetic an exercise in memory. I have
a good memory (well, I had a
good memory…) so memorizing a bunch of rules was no big deal.
When I learned algebra, arithmetic made
more sense. In addition to the memorized rules, I saw why the rules
existed. I understood the rules better as a result.
This pattern held all through my math
education. I understand algebra better once I learned geometry. I understood
geometry better once I learned trigonometry. I understood trigonometry better
once I learned single-variable calculus.
An Axiom (for me)
I notice a similar pattern applies to my
career (or careers, as the case may be). I’ve served in many roles:
Soldier (part-time in the Virginia Army National Guard)
Manufacturing automation integrator
The similar pattern manifests itself in
this manner: I’ve enjoyed the position – and more success in the position –
when I had a reason to
do the work; some reason other than a paycheck. In some cases, I had multiple
“why’s” beyond remuneration. For example, I join the Virginia Army National
Guard to learn electronics and serve my country – to especially protect
everyone’s right to free speech guaranteed by the First Amendment. I may not
agree with what people say, but I was (and still am) willing to fight and die
to preserve the right of US citizens to say whatever they want.
As a result, I enjoyed serving in the
National Guard (for the most part). I learned more. I learned better, I think,
because I enjoyed serving.
Entrepreneurship can be challenging. I
believe one needs a “why” – or perhaps several “why’s” to remain an
entrepreneur. The “why” cannot simply be money. Money isn’t inconsequential,
mind you, but I believe the best “why’s” are less tangible.
Passion plays a major role for me. When
business isn’t going well or when business is going too well, a couple
intangible “why’s” – passions for both entrepreneurship and the kind of work I
am blessed to do – inspire me to keep a steady hand on the tiller.
What is Your “Why?”
That’s the question this month: Why do
you do what you do?