Republish: Representative Data Challenges

It’s a holiday in the US, though I’m in the UK, having arrived this morning and heading to work. I’ve got a long day ahead, and a long week as I spend a few days here and then head home on Thursday.

In the meantime, you can get re-read Representative Data Challenges. I wish I’d talked more about this, especially the idea that so many bugs in software systems are data related, because we haven’t tested on representative data.

Posted in Editorial | Tagged | Comments Off on Republish: Representative Data Challenges

Stupid Things I Did With AI: ASCII Art

I ran across this article recently (https://www.gatesnotes.com/meet-bill/source-code/reader/microsoft-original-source-code) and it has a great opening piece of ASCII Art. I have a screenshot here:

2026-01_0243

For some reason, I thought, “I should do this in SQL”.” Then I thought, can the AIs help?

Let’s see.

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

SQL Prompt AI

My first instinct is to use Claude first, but here I decided to ask SQL Prompt AI for help. I generically asked for a function that would take a word as a parameter and then produce ASCII Art. I ended up with a function and a procedure. I won’t show all the code, but I ended up with this result.

2026-01_0238

I thought this might be cutting off the message, but “Hello” produced “Helo”. So I asked SQL Prompt AI to alter the function to fix this. It tried, but it put a CTE in a subquery, which isn’t valid.

2026-01_0241

I pasted in the error message, but it returned me advice, not new code.

2026-01_0239

I suspected this might be because I had a few batches in this query window, so I copied just the function to another window, then pasted in the error and things got fixed.

2026-01_0242

Claude

While SQL Prompt was working, I opened a tab for Claude and asked a question: I want a generic MSSQL function that returns ascii art for a character passed in

I got the results, which were good, but only for one letter. Good, but I realized I had done a poor job of specifying my intention.

2026-01_0244

I then added another prompt to this chat: can I get a wrapper here that let’s me pass in a word and get the word returned as one result set?

This returned me a wrapper function with an explanation. The code is in my repo (linked below).

2026-01_0245

When I tested this a bit, it worked well, including with spaces.

2026-01_0237

Summary

I added this to my AIExperiments repo under the ASCII Art folder. You can check out the code and play if you want, or ask your own AI to do this.

This is a big waste of LLM compute, and really SQL Server core compute, but it’s fun. It was something I could have written, but how tedious is it to produce a function to do this? Even if I were to try and write an algorithm to produce letters from art, I could, but it’s not really worth the effort other than as an exercise to solve the problem.

This is also something I would guess many programming students work through. I haven’t had this, but I had to shuffle a deck of cards and other types of simulation exercises to help me learn to think in algorithms.

I do think working through algorithms is a good use of your time. It helps you think and learn and doing this will absolutely help you better judge the quality of other code, including that written by AIs.

However, I have done some of this work, and it’s not a good use of my time. Or likely the LLMs, but it was fun. I’ll likely use this in some Question of the Days in the future somehow.

Posted in Blog | Tagged , , | 4 Comments

Simple Talks Podcasting in 2026

I’m in the UK today, having arrived this morning in London. Hopefully, by this time ,I’m in Cambridge and at the Redgate office. Maybe sitting in the foyer alcove, playing a little guitar (like I did last Oct).

2026-01_0149

I’m here for a week of Redgate meetings as we kick off the year and it’s good to see colleagues and friends. All of the advocates are here, including Pat Wright, our newest advocate, and we’re hoping to record a Simple Talks podcast episode this afternoon. Maybe a second one if I can get someone from our data team to come in on a Monday.

Part of this week will be some brainstorming and planning for the year and I’m wondering if there are things you’d like us four advocates (myself, Grant, Kellyn, and Pat) to cover and discuss. Any hot database topics or things you’d want to hear about?

Leave a comment for me if there are things you want to discuss. Otherwise, we’ll have to come up with things that we think might be of interest to you out there.

Posted in Blog | Tagged , , , | Comments Off on Simple Talks Podcasting in 2026

No Defaults Passwords Ever

I appreciate default passwords on systems. Often, for routers or other devices, I might need a way to connect initially. Or, if I perform a hardware reset, I want some password that I can use to reconfigure things. However, I am pretty good (not perfect, but really good) at changing those passwords to something else. It drives my wife slightly crazy at times, but I save the passwords and stick them in a manager I share with her periodically.

SQL Server doesn’t store a default password when you install it. If you enable the sa account, you need to create your own password. I primarily deal with containers, and I always set one, usually my own default. However, lots of software either allows a blank password or has a default password set on installation. Oracle even lists theirs in docs. That’s not the worst idea if sysadmins change them, but if they don’t, it’s a threat vector for attackers. I was working with a customer last year who had an Oracle database. I asked them to try a default user/pwd as a test and it worked. I think my head was slowly shaking for the rest of the call.

Recently, Silicon Valley saw the result of a default password not being changed when someone hacked the crosswalk signals and uploaded fake audio files that played when the signals changed. The vendor (not surprisingly) advised the city to change the passwords to something strong. A somewhat harmless prank, but it’s possible that someone might have made a more nefarious change.

It’s 2026. We know there are people out there with malicious intentions, as well as those whose prank goes sidesways and have unexpected side effects. There isn’t a good reason to keep default passwords anywhere, including in your own personal devices. These days, connectivity among many systems is a reality with network, Bluetooth, NFC, and who knows what other connections are possible. Your personal devices ought to have defaults changed for your own protection.

Inside organizations, it can be worse as the weakest link can be exploited to gain access to other systems. Quite a few hacks started in test systems and progressed to accessing production data. Even places we might not expect to be problematic, such as version control systems, have been used by hackers to gain access.

To me, finding a default password is worthy of a reprimand and a note in whoever’s file forgot to change it. A second offense ought to lead to a suspension at a minimum and possibly termination. This is such a low bar of required security that I can’t think of a good excuse to allow it anywhere.

Steve Jones

Posted in Editorial | Tagged , | 2 Comments