Tag: AI

  • The Challenge of AI

    In his book, The Coming Wave, the CEO of Microsoft AI laid out the risks of AI tech bluntly. “These tools will only temporarily augment human intelligence. They will make us smarter and more efficient for a time, and will unlock enormous amounts of economic growth, but they are fundamentally labor-replacing,” he wrote. Suleyman advocated for regulatory oversight and other government interventions, such as new taxes on autonomous systems and a universal basic income to prevent a socioeconomic collapse. This book was published before Suleyman joined Microsoft.

    Satya Nadella is more optimistic than his new deputy. In an interview at Microsoft headquarters, while sitting next to his human chief of staff, Nadella said that his Copilot assistants wouldn’t replace his human assistant. As his chief of staff sat typing notes of the conversation on her tablet, Nadella acknowledged that AI will cause “hard displacement and changes in labor pools,” including for Microsoft. Judson Althoff, Chief Commercial Officer, said that Nadella was pressuring his team to find ways to use AI to increase revenue without adding headcount.

    In 2025, Microsoft has reduced quite a bit of its workforce. Over 9,000 earlier this year, though perhaps there will be some hiring in the future, according to Nadella. Nadella contends that AI could end up delivering more societal benefits than the Industrial Revolution did. “When you create abundance,” Nadella said, “then the question is what one does with that abundance to create more surplus.”

    As I discuss AI with different people, I get wildly different opinions. The pace of GenAI model growth across the last two years has led quite a few people to believe that the technology will approach mimicking the average human’s intelligence in just a few years. That’s a scary thought, and it certainly could lead a lot of executives to place a bet on fewer human employees and more digital ones.

    However, many more people believe that the GenAI models still need a lot of guidance, and they are best suited for partnerships with humans. That’s good, in a sense. If a smart or talented human can use an AI partner and get a lot done, that means we still need some humans.

    Some.

    That use of AI by a few talented people might also lead us to a reduction in labor for a lot of organizations. Maybe fewer humans get more done with AI, and it’s possible organizations want to make that trade. It’s easy to think we’ll find things for more humans to do, but computers are incredible levers, and this worries me.

    A little.

    What I also think is that there is so much work we’d like to get done, but we can’t, at least in the technology space. We don’t have enough people to do the work, so GenAI agents or partners working with humans might let us catch up on the backlogs we have.

    Of course, I don’t know that all that backlogged software we went is something we need, if it’s good for the world, and if it will end up putting even more people in the real world out of work.

    Lots of challenges ahead. Let me know what you think.

    Steve Jones

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

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

  • Vibe Coding a Login Tracking System

    A customer was asking about tracking logins and logouts in Redgate Monitor. We don’t do this natively, as this really needs an XEvent session. I decided to see if an AI could help me get a solution setup that might let me build a custom metric to track this.

    I could do this myself, but it’s some looking syntax and capabilities, futzing with different code items, and trying to think about options. The goal here is can an AI help and save time. Not do the work for me, but assist.

    So maybe not Vibe coding per se, but felt like I did little.

    Video Walkthrough at the bottom.

    This is part of a series of experiments with AI systems.

    Note: This isn’t something I necessarily worry about. The rate might tell me if I’m under attack, but I’d hope applications would detect this first (and be able to block things)

    The Problem

    The customer just asked if they could track logins and logouts. I mentioned the Server Properties (shown below), to see what they’d done. They hadn’t used this, but also, it’s not very flexible or reportable as it puts info in the error log.

    2025-12_0171

    Tracking this info really requires an XE (Extended Events) session. That’s a lightweight way to capture this information. If I want to capture some info about the client logging in, or failing to log in, that’s the way.

    A separate request was could we also get logouts. The only way to do this is with an XE session and the sqlserver.logout event.

    With that in mind, let’s see how my assistant can help.

    Using Claude

    I opened Claude and asked this: “in sql server can I track login counts and logout counts from t-sql?” and actually spelled everything correctly. No savings here.

    The base answer I got started like this, giving me a few options.

    2025-12_0172

    The ending asked me if I’d like to get the Extended Event option. It had provided only the login trigger option. I need an assistant, so I said yes.

    2025-12_0173

    That first answer was maybe 20-30 sec, but I started reading things, so this felt like a discussion with another DBA. Once this started, I let it go and it started to write out and work on code on the right, and then fill in the results on the left.  This was a few minutes, so I flipped over to answer a few emails while I saw this on another monitor.

    The results started with a table to store data and then an XE session. The whole page looks like this, which is a lot.

    2025-12_0175

    Here’s the full left side. Notice that it asks me for a next step. I’ve met a lot of junior DBAs, or even Senior-DBAs-with-1-year-of-experience-10-times that didn’t do this.

    2025-12_0177

    The actual code doesn’t matter yet, since I realized this isn’t getting failed logins. I asked another question and got a response. A polite Claude complements me and then rewrites code. This took another few minutes, and it was neat to see it rewriting its code on the right, adding in a new field in the table and adjusting the session.

    I watched a bit, but got distracted with a Slack message. One nice thing is I can move on to another task while my assistant keeps working.

    2025-12_0178

    At the bottom, I liked the summary of how it works.

    2025-12_0179

    My Slack message was from an AE, asking a question about the server property stuff (from the customer). I could have typed a bunch, but when I looked back, Claude was finished, so I asked it.

    2025-12_0180

    I copy/pasted this to the AE, as it’s a good summary for the customer. This assistant is making my job easier.

    Testing the Solution

    I didn’t just send this. Instead I decided to test this on a few local systems. I keep a DBA database on each instance, so I ran the code in there to create the table and session. As a precaution, since this isn’t my code, I ran each item separately.

    2025-12_0181

    The table worked here. I had another window for the session, which I looked over, but didn’t extensively check. I’m not an XE expert, and I’d likely fumble this code worse than an AI at first, so I checked the events and actions. I decided to just run this since it looked good.

    When it came to the procedure, I got an error. I copied and pasted this into Claude. It recognized an issue and fixed it. This took a few minutes, but this is faster than I could have corrected my own amateurly written query against XE.

    2025-12_0182

    Now I had a procedure. One thing I edited in both the session and proc is that I removed the hard coded c:\SQLData path. I wanted this captured with my other instance stuff in the \logs folder, so I left just the name of the XE session.

    Adding Archival

    One of the things that Redgate Monitor does really well is manage older data. I’ve seen so many people, including myself, set up something like this and then a year later realize they’ve captured GB of data.

    I asked Claude to just fix this for me.

    2025-12_0183

    I grabbed the second command for my Agent Job and changed 180 to 90.

    SQL Agent Job

    Claude again asked me above about jobs, but jobs are simple and easy, and I wanted to think about it for a minute. I right clicked and created a new job. I thought about the name and description I wanted. Then I made two steps, pasting in two exec proc commands for the procs my assistant had written.

    The last thing was some testing. I ran my job to be sure it was working. It completed, which was good.

    I made a few logins and logouts, including a few failed logins. Then I queried my table. I didn’t remember the name, but my assistant tends to pick plain/boring names. So I used SQL Prompt to find it with a ssf <tab> l and got this:

    2025-12_0184

    When I got a query and checked, I see logs of my logins and logouts.

    2025-12_0185

    Redgate Monitor Custom Metric

    My AE and customer wanted to see this in Redgate Monitor, so I decided to ask Claude. It was happy to help.

    2025-12_0186

    I could repeat that for the other items (failed logins and logouts). I didn’t, but this gets me ready to add this to Redgate Monitor.

    Summary

    This shows how an AI assistant can help me set up some auditing for security purposes. There is nothing complex here, and I’ve set up a bunch of this myself in the past. I even have a blog on this.

    However, the code is cumbersome and slow to write for me. Or most humans unless you end up working with XE every day. Even if you use SSMS and the GUI to generate the script, it can be slow. I know I’d certainly have to look things up. In less than 15 minutes, I had a fairly well working solution, with archiving (deleting) old data and I didn’t need to focus tightly the entire time or type a lot. I did some other work, and I could focus on just testing.

    Claude was a great AI assistant to this problem, which is similar to a lot of DBA-type work I’ve done in the past.

    These were the tools I used:

    And, of course, Management Studio 22.

    Addendum

    I tried Google Gemini and ChatGPT. A quick summary of those, which didn’t work as well. At least not to me.

    Note that I use the free versions for all of these tools right now.

    Gemini

    The first prompt got me just a table and trigger, with a followup if I wanted more. I asked about XE and got a basic session, not as easy to read as Claude and embedded inside the response. It also had fewer actions.

    2025-12_0188

    I got to the same place, but it was more prompts and I had to keep guiding it along, like micro, or at least mini, managing another DBA. On the plus side, this was faster.

    ChatGPT

    ChatGPT suggested a trigger, but noted this wasn’t great. It did suggest extended events, and a complete solution. I could have just entered “yes”, but I didn’t. I’m still working on muscle memory at times.

    2025-12_0189

    I got each part of the solution separate, but this has me scrolling through explanation and code. Again, I prefer the Claude side-by-side approach, but this works. And it’s fast.

    2025-12_0190

    This also kept leading me along the process, which I liked. It certainly likes the checkboxes and Xs in its results.

    Both tools helped me with custom metrics.

    Video Walkthrough

    Here is a a retry, and then showing the first solution. I think Claude learned a bit the second time.

  • Investing for AI

    The GenAI boom is growing like crazy. From hype to disasters to successes to investment to the embedding of GenAI tech into lots of products, it seems no one gets away from AI. My wife, kids, friends, they all talk about AI and alternately give me stories of huge successes or epic failures. Even those who just scroll through reels aren’t immune as we see amazing things, but we can’t trust them because of AI. Who knows what image/video/audio was actually recorded and what was generated.

    Like many of you, I think AI can be amazing. Like more of you, I think it can be a really poor partner and it produces output I can’t trust. I think one of the major challenges is learning to treat an AI like a colleague whose work quality is erratic. It’s not that I can’t work with them and use their work, but I need to test, validate, and verify the code they give me does what I need, at some acceptable quality level.

    Microsoft is a company investing a lot in AI, and it’s changing the company. Some of us might not like the direction as it seems that AI is being pushed for the sake of AI and to generate profits for Microsoft. Or at least revenue as I’m not sure how much profit there will be with all the compute costs of AI. However, it’s certainly affecting every product development team.

    I listened to a very interesting interview with Satya Nadella talking AI, globalization, and more, including a data center tour of their new AI site in the ATL. The data center tour with Satya and Scott Guthrie is at the beginning and it’s amazing to see. The network connections in this data center are equivalent to all of Azure a few years ago. That’s impressive, especially seeing they plan to link these new generation data center with petabit networks. For someone that grew up with 300baud modems and then 2.5Mbps Arcnet, I can’t even conceive of these speeds.

    As I listened to the interview, I was skeptical of Microsoft’s efforts. The hosts were as well, as they pressed Microsoft to really give them a reason why all this AI investment makes sense. The interview is long (1:27:47), but includes some interesting statements.

    Satya says that AI might be the biggest think since the industrial revolution. I could see that, and I’m not sure I disagree. AI tech, with the ability to reduce the requirements to interact with a computer for everyone, is incredible. It can dramatically reduce the UX issues we constantly see with developers building things that don’t always make sense to users. For me, I love that it can handle my misspellings, something many traditionally coded systems cannot handle.

    There’s also a great quote that Satya uses from a CMU professor: AI is a guardian angel or a cognitive amplifier. I think it’s both, as AI is a tool and it’s something you can use well or not. If all you have is a hammer, everything looks like a nail; that’s a famous quote. A hammer is a great tool.

    Sometimes.

    Sometimes it’s not the tool, and something else is needed. AI can be a great cognitive amplifier, but if you treat all problems as nails, you will let AI create a lot of problems. However, if you use it for the appropriate task, it can really help you. The AI can also see or spot things that we can miss as humans. As the world gets more complex, we deal with more things at once, or the rate of information coming to us increases, we may (will) miss things. An AI can do a better job of catching things, just like another person might catch things you miss.

    The last interesting thing is on models vs scaffolding where we look at what models mean and what scaffolding or infrastructure. The example is with Excel (which Satya wish had a database), but it’s an interesting look at how we might get value from AI in getting tasks done, and saving labor with AI technology. It’s worth the listen (or read the transcript).

    I found myself seeing how this might not only benefit Microsoft, but perhaps will benefit the world as other companies embrace multiple models and facilitate the ability of more people to use AI tech. I still don’t know if the ROI and costs make sense, but we will as the AI bubble bursts and this becomes a normal part of our lives in some way.

    Steve Jones

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

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

  • Don’t Create Workslop

    I remember a time before email. Some of my first jobs were mostly based on paper being moved from person to person. I’m sure some of you remember these envelopes being used to communicate between individuals in an organization. I used those to send and get memorandums from others before we implemented email. Fortunately, our email implementation (cc:Mail) came soon after I started working in corporations.

    Initially, people treated email much like paper mail inside organizations. However, over time, people started to treat email differently. It was easy to send an email around other work, so people started to send more messages than they ever would have with paper. They started to dash off notes quickly, sometimes too quickly, as an email might be followed by another email that includes a “I forgot this”. As instant messaging grew, we saw similar patterns where people were quick to send messages, regardless of whether they were important, well-thought-out, or even necessary.

    As AI becomes more widely used in the workplace, there’s a similar tendency. People are quick to use AI to generate something and send it to others, often without due diligence on their part to ensure the work is at the quality level the other person expects. Some workers don’t double-check what they received from the GenAI tool, and it may not be complete enough to actually satisfy the requirements they were given. Maybe even worse, the result might not be targeted at the problem that was supposed to be solved.

    I ran across an article on workslop, which is defined as AI-generated work that masquerades as good work. Instead of actually being what the organization needs, it’s sloppy, it’s low quality, or it misses the mark.

    To be fair, I don’t think this is an AI issue. I have worked with plenty of people who produced low-quality output that wasn’t good enough for me to use. I’ve seen plenty of people not really try to produce quality results and do a poor job of completing the tasks they were assigned. With AI, they can do it quicker, which can be a problem, especially if they are producing things other employees depend on or need. The result might be some people be pushing their work onto others who have to spend time fixing (or completing) the copy/pasted GenAI results, taking away from the time others might spend on more important tasks.

    In the technical world, we saw that in the 90s with VB6, where lots of technical and nontechnical people produced code quickly for an application that worked initially, but didn’t perform well, couldn’t be scaled to others, and wasn’t stable enough to run every day. Sometimes not stable enough for an hour. I suspect we’ll see a lot of AI-generated code that repeats this pattern. Not because the AI can’t generate good code, but the people using it won’t know how to ask for good code, with instructions about the types of code that create robust applications. They also won’t know (or won’t bother) to check the code for quality.

    My guess is that the GenAI adaptation to lots of work will result in a lot of things produced, but at a lower quality than we might want. We’ll also see this phenomenon create inefficiencies as other workers have to return or repeat work. Fortunately, there is a lot of room for inefficiency in many organizations, so they can likely continue to function.

    Those that learn to use GenAI well to produce higher quality work will do so faster and stand out from their peers. Of course, a big part of standing out is also developing strong soft skills and advocating for your accomplishments. Without that, you might find those who produce workslop, but talk about it well to others will stand out from you.

    Steve Jones

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

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