Curated Content August 2024

Handblown glasses in green, yellow, red, pink, purple, and blue with sunlight shining through them
Some handblown glasses my wife and I made at Red Flower Studios over the years.

August was another good month for content.

It was also the month I realized and was very disappointed in the fact that I hadn't written a meaningful post in over a year. So I am getting back at it.

Articles

Ignite - Rethinking code generation with project patching

Igniter - Rethinking code generation with project patching
Ash 3.1 introduces generators and installers, thanks to our latest project Igniter! Find out how they work, and why we avoided them for so long.

Zach Daniel's the creator of the Ash Framework in Elixir nailing one of the problems that has really ground my gears in the Elixir ecosystem (not unique to them), given the choice of using generators:

Often times, instead of changing how the underlying tool works, the generators will be modified and you end up with a sort of “best-practices-drift”

He also goes in and creates something that goes much of the way towards something I've wanted to create since reading about automated large scale refactoring at Google, via Software Engineering at Google.

After talking with Zach at ElixirConf 2024 he let me know that you could also structure these in such a way that they are idempotent and could be replayed over and over again. This tells me I need to look into using this ASAP.

As an aside, if you're operating in other ecosystems, I think it's worth looking into what Zach is doing with Ash.

No blockers

No blockers
When I was a kid, we liked to play with two way radios. I’d say something and end it with “over”. Then my friend would say something and again “over”. The word “over” had no actual meaning to us, except to indicate that we’d finished speaking.

Mike Bowler isn't someone I had come across previously, but he had a number of great posts this month.

The first one in the lineup, No blockers, is one that I find myself having to essentially unpack and explain constantly for folks, especially those that are new to my team or organization, because like Mike says here:

It’s become a meaningless phrase for most of the people who are using it. They’re not thinking about whether they really are blocked, they’re just indicating that they’ve stopped talking: “No blockers”.

Because when you dig in as he note:

Almost certainly you’ll get a list of reasons that is mostly made up of real blockers that the team doesn’t think of as being blockers.

Extremely relevant for managers or other organizational leaders. Worth the read.

And big thank you to Mike for writing this one, as well as the following. Saved me multiple blog posts. Now I can just point to these instead.

Understanding the users

Understanding the users
My very first professional programming job was at a large bank that had invested in a full UX lab. One-way glass, cameras, and a full setup where we could watch real branch staff using the software we had been working on.
Almost every assumption we’d made about how they would use the software was wrong.

This is something I continuously see new software teams get wrong, and even experienced ones make mis-steps on.

Actually watch your users use the software you build.

It will open your eyes.

The Great npm Garbage Patch

The Great npm Garbage Patch
In April of this year, the Phylum Research Team revealed the proliferation of spam packages in npm associated with the Tea protocol, a decentralized initiative that promises to compensate software developers in cryptocurrency for their open-source contributions. Last month, we published our quarterl…

Really interesting research from Phylum Research Team showing that there are already a lot of known problems with the npm ecosystem, and the recent addition of trying to make open source sustainable using crypto only makes everything much, much worse for everyone.

Ensemble Programming

Ensemble Programming
Ensemble programming (aka “Mob Programming” or “Software Teaming”) is a technique where the entire team works together on a single story at the same time, on...

A quick intro to ensemble programming, because while Woody Zuill gives great talks on it, and has written a great book on the topic, sometimes you need a quick version you can give to a team to help them understand then high level overview.

And this one has it all, including a quick video showing what a day in the life of a physical ensemble/mob team looks like.

Why doesn't everyone do XP?

Why doesn’t everyone do XP?
Why do most software businesses still manage software engineering teams by managing the individuals on the teams? If XP is so much better (especially when combined with Lean, Balanced Team, and User-Centered Design) shouldn’t companies doing it run circles around the companies that aren’t?”

Nat Bennett over at Simples Machines with another great article asking why everyone doesn't do XP. This one actually was written in March, but wasn't one I got around to reading until now.

Answering the question:

The question comes up sometimes, "If XP is so great, how come it hasn't taken over the world?

I think Nat dives into a number of great reasons for it, and it's worth a read, but if you want the TLDR, they're right on the money with the immediately following answers:

My answer to that is basically:
- Distribution completely dominates product
- Nobody gives a hoot about profit

Books

Narconomics: How to Run a Drug Cartel - Tom Wainwright

Not a tech book, but a great book about society, the lack of efficacy in drug criminalization policies, and the difficulties of running businesses (which are only amplified by running businesses of an illegal nature).

In short it looks at the international drug trade through the lens of economics and traditional business, and policy effects on it. An entertaining piece of non-fiction.

Starter Villain - John Scalzi

On the other side of the spectrum, Starter Villain is an easy and fun piece of science fiction set in the present. I don't want to spoil anything for those who read it, but it follows the divorced and down on his luck last living heir of supervillain.

Conference Talks

August was ElixirConf 2024, and so I saw a bunch of conf talks. I'm not covering them here. They get their own post, just like last year.

Highlights from ElixirConf US 2024
ElixirConf 2024 was in Orlando, Florida again. Unofficially this year was LiveBook Conf, in addition to an always great hallway track.

Podcasts

No podcasts this month.

Microposts

Mastodon Post from @joscrossick@hachyderm.io: @jasongorman "In the long run, the only sustainable source of competitive edge is your organisation's ability to learn faster than its competitors" - the fifth discipline

This one has the problem that the market can remain irrational longer than you can remain solvent, but is something I believe true.