Category: Editorial

  • Doing a Little Research

    I’ve been very pleased with the direction of SSMS the last few years. As it’s been separated from SQL Server releases and gets updated more often, I think the changes from v17 though v20 have been improvements. There are still issues, but it’s been better. Now we finally have SSMS moving to a modern shell with the v21 preview and I’m excited to see how this changes the future of our tooling.

    However, the PM for SSMS, Erin Stellato, posted a note on LinkedIn recently asking why people don’t read documentation. She also asks what you want to see in 21, so respond if you think there are holes in the SSMS docs. I think this post came about because of many responses that came from people who clearly hadn’t read some documentation.

    I find far too often people struggling with different concepts, some of which I know a bit about and some I don’t. However, for those that I don’t, I can often figure out something about it quickly. A combination of Google, following links in those results, and increasingly, asking CoPilot/Some-AI  a question often helps me solve a problem by giving me direction and knowledge. I still have work to do, but it’s a start.

    In fact, that’s how I solved a lot of the questions on SQL Server Central in the past. I’d read a question in the forums, I’d research a bit, set up an experiment, test something, and then post an answer. And at times, then getting told my solution didn’t work and figuring something else out or correcting my answer since I’d missed a bit of the context.

    These days, I see lots of people struggling and I don’t quite understand why. It seems the art of scoping a problem, doing some research, some experiments, and coming up with a solution relatively quickly isn’t common, but more uncommon. Lots of friends who have colleagues/direct reports say there are plenty of others that don’t have these skills.

    I’m curious for those of you willing to share, how do you go about doing some research when something doesn’t work? When you get asked to do something you don’t know how to do, or asked a question you can’t answer, what is your process? Pick a specific example if you can and let us know how you self-educate.

    If you struggle to do this, or you post online and expect someone else to help you, I’d encourage you to think about how you can become more self-sufficient and teach yourself, using the resources you have. Your employer will appreciate it and it will help further your career opportunities.

    Steve Jones

    Listen to the podcast at Libsyn, Spotify, or iTunes.

    Note, podcasts are only available for a limited time online.

  • Republish: Over-Engineering

    It’s Black Friday, and a holiday in the US. I’m off today, no idea what we’re doing, but probably some horse chores and taking it easy.

    You get over-engineering as a republish. I realized it was never on this site, so here it is:

    Over-Engineering

    This editorial was originally published on Jul 15, 2009. It is being re-run as Steve is on holiday.

    I stumbled upon an old blog post by Neil Davidson that he recycled via Twitter. It was about design and how things bloat. In the post he references another blog by Moishe Lettvin , who worked on the Shutdown menu in Vista. Reading that post, I was amazed to find that 8 people directly and 43 people indirectly contributed to that feature over a year.

    Really?

    At first I had the amazing response that most people probably have of MS is obviously so (insert your four letter adjective here) blanked-up, no wonder Vista was late. However as I read through the comments, I saw so much disagreement over how the feature works, should work, compares with OS X, and more that I’m not sure so this was a year of development time wasted. (Note I don’t know the man-years spent on this, but I bet it’s > 1).

    I haven’t built a lot of software in my career, especially large scale or shrink wrap software, and so perhaps I don’t really understand things. However I do think that we tend to over-engineer too often. I see people that try to design in every contingency, as well as think of every possible places things might go wrong. I have a simple mantra for you folks:

    You can’t do it. Get over it and ship something.

    It sounds simple, but it’s not. But it’s not necessarily naïve. I’ve seen too many people delay releasing something, trying desperately to get things right. They’re never right. They’re also never done, so you might as well ship something that’s 80% right and then plan on fixing it right away.

    I know some people will disagree and say that things should be built right the first time. I don’t think they ever are. They can be built well, but they ought to be built quickly, and with a design that expects changes to be required in  a relatively short time frame after they’re released. This doesn’t work for all software, but I bet it works for a large class of applications that aren’t on the scale of SAP or Windows.

    We can learn to code better, build more secure and stable software, but I don’t think we’ll ever cover all the bases. So why try? Build something that works most of the time and then refine it from there.

  • Have Grace

    Thanksgiving is tomorrow in the US and it is supposed to be a holiday when we give thanks for our blessings in life. My wife usually has everyone in our family tell what they are thankful for this year. I also see many people posting things they are grateful for during the month of December.

    Last month I was lucky enough to have dinner with Bob Ward and we were talking about some of the things we’d seen in travels, often some stressful times for ourselves or others. We’ve seen many people get upset or angry or have some other reaction. Both of us have some empathy for others, recognizing that we don’t really know their history or experiences, and it doesn’t make sense for us to get upset. If we knew those things,  we might better understand the reaction that someone displays to a situation.

    Bob used a great phrase, saying that we should “have grace” when dealing with others.

    I love that. I know I have stressed days, or grumpy days, or times when I’m not at my best behavior and I’d hope others would understand. I try to do the same for others, and I remind myself to “have grace” now when I see someone dealing with difficult situations.

    I hope all of you enjoy the holidays this year, but if not, I hope others have grace when dealing with you. And I hope you remember to have grace with others.

    Steve Jones

    Listen to the podcast at Libsyn, Spotify, or iTunes.

    Note, podcasts are only available for a limited time online.

  • Computer Algebra

    I was a bit of a math nerd in high school and college. Some of you might have been as well, but I took advanced math all through high school, culminating with AP Calculus as a senior with 11 other kids (of about 320). In college, I started with Calculus III freshman year and went on to take 7 more semesters of various high level maths. One of those classes included analyzing data with linear regression, which we did with hand calculators and formulae.

    At SQL Saturday Pittsburgh 2024, I watched a talk from Jeff Moden on linear regression. It was a trip down memory lane, with Jeff explaining how the process worked, the flaws, and how this technique could be used to do some predictions on data stored in SQL Server. It was a great session on the topic, but I liked that Jeff showed how you can use SQL Server to do various math calculations that might be useful to analyze data. I see applications sometimes programming various formulas, but I don’t often see people doing this in database queries.

    This reminded me of some early programs I’d written in BASIC on an Apple II computer. We had to do labs and hand calculate out various results based on measurements. However, small mistakes in our notes sometimes created large errors in our lab reports, which would affect our grades. Sometimes we’d make a mistake in the chemistry process and sometimes we’d just write the wrong number down (or forget to do so). However, we couldn’t repeat the lab, so filling out reports at home was maddening and stressful.

    I wrote programs that create a form and let me enter all my data. This would calculate the results, and I could “massage” the data to get a low error count. Maybe not the most ethical method, but for high school labs in which we were time and resource limited, and where our grades depended on a high level of accuracy, it seemed acceptable to me. I also learned the formulas better since I had to program them and debug my work.

    Creating a simple system to do calculations can be very handy for many of us in our lives. While there is software available for many purposes, like examining mortgages or calculating a budget, doing some of that work yourself let’s you customize things, as well as ensure you understand how the program works. However, instead of C#, Python, or something else, I might use SQL these days as I use daily. I can store data across time, something that might help me better analyze my own data with SQL.

    If you’ve never tried math formula in SQL Server, give it a try. You might have some new appreciation for the equations you solved in school, while building a little more familiarity and skill with the language you use in your daily work.

    Steve Jones

    Listen to the podcast at Libsyn, Spotify, or iTunes.

    Note, podcasts are only available for a limited time online.