You often hear the term “standing on the shoulders of giants” in programming. But you really grok what that means in free software.

Let me illustrate: the first screenshot is the lines of code that I’ve written for Site.js after almost a year of work on it: a little over 10,000.

The second screenshot is the lines of code in Site.js: a little over 412,000.

Standing on the shoulders of giants means being able to create something by creating 2.48% of it.

PS. Lots of <3 to Node, JS, npm folks.

So I just realised that I didn’t count the node modules I authored either. Adding the @small-tech and namespaces does ~ double the lines of code (~a little over 20,000) but that’s still ~4%.

Show thread

@jasper @aral I was thinking how to comment on this without sounding ungrateful or like an asshole. Forgive me if I come across that way; it's not my intention.

The problem with standing on the shoulders of giants is, while YOU may be relatively small in comparison, the giants provide a huge surface for attack. And, when the giants go down, you'll go down with them.

I very much prefer instead to interpret "standing on the shoulders of giants" as "learning from their experiences" instead.

@aral It also doesn't mean "trusting the giants".
If you just install everything like npm pushes you to do, you are trusting any piece of software there... Having a project that has half a million lines of code inside makes it hard to audit...
Is a 500k lines of code project small-tech?
Isn't possible to make the same project in less than 100k?

@ekaitz_zarraga Sure. I could probably create the same project in even 50,000 lines of code. Just give me ten years ;)

@aral HA!

Someone has to break the ice and some others have to make the place secure and safe right?

You can't do everything :)


Don't forget the code included in Node.js runtime, itself.

Sign in to participate in the conversation
Aral’s Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!