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.

Posted in Editorial | Tagged | Comments Off on Computer Algebra

Grinding Away: Kobe Bryant

I saw this story from Robert Horry, one of the greatest clutch shooters in basketball. Don’t know it’s true, but I think it is.

When I got traded to the Lakers in ’97, Kobe Bryant was just a rookie. The dude couldn’t shoot threes. We would play this shooting game every day after practice. It was me, Kobe, Brian Shaw, Mitch Richmond and Kurt Rambis. Kobe would lose every time. We would get to practice the next day and sure enough, Kobe would already be there shooting nothing but threes. Like clockwork, at the end of practice he’d say, “Let’s play the game! I’m ready for you.” And we would beat his ass again.

He would never stop. It was incredible. He practiced until one day, a couple months later, he finally won. If you literally said, “Kobe, I bet you can’t make five in a row by dropping the ball and kicking it in from half court,” that motherfucker would go out there and practice it until he could do it. And that’s what people don’t understand when they talk about champions — when they talk about a winner’s mentality. Kobe’s dedication to the game is unreal.

In case you think this isn’t true, listen to Kobe in this interview.

Why I like this

To compete against others, you have to work harder. I tell kids I coach that it isn’t enough to get better in sports, but you have to get better faster than others are getting better. That takes work, it takes setbacks, it takes failures. It takes effort to overcome those to get better.

You might not have the raw talent to be one of the best every in your area, but you can be really, really good, and you can compete with many others.

The modern world, with jobs being remote, companies hiring everywhere, more tech people wanting jobs, you need to compete well, which means work.

Work to improve.

Why I don’t like this

I do think that Kobe worked in a very narrow domain, playing his sport. His sport didn’t change much, and he just needed to improve his skills, while knowing how to work against others. He was competing in a narrower space, against many knowns.

For many of us, our world is more complex, with many more dimensions of new technologies, unknown demands or desires from employers (or potential employers), and an every growing set of things that appear in our industry.

Driving to continue to be better is good, but you’ll never get to be amazing in everything in tech, or even one platform. Keep some balance and remember there are other important things in your life. Not so important you shouldn’t improve, but important enough to require some of your time.

Posted in Blog | Tagged , | Comments Off on Grinding Away: Kobe Bryant

Episode 11 of Simple Talks: Oracle

The 11th episode is now live, recorded a few weeks ago at the PASS Data Community Summit. This was a lot of fun, us grabbing a space in the convention center and putting this together.

 

Spotify: https://open.spotify.com/show/4sLQQR7DgYDPj2Ob1muIgU?si=e1589ae8d52947dd

Also on Apple Podcasts

Posted in Blog | Tagged , , , | Comments Off on Episode 11 of Simple Talks: Oracle

New SQL Server 2022 Functions

At the recent 2024 PASS Data Community Summit, I saw a lightning talk from Mikey Bronowski on the New T-SQL Functions in SQL Server 2022.  Before the talk, I made a joke with him that none of these were new because it’s 2024. They’d been out for 2 years.

Mikey did a nice job, given that he only had 10 minutes, but it was enough to give attendees an idea of some new things they might investigate to use in their own code. If you missed the talk, or you don’t have access to the recordings, we have a series on SQL Server Central that covers these (Part 1, Part 2, Part 3) and helps you understand the new options. The list of language changes is also in the MS Docs under What’s New in the Language.

I’m curious if any of you are using these new functions? There are a few time series ones, though I think GENERATE_SERIES is the one many of you might have used. Are any of you using DATE_BUCKET? That looks interesting, but I have to admit I haven’t played with it. STRING_SPLIT with the ordinal is my guess for the most popular function people use.

There are also some new JSON and bit manipulation functions, which might be of use in some situations. GREATEST/LEAST are there, but I’ll have to say these functions haven’t come to mind as solutions in any of my queries or answers I write for questions. I do use the trim functions, though still only with spaces. I guess that some of you might find ways to incorporate trimming with other characters and possibly change old code.

I do think that many of you can likely refactor code and make it cleaner with these functions, but you should test them extensively. As we’ve seen with some language changes, performance isn’t always better, and some changes (like FORMAT), can cause you resource issues. At the same time, if the code performs well, using cleaner code is a good way to perhaps update your codebase and gain some skill with new techniques.

One warning. While I like refactoring code, make sure you do some testing, preferably automated, to be sure you aren’t introducing bugs or missing edge cases that your old code covers well. A cleaner codebase is nice, but having working code is more important.

If you’re using any language features, leave a comment today.

Steve Jones

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

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

Posted in Editorial | Tagged , | 6 Comments