Files
davideisinger.com/static/archive/blog-jim-nielsen-com-hqckqj.txt
David Eisinger fd86fe4bca Add links
2024-01-30 09:57:37 -05:00

97 lines
4.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[1] Jim Nielsens Blog Verified ($10/year for the domain) [2]Archive [3]About
[4]RSS Preferences
Theme: This feature requires JavaScript as well as the default site fidelity
(see below).
Fidelity:
Controls the level of style and functionality of the site, a lower fidelity
meaning less bandwidth, battery, and CPU usage. [5]Learn more.
[6](*) Default [7]( ) Minimal [8]( ) Text-Only Update
Cold-blooded Software
2024-01-04
Patrick Duboy has an interesting post making the rounds titled, [10]
“Cold-blooded Software”.
He analogizes the idea of warm-blooded software:
projects that are warm-blooded: everything is great when theres constant
motion on the project, generating heat. But put warm-blooded software in
the freezer, and youll pull out a corpse six months later.
Against cold-blooded software:
[Other] projects are different. You work alone, make some changes when
youre inspired, and then dont touch it again for another year, or two, or
three. You cant run something like that as a warm-blooded project. Theres
not enough activity to keep the temperature up.
[With] A cold-blooded project…You can freeze it for a year and then pick it
back up right where you left off.
I like both warm-blooded and cold-blooded. Both have their benefits and
drawbacks. Context, as ever, is key.
Biology is not my strong suit, but Im sure you could spend a lot of time
contrasting the trade-offs of being a warm-blooded vs. a cold-blooded animal in
nature.
A cold-blooded animal relies on its environment to regulate its body
temperature. You rely on whats provided by your external environment or you
die.
Similarly, cold-blooded software lives off what its platform supplies natively
— in the case of the web, thats vanilla HTML, CSS, and JS.
A warm-blooded animal, in contrast, has flexibility. It can regulate its own
body temperature allowing it to go above and beyond what its immediate
environment offers. However, this comes at a cost: a lot of energy must be
expended keeping its body at a consistent temperature.
Similarly, warm-blooded software is not wholly dependent on what the platform
supplies. It can make its own way — in the case of the web, that means
languages, build tools, and whatever else you can dream of that is above and
beyond what the platform offers natively. But theres a cost in energy, and if
you cant continually pay that cost — well, you die.
I like how [11]datarama on lobster.rs put it:
One of [cold-bloodeds] most important benefits over [warm-bloodeds] is
that they can have extremely low energy needs…
“Cold-blooded software” would, I think, be software that tolerates the
world around it changing because its adapted to have very modest needs
that dont get invalidated easily. But just like there are barely any
reptiles in the Arctic, there are going to be parts of our software
ecosystem that will be less hospitable to “cold-bloodedness”.
So pick the context thats right for you and your project. Theres no universal
right or wrong, just trade-offs.
As for me and my personal projects, Ive lived long enough to say: give me
cold-blooded web pages or give me death.
But seriously, I will die inside if I have to re-open that webpack project from
2015.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Comment? Reply via: [12]Email, [13]Mastodon, or [14]Twitter.
References:
[1] https://blog.jim-nielsen.com/
[2] https://blog.jim-nielsen.com/archive/
[3] https://blog.jim-nielsen.com/about/
[4] https://blog.jim-nielsen.com/feed
[5] https://blog.jim-nielsen.com/2022/website-fidelity/
[10] https://dubroy.com/blog/cold-blooded-software/
[11] https://lobste.rs/s/hitos3/cold_blooded_software#c_mxjzwh
[12] mailto:jimniels%2Bblog@gmail.com?subject=Re:%20blog.jim-nielsen.com/2024/cold-blooded-software/
[13] https://mastodon.social/@jimniels
[14] https://twitter.com/jimniels