Live data from Hacker News

Steel Threads are a powerful but obscure software design approach

rubick.com

61–70 of 89 posts

Re: Steel Threads are a powerful but obscure software design approach

#61

The author states Wikipedia removed the term in 2013 because it's not notable. I'll join others here by saying I haven't heard of it as well and it would seem "tracer bullet" did just fine in The Pragmatic Programmer published much earlier. The author doesn't state who came up with the term "steel thread" and I'm suspecting it was the author.

> The author doesn't state who came up with the term "steel thread" and I'm suspecting it was the author.

That's a weird type of suspicion. A simple search yields some prior usage of this term:

https://dl.acm.org/doi/10.5555/2608547.2608553

https://simplicable.com/IT/steel-thread

Re: Steel Threads are a powerful but obscure software design approach

#62
The article starts with stating a desire to bring the term "Steel thread" back to Wikipedia, formerly removed for the term's lack of use in the industry.

After reading the linked article, I'm actually more convinced that removal was the correct course of action.

Re: Steel Threads are a powerful but obscure software design approach

#65

Earlier quoted context omitted.

Agreed. I've seen steel thread used to refer to a technique in developing new applications. In this context, it means building one feature to completion before starting others. For example in web development, build a screen that uses a route and an api endpoint to fetch data from your datastore before building other screens using only mocks. Edit: the advantage of this is that any systemic problems will become appare…

That sounds like vertical slices.

I hadn't heard of that term before but yes it is accurate.

Re: Steel Threads are a powerful but obscure software design approach

#66
post #4

This reminds me of something John Carmack tweeted once (can't find the tweet). In the tweet, he said that when coding, he'd start by the smallest possible PoC, and code it entirely front to back. That'd give the general structure, and then he'd build upon that. (this is what I remember of it fwiw). I do this all the time too, which I think is a vastly superior approach to TDD, which assumes how an API is going to be…

In Lessons from Writing a Compiler, there is a great section on implementation strategies: https://borretti.me/article/lessons-writing-compiler

Re: Steel Threads are a powerful but obscure software design approach

#67

Earlier quoted context omitted.

This is not correct. Not all the options are equal. It's possible to soundly define, verify and instantiate big modular contexts. https://github.com/7mind/izumi/

Things that are possible are frequently not the default condition.

What forces you to stick to the suboptimal "defaults"?

Re: Steel Threads are a powerful but obscure software design approach

#68
I hope people will excuse my cynicism

Step 1: Rehash a bunch of existing ideas together (PoC, vertical slice, strangler pattern).

Step 2: Give it a flashy new name.

Step 3: Market your consulting services as an expert for flashy new name. Sell to companies how they can build high performing organizations with this new technique.

Re: Steel Threads are a powerful but obscure software design approach

#69
The problem with steel threads is that they take only a single path through a series of components. Rather than building something robust, you're more or less wearing a rut through the implementation strategy for a single service, and piling on use cases as you go. This is more or less how you end up with b2b "get 'er done" software, and you have to ask yourself if that's what you want.

Re: Steel Threads are a powerful but obscure software design approach

#70

I hope people will excuse my cynicism Step 1: Rehash a bunch of existing ideas together (PoC, vertical slice, strangler pattern). Step 2: Give it a flashy new name. Step 3: Market your consulting services as an expert for flashy new name. Sell to companies how they can build high performing organizations with this new technique.

JAMSTACK! or pre-materialized if you coded in the early 2000s or pre-rendered if you coded in the late 90s or pre-generated static files if you coded in the early 90s
Post reply on HN