Sean D. Stuber

@sdstuber.bsky.social

Oracle Developer/DBA SQL, PL/SQL, and APEX Oracle ACE I blog at https://seanstuber.com

Advent of Code 2025- Day 11 Reactor Part 1 is a simple recursion with limited paths, so I used CONNECT BY where the device (source) of each row is contained within the output (target) of the prior row. So, in the sample data, the line "bbb: ddd eee" has source "bbb" and targets "ddd eee". But we…

Advent of Code 2025- Day 11

Reactor Part 1 is a simple recursion with limited paths, so I used CONNECT BY where the device (source) of each row is contained within the output (target) of the prior row. So, in the sample data, the line "bbb: ddd eee" has source "bbb" and targets "ddd eee". But we can see "bbb" is in the targets of the initial line "you: bbb ccc" thus connecting those rows.

seanstuber.com

Advent of Code 2025 – Day 3 I was kind of disappointed in day 3 because it's the same puzzle twice. So one solution solves both parts 1 and 2, just changing the length from 2 to 12. I start by looping from the first digit (most significant) down to the least significant digit. So, for a 2-digit…

Advent of Code 2025 – Day 3

I was kind of disappointed in day 3 because it's the same puzzle twice. So one solution solves both parts 1 and 2, just changing the length from 2 to 12. I start by looping from the first digit (most significant) down to the least significant digit. So, for a 2-digit joltage, I find the "tens" first (i.e. 101), then the "ones" (100).

seanstuber.com

Advent of Code 2025 – Day 2 Day 2 was both easy and hard. Easy because it was easy to understand and hard because I knew there was a trick that would make an efficient solution for part 2 but I couldn't remember it. For part 1, I just divide the line of ranges into rows and then use regexp to pull…

Advent of Code 2025 – Day 2

Day 2 was both easy and hard. Easy because it was easy to understand and hard because I knew there was a trick that would make an efficient solution for part 2 but I couldn't remember it. For part 1, I just divide the line of ranges into rows and then use regexp to pull the low and high value for each range.

seanstuber.com

Interesting bug with nondeterministic functions I was working on a little simulation using random numbers and found I was getting odd results from my query. After spending a while dissecting it trying to find my error I found the problem was in the database itself. I was able to replicate the…

Interesting bug with nondeterministic functions

I was working on a little simulation using random numbers and found I was getting odd results from my query. After spending a while dissecting it trying to find my error I found the problem was in the database itself. I was able to replicate the problem on Live SQL using a simple test case with both 19c and 23ai…

seanstuber.com

New Certification and FeedSpot Recognition I successfully completed my Oracle AI Vector Search certification. I was also elated to hear FeedSpot has, again, selected my blog as one of the Top 100 Oracle Blogs on the web.

New Certification and FeedSpot Recognition

I successfully completed my Oracle AI Vector Search certification. I was also elated to hear FeedSpot has, again, selected my blog as one of the Top 100 Oracle Blogs on the web.

seanstuber.com