Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
Posts
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
But please, realize that a well-intentioned default="localhost:4000" may look like a service to a fellow dev, it is a guaranteed wasted afternoon for another fellow dev(ops) who cannot figure out why their 0.0.0.0:8080 isn't used.
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
- Offer a .env.example, compose.yml or settings.json with all those defaults set. Keep them out of the codebase. Keep them together in one place.
- Document all settings. AI agents are well suited to create/update that conf.md from your code+config files
- Let the app crash on startup when values are missing. Privide good errors instead of silent defaults
- Also let it crash for invalid (out of range, wrong type) values.
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
Some library that has a (20 mins of grepping and spelunking in python libs ...)
self.base_url: str = base_url or os.getenv('PROXY_URL', 'http://localhost:4000
Or a class that does constructor(timeout:number=2000)
Or the settings.rs that has
let dir = std::env::var("DIR_VAR").unwrap_or_else(|_| "/etc/foo/".to_string());
I very much prefer expliciness.
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
My pet peeve in software is "magic defaults", I hate them. So much confusion, so many hours debugging.
To be clear, I love software with the principle of "polished and opinionated defaults, but the option to override". E.g. zed works fabulous out of the box (the love of my live, vim, the opposite) Gnome is simple, user friendly and focused (much like Apple). Stuff that Just Works.
No, my frustration lies in lower level defaults.
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS
Artist making #GenerativeArt Living in the future, building what's missing. $BTC #software #FLOSS