/log

Build notes, process updates, and things I figured out.

Posted from Squiggles — my personal notes app.

sql

Today I worked through three lessons on joins. I learned how a 'LEFT JOIN' keeps every deal, even when it has no matching milestones. Then I joined deals to both milestones and parties. Project Aurora had three milestones and two parties, which turned into six rows because each milestone paired with each party.

The biggest thing that clicked was that a query can run correctly and still give me a misleading number if I aggregate at the wrong grain. Aurora’s enterprise value was 820, but summing it after the join gave me 4,920 because the value repeated across all six rows. Checking the joined row counts helped me see why it happened. I’m learning to pause and ask what each row represents before trusting a total.

sql

Today I went back through the SQL topics I’ve been learning and practiced putting them together in combined queries. I used filters, groups, aggregates, and sorting in the same query, and compared dates to narrow down the results. It was good practice seeing how the pieces fit together instead of using each one on its own.

Then I started learning JOIN, matching deals to companies, milestones, and deal parties through their keys. The part I’m thinking about most is how a join can change what each row represents. When a deal has several milestones or parties, it shows up on several rows, so keeping the grain of the result in mind matters. I also had a query return every party because I forgot to filter for Buyer or Investor. Adding the WHERE condition fixed it, and made me pay closer attention to what I wanted the result to show.

sql

Today I worked through missing values with NULL and COALESCE, then practiced aggregate functions like COUNT, SUM, and AVG. From there, I grouped deals by status and used HAVING to filter the groups.

I mixed up the order of GROUP BY and HAVING at first. Once I got the sequence straight, the query started to make sense: WHERE filters rows, GROUP BY forms groups, and HAVING filters those groups. I’m starting to see how these pieces fit together as a query gets more involved.

sql

Today I practiced sorting results with ORDER BY, renaming columns with aliases, and removing duplicate rows with DISTINCT.

I also realized I’d been thinking about SELECT too narrowly. It controls which columns show up in the results, but I can still use other columns to filter rows with WHERE. It felt like a small detail, but it changed how I think about putting a query together.

I want to keep working through these ideas myself instead of relying on AI to handle all the thinking. It feels good to flex my brain again, build a stronger foundation, and get back to those little moments when something finally makes sense.

One thing I felt so strongly today: I want to fall in love with programming all over again.

I remember early 2008, when I was first introduced to Turbo C in college. I remember going down rabbit holes, spending hours studying, digging through Stack Overflow, and trying to figure out how to make things work. I remember those random aha moments when something finally clicked, or when a solution to a problem would suddenly pop into my head.

But more than anything, I remember the joy of actually coding. Of building something. Starting with an idea and slowly turning it into something real, one line of code at a time. There was something deeply satisfying about that process, about knowing that I was the one making it work.

I want that feeling back.

I know times have changed. We're now in the age of AI, and programming is no longer quite what it used to be. We have tools that can generate code, build entire applications, and solve problems that might have taken us hours to figure out on our own.

But I don't think I want to give up the act of building things myself. I don't just want to describe what I want and have AI make it for me. I want to write the code. I want to think through the logic, figure out how the pieces fit together, and experience the process of bringing something to life through my own hands and mind.

Maybe I sound like a romantic. Maybe I am.

There's something about programming that I still find beautiful. The idea that you can sit in front of a computer with nothing but an idea in your head and, through logic, creativity, and persistence, turn that idea into something that exists. Something that works. Something you made.

I don't know if programming will ever feel exactly the way it did back then. I'm older now, and the world has moved on. But I don't think I'm chasing the past, either. I think I just want to reconnect with something I genuinely loved doing.

I want to build things again. Not necessarily because I have to, not because someone assigned me a project, and not because there's a career opportunity attached to it.

Just because I want to.

I want to open my editor, start a project, get lost in the code, hit walls, figure things out, and eventually look at something on my screen and think, I built this.

Maybe that's all I'm really looking for.

To fall in love with the craft again.

I have always been a systems fanatic. The idea that processes can be broken down into smaller, more specific tasks, and that you can always find where optimizations are possible. Each iteration better than the last.

I have always wondered: does building your own system actually work? Is it worth the hours?

Honestly, ever since I built my own ecosystem for thoughts and workflows, I have felt on top of everything. Squiggles and Personal OS feel like my thought process materialized. Thoughts floating in my head get dumped into Squiggles, tagged and labeled under the right category. Build ideas get promoted to Personal OS for more focus and development. Planning my day has become so much more organized. I know exactly what needs to get done, everything is categorized and grouped in its own place, and there is a very real dopamine hit every time a task gets marked done.

One of the best perks of having your own system is what happens when you hit a "I wish this had a feature for that" moment mid-workflow. With someone else's tool, you file a request and forget about it. With your own, you open Squiggles, write the idea down before you forget, and when it is time to build the next version, it is sitting there waiting for you.

The whole cycle has been deeply satisfying. Everything feels systematic. It scratches exactly the itch my brain is always looking for.

I've decided to add /log as a place to document build notes, thought processes, and things I pick up along the way. A window into how I think about data and systems.

I'm going deep on automation and want to keep a record of what I figure out: for myself, and for anyone who might be looking for a nudge to get into this space. The intersection of AI and automation has opened up more doors than most people realize, and the idea that anything is possible as long as you can imagine it genuinely excites me.

The future is bright.