Category: Editorial

  • Living With Broken Software

    I travel quite a bit every year. Over 20 trips in 2022 and five trips in the first quarter of 2023. To make life easier, I have a few routines that I use to ensure that travel goes smoothly and I don’t forget things. One of those routines is using a parking service near the airport.

    This company used to have a fairly manual process, though it improved over the years. The pandemic forced them to move to more contactless service, which I appreciated. I could make a reservation online, get a QR code, and use that to both enter and exit the facility without interacting with anyone or handling money. A bit safer, but the big win for me was that this process was quicker for me move into and out of the lot.

    This service worked great in 2021, but sometime in the spring of 2022, I was making a reservation on the mobile app on the way to the airport. After completing the form, I clicked submit and got an error. I wasn’t sure what to do, so I double-checked everything I’d typed and resubmitted.

    Again, an error.

    I tried a third time, feeling a bit frustrated. I’d stopped for coffee and needed to start moving to the airport. For some reason, I decided to check my email. To my surprise, I found a confirmation of the reservation. Actually, I found three, which necessitated me asking for refunds for the two I didn’t need, while then trying to ensure I actually used the correct QR code to get in and out.

    Since then, I’ve used this mobile app multiple times to make reservations, and it always errors but sends a confirmation. I’ve sent a note to the company, but nothing has changed. The web app doesn’t seem to want to work correctly either but has different problems. I’ve tried a couple of other services, but I like this one. I just need to remember to make one reservation, ignore the error, and check my email.

    The tech is broken somewhere. Yet it works. It’s mildly annoying for me, perhaps much more annoying to others. This might dissuade new customers from using the service, though the parking lot seems fairly full most of the time. It’s the kind of thing that I, as a software developer, would want to fix.

    It’s also the kind of thing I could see management not caring about, and instead asking me to focus on new features or other bugs that are preventing customers from using the service.

    There is often more work queued up for software than there are time or resources to tackle them. When anyone is building software, they are constantly making choices about priorities and focus. What do I work on? What should be done first? What bugs need fixing and what bugs can we live with? Working for a software company has helped me keep perspective on the larger picture for a business.

    At the same time, I feel the frustration of a customer when things don’t work as I’d want them to work. Especially when an error is involved. This seems like it should be an easy fix, either catch the error and do something, or at least swallow it from the customer perspective. However, I have no idea how widespread this error is, or if I’m the only one for whom it doesn’t work. A good DevOps process would have instrumentation and monitoring to learn the scope, scale, and criticality of this, and other, bugs.

    Either way, it’s been alternately annoying and humorous to me. It works, and I live with it, sometimes amused that it’s still occurring. Perhaps I’ll even miss seeing the message when or if it gets fixed.

    Steve Jones

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

  • Has SQL Server Performance Improved?

    I saw a very interesting blog post this week from Brent Ozar that asked if SQL Server 2019 More CPU-Intensive Than SQL Server 2016? You can read the post, but a client was having CPU issues and thought everything between their SQL Server 2016 and 2019 environments was the same.

    Brent decided to test this and found that on identical systems, he has queries taking more CPU on SQL 2019 than 2016. A few commenters tested as well, with similar results. Not everyone had similar results, but most did. You can get the scripts from the post and try it yourself if you have SQL 2016 and 2019 instances.

    One would expect that more recent versions would run faster, or use fewer resources, for equivalent data sets and hardware. I know that’s not always the case, but it ought to be the case for lots of workloads. If not, then arguably the newer version isn’t better. It likely isn’t worth more money, and definitely needs more development work. This is my view of Windows 11, which seems to have returned to the habit of earlier Windows version of requiring and consuming more resources than its predecessor.

    I don’t often benchmark or evaluate SQL Server version. I don’t have to make those decisions, but I have seen SQL Server continue to improve on the TPC-E benchmark. However, this isn’t necessarily the same hardware. In fact, across versions, it likely isn’t. There could be more CPU consumed by the same queries, masked by hardware advances (and falling hardware prices).

    Is SQL Server using more CPU in newer versions? I’ll let you see if that’s the case on your systems. Even if it isn’t, you might document some queries (in addition to Brent’s) and record the results. That might help you decide when you upgrade.

    Steve Jones

  • Building a Better Profile

    I give talks on branding and managing your career at various events. Often I am helping people to better market and sell themselves if find new opportunities. One area that I talk about for data professionals is the online profile. I think having one is important, especially as many of our contacts with potential employers are made digitally.

    I ran across an article that focuses on LinkedIn, specifically the profile you create there. It has some thoughts on recommendations, accomplishments, certifications, and more. I like the thoughts, and I do think they help showcase who you are as a professional working in some field. It is worth reading through the article and adjusting your profile to include these items.

    I’d guess that most people don’t have these things to add. They might have friends who will write a recommendation, but what about classes, certifications, projects, etc? Getting those is real work, and it’s an investment of time and effort to grow your abilities.

    Having a full (or fuller) profile helps you stand out. It helps give hiring managers confidence that you are a person who can do the job they need. Getting this full profile, however, is something you need to do over time. Invest in your skills and showcase this in your profile.

    One easy way to do this is to take the work you do and document it. Write blogs, share posts, create an ongoing commentary of what you do at work. When you feel proud of something you’ve done, find a way to add it to your profile. This will create the impression that you are getting things done and solving problems at work.

    I’m sure all of you do this. Take a little time and ensure the next person that might consider hiring you, or the person you want to hire you, knows this as well. It can be easy to talk about these things in an interview, but you need to get the interview first. Your resume/CV and profile are how you get the interview, so be sure you are taking care of them across time.

    Steve Jones

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

  • Being Responsible for Data

    For much of my career, I’ve run SQL Server Central. A large part of the popularity of the site is from the forums, where people can pose questions about their struggles with SQL Server and get answers from the community. There are also some off-topic forums, where people discuss various things outside of databases. In here, we have discussions a about life, sports, and more. While we do expect people to maintain an air of professionalism and respect others, we don’t try to moderate content.

    That’s how much of the Internet has worked, with various sites allowing users to post content, but not having any responsibility for what has been posted. The liability for that lies with the person doing the posting, which creates a thorny issue when users post anonymously. Setting that aside, I’ve been a proponent of this, not believing that Facebook or LinkedIn, or SQL Server Central ought to be liable for what users write and post. I do thinks users bear that responsibility.

    However, in the US, there is a Supreme Court case that may change our view, and that of many others. This case deals not with the data itself, but rather the algorithms that might display or recommend some of that data to others. That’s an interesting approach to the case law that has shielded many tech companies from their users’ poor behavior. Essentially the plaintiffs argue that Google and Twitter bear responsibility for their algorithms, which in this case aided terrorist recruitment. Meaning that the code they wrote to analyze data, essentially the queries that promoted content to users, were harmful.

    There are four possibilities listed in the article for what could happen, and I find them fascinating from a data analysis standpoint. Essentially a ruling against tech companies could shape how many of these companies process data in the future. While we might like to ensure these companies do not promote harmful content, think about this from the data analysis view? Do you want these companies to moderating how they provide results? Would this mean that we need to more carefully craft our search terms? In the context of tremendous floods of information, we often depend on Google, Bing, or some search algorithm to distinguish among the various meanings of words to bring back results relevant to us. At the same time, we might wish that everyone got the same results from the same search terms.

    Separate from the results, what about related results, or suggested items that might be related. I find the quality of these can vary for me, but often there is something “sponsored” or “I might like” that is helpful to me. Or just interesting. The infinite scrolling that many people live, getting similar recommendations is a double edged sword. It can increase learning, pleasure, etc. It can also send someone down a rabbit hole of anger and reinforcement of negative emotions. I think this also is one way that the content of the Internet creates division and disagreement among many.

    While I think users are responsible for their words, I also think that the way that these companies recommend and showcase content likely bears some responsibility. At the same time, I can’t imagine how you regulate this, and I do not want to see a constant battle of lawsuits over how we interpret rules. The sex, drugs, and rock and roll issues of the past, where we tried to legislate morality, didn’t work well. I don’t want to see that again.

    There isn’t a good answer here for me, and of the four possibilities, I fall somewhere between two and three. Some changes to section 230 (the legal writing) but not heavy changes or an abandonment of the way this has been interpreted. What do you think? Should we start to hold companies responsible for how they present content? I don’t know I worry for SQL Server Central, but it might change other sites. For us, we just show things from the last 24 hours. It’s not much of an algorithm, but it is one that likely isn’t going to get us sued.

    Steve Jones

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