Damien's Avatar

Damien

@cforthecurious.com.bsky.social

Principal Software Engineer in scale-up making collaboration software. Web technologies, microservices, domain-driven design and distributed systems.

124 Followers  |  487 Following  |  339 Posts  |  Joined: 12.11.2024  |  2.0174

Latest posts by cforthecurious.com on Bluesky

Today I realized something critical about myself: I really want to feel like I'm in control when I'm leading projects.

This makes me want to choose any methodology or tool to reduce the uncertainty. Just because of the promise of it.

I feel like I must learn to embrace uncertainty though.

04.02.2025 20:44 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Strangely, I am really getting an enormous amount of fun out of studying AWT and Swing - and just composing and throwing together desktop apps for fun.

26.01.2025 21:13 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

My highlight of the work week:

- Assigned to begin a new product capability
- Read the book on User Story Mapping
- Build first map with a small team
- Already reaping rewards: shared understanding, spotted potential issues, clear way forward

22.01.2025 20:40 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

At the slight chance that anyone might find this interesting, I could share a few diagrams about the "architecture" and design as a conversation starter.

PS: This old article by Fowler was good martinfowler.com/eaaDev/uiArc...

22.01.2025 20:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Finally finished my TodoMVC implementation in Java Swing, including a reasonable architecture.

Complex stuff:
- Layout rules
- Build custom components that compose well
- State and event handling, nested observables, leaky event handlers - OUCH

Result: I appreciate declarative UI frameworks A LOT!

22.01.2025 20:34 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Make a Trade... What are you doing with your life!?
YouTube video by KryptoNight Make a Trade... What are you doing with your life!?

Today is one of these days again:

m.youtube.com/watch?v=GkM6...

15.01.2025 12:04 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

This.

My employer decided to grow teams to ~15 with two metrics per employee: number of PRs raised and number of PRs reviewed. There's a public leaderboard - and stack ranking.

It had a tremendously negative effect on culture, including people gaming the system with automated fake work.

12.01.2025 19:10 β€” πŸ‘ 10    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

Probably true, I wrote most of my front end code before web components existed.

There it was divs in divs in divs. With the occasional span in between.

But I did start with tables and invisible spacer pixels :D

12.01.2025 17:53 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Really got some cleanup to do next, since this ROUGHLY looks like what I wanted, but has become impossible to navigate:

12.01.2025 15:55 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I probably should have added context: I've noticed this only for looking up archaic stuff about Java's old Swing framework.

12.01.2025 15:52 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Typically, Claude can come up with better answers than I can find myself using search.

I guess the training data included a lot of stuff that is either not indexed or not prioritized.

12.01.2025 15:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

There's always one more JPanel you can add to get to your desired layout :D

12.01.2025 15:17 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

JPanel is my new div

12.01.2025 15:10 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Thanks for sharing, I might take a look.

12.01.2025 11:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

"a technology from 1997 that stopped in time"

That is exactly the reason :) I'm doing what you might call "archeology". I've always loved learning about where we came from, because it helps to understand where we are today.

12.01.2025 09:04 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Oh, and in case you are wondering, the current state of my rabbit hole:

Study Software Design -> Learn History of OO -> Practice with Chess Engine -> Make Chess Engine Fast -> Performance Tune JVM -> Visualize Data in JFreeCharts -> Combine charts into app -> Learn Swing ...

12.01.2025 07:52 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Current status: learning #java Swing by trying to reimplemented "TodoMVC".

I'm wasting a huge amount of time trying to lay things out well and find myself thinking "if only I had CSS ...".

However, I wonder if CSS is actually easier / more straightforward to learn (or if it is just my experience).

12.01.2025 07:50 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 4    πŸ“Œ 0
The Swing Connection

It was surprisingly difficult to find good resources about #java Swing and AWT.

I was looking for high-level guides with a focus on architecture and internals. Most things were just "this is how you use this component".

This was the only great guide I found: - web.archive.org/web/20030212...

11.01.2025 13:25 β€” πŸ‘ 5    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
If Russ Ackoff had given a TED Talk...
YouTube video by Steven Brant If Russ Ackoff had given a TED Talk...

@ruthmalan.bsky.social this immediately made me think of the Russ Ackoff talk you had shared.

One can't improve a system by optimizing each individual parts. E.g. an organization won't get better by "optimizing" each individual.

www.youtube.com/watch?v=OqEe...

07.01.2025 18:33 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Management: "Great idea, in each person's performance review, we're going to highlight the number of pull requests. Oh, and there's also a public leaderboard. And stack ranking."

Conversation with a dev today "no worries, we have fake repos with fake PRs and fake reviews".

Funny if it wasn't true.

07.01.2025 18:31 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

The line chart is all fine and well, but I’m looking to do heatmaps soon. So I needed a larger toolkit :D

05.01.2025 15:38 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I don’t recall the details, and I didn’t take any notes unfortunately. Some combination of reactive updates, object identity, code being run only server or client side etc..

It’s taken me maybe five days to find the root cause, but once we found it, it was easy to avoid for all of us.

05.01.2025 13:43 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

JFreeChart came with Swing support out of the box (whereas JavaFX requires another module). I wanted to learn both out of curiosity anyway, so yet another rabbit hole :D

05.01.2025 13:38 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Looking for

04.01.2025 20:39 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

But once I knew where their mental was off, I was able to spot many more bugs triggered by the same mistake in understanding – some more, some less serious.

04.01.2025 20:39 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Most recent example: I looked into a SvelteKit application, where some UI state didn't update after a log in.

The fix in place was "just reload the entire SPA". It worked, but it was fixing a symptom.

By diving deep, I learned about the framework and the gap in the owners of the web app.

04.01.2025 20:39 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Bugs can be a useful deep-dive trigger:

When I encounter a bug and have no idea what is going on, it shows me that my mental model is wrong. So I begin peeling away the abstractions until I can properly fix it.

Using that new understanding, I can often spot many more defects in the same codebase.

04.01.2025 20:39 β€” πŸ‘ 8    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Post image

Having fun with #java, JFreeCharts and Swing (currently exploring the performance of my chess game algorithm with custom tooling).

Amazed at how quickly I was able to throw together a decent UI!

04.01.2025 19:45 β€” πŸ‘ 5    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
For years, tech firms were fighting a war for talent. Now they are waging war on talent. In the years immediately following the dot-com meltdown, there was more tech labor than there were tech jobs. That didn’t last long. By 20...

β€œFor years, tech firms were fighting a war for talent. Now they are waging war on talent.β€œ

www.rosspettit.com/2024/08/for-...

03.01.2025 16:21 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I think I didn’t mention this before, but I was on a year-long sabbatical (but returned to paid work this week).

It’s been an amazing time, and I can only recommend it to anyone who can afford to do it! Especially, if you’re feeling like you need a larger change.

03.01.2025 11:22 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@cforthecurious.com is following 20 prominent accounts