davideisinger.com

My personal website
Log | Files | Refs | README

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