blog-jim-nielsen-com-hqckqj.txt (4168B)
1 [1] Jim Nielsen’s Blog Verified ($10/year for the domain) [2]Archive [3]About 2 [4]RSS Preferences 3 Theme: This feature requires JavaScript as well as the default site fidelity 4 (see below). 5 Fidelity: 6 7 Controls the level of style and functionality of the site, a lower fidelity 8 meaning less bandwidth, battery, and CPU usage. [5]Learn more. 9 10 [6](*) Default [7]( ) Minimal [8]( ) Text-Only Update 11 Cold-blooded Software 12 13 2024-01-04 14 15 Patrick Duboy has an interesting post making the rounds titled, [10] 16 “Cold-blooded Software”. 17 18 He analogizes the idea of warm-blooded software: 19 20 projects that are warm-blooded: everything is great when there’s constant 21 motion on the project, generating heat. But put warm-blooded software in 22 the freezer, and you’ll pull out a corpse six months later. 23 24 Against cold-blooded software: 25 26 [Other] projects are different. You work alone, make some changes when 27 you’re inspired, and then don’t touch it again for another year, or two, or 28 three. You can’t run something like that as a warm-blooded project. There’s 29 not enough activity to keep the temperature up. 30 31 [With] A cold-blooded project…You can freeze it for a year and then pick it 32 back up right where you left off. 33 34 I like both warm-blooded and cold-blooded. Both have their benefits and 35 drawbacks. Context, as ever, is key. 36 37 Biology is not my strong suit, but I’m sure you could spend a lot of time 38 contrasting the trade-offs of being a warm-blooded vs. a cold-blooded animal in 39 nature. 40 41 A cold-blooded animal relies on its environment to regulate its body 42 temperature. You rely on what’s provided by your external environment or you 43 die. 44 45 Similarly, cold-blooded software lives off what its platform supplies natively 46 — in the case of the web, that’s vanilla HTML, CSS, and JS. 47 48 A warm-blooded animal, in contrast, has flexibility. It can regulate its own 49 body temperature allowing it to go above and beyond what its immediate 50 environment offers. However, this comes at a cost: a lot of energy must be 51 expended keeping its body at a consistent temperature. 52 53 Similarly, warm-blooded software is not wholly dependent on what the platform 54 supplies. It can make its own way — in the case of the web, that means 55 languages, build tools, and whatever else you can dream of that is above and 56 beyond what the platform offers natively. But there’s a cost in energy, and if 57 you can’t continually pay that cost — well, you die. 58 59 I like how [11]datarama on lobster.rs put it: 60 61 One of [cold-blooded’s] most important benefits over [warm-blooded’s] is 62 that they can have extremely low energy needs… 63 64 “Cold-blooded software” would, I think, be software that tolerates the 65 world around it changing because it’s adapted to have very modest needs 66 that don’t get invalidated easily. But just like there are barely any 67 reptiles in the Arctic, there are going to be parts of our software 68 ecosystem that will be less hospitable to “cold-bloodedness”. 69 70 So pick the context that’s right for you and your project. There’s no universal 71 right or wrong, just trade-offs. 72 73 As for me and my personal projects, I’ve lived long enough to say: give me 74 cold-blooded web pages or give me death. 75 76 But seriously, I will die inside if I have to re-open that webpack project from 77 2015. 78 79 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80 81 Comment? Reply via: [12]Email, [13]Mastodon, or [14]Twitter. 82 83 84 85 References: 86 87 [1] https://blog.jim-nielsen.com/ 88 [2] https://blog.jim-nielsen.com/archive/ 89 [3] https://blog.jim-nielsen.com/about/ 90 [4] https://blog.jim-nielsen.com/feed 91 [5] https://blog.jim-nielsen.com/2022/website-fidelity/ 92 [10] https://dubroy.com/blog/cold-blooded-software/ 93 [11] https://lobste.rs/s/hitos3/cold_blooded_software#c_mxjzwh 94 [12] mailto:jimniels%[email protected]?subject=Re:%20blog.jim-nielsen.com/2024/cold-blooded-software/ 95 [13] https://mastodon.social/@jimniels 96 [14] https://twitter.com/jimniels