I'm having the same experience, trying Sober October. Hangovers suck, but I've stopped drinking to that point years ago so now I feel like not joining in socially is a net negative, limiting my ability to participate in the same experience as my friends (I'm 33).
Nah, nothing that complex. The only AWS service we use that isn’t just their clone of an existing tool is S3, which we just use fakes3 for. Everything else is easily deployable in a cluster already, because it’s mostly standard systems like mysql, elasticsearch, redis, etc, that AWS has versions of, but that don’t require any special treatment. The ingresses, etc are obviously different, because it doesn’t rely on the aws loadbalancers in dev, but that’s all abstracted away and automatically handled anyways.
A big problem we've hit with allowing users to write Typescript (or any other general-purpose programming language) for our product is that it's too powerful.
Observationally, it seems that all that power eventually gets used, and then you end up with config that has complex interfaces, or becomes non-portable because it's doing arbitrary file reads, or is non-deterministic because of an ill-advised call to random or the system clock. The config then becomes something not maintainable by the rest of the team - just the few who know it.
Config languages seem to need to strike an interesting balance between being complex enough to allow for reasonable DRY code (which helps maintainability at the expense of readability), but not so complex that they're not generally-maintainable.
Yep, application code can have the same problem! The difference is that application code lives "inside the abstraction" of the program, and is viewed and edited by a much smaller set of developers.
Configuration, by contrast, sits at the seam between two systems. It's the top-level parameterization of the abstraction, and behaves more like an API. E.g. imagine if the only way to configure Kubernetes or Docker were in language-specitic bindings - there was no such thing as a YAML lingua franca.
100%. Containers are essentially language-agnostic software libraries, and the config we write for them is analogous to the wiring we'd normally do in a to wire libraries together. Yet, our current tools aren't adapted to write and distribute the "programs" formed from gluing them together.
Agree - one of the things we've found using Starlark at Kurtosis is even the small jump from Python to Starlark makes people think, "What's this Starlark? I don't want to learn a new language", and we have to show them how not-a-new-language it is. I can't imagine bringing a truly new language like Pkl to folks and having them enjoy it.
I thought the same thing with the Godot game engine's GDScript. Aside from a few class-level implementation details (IIRC, it's been a while) it's essentially Python, syntactically. "Ugh... If I'm going to learn a new scripting language it's not going to be application-specific... Oh NM."
danielgtaylor, I hope you don't mind me submitting - I stumbled across Huma today while investigating if anybody had made the idea I was contemplating; turns out you have and it's way better than my own idea!
Fascinating and informative article. I'm wrestling with an unknown something that looks like it might be autoimmune, and this reads like the difference between "you're destined to a lifetime of palliative treatments" vs "there might be a something you can do to actually cure yourself". And I don't even have anything confirmed; I can't imagine what folks who actually have a confirmed autoimmune disorder must be feeling.
The biggest thing that helped me was diet (avoiding suspected inflammatory foods and drink). The diet that worked for me was very low carb (I keep it under 30g a day). Also, always getting sleep, no matter what 8-9 hours a night. I only eat in an 8 hour window each day (11-7pm). I only eat food that isn't processed to avoid artificial ingredients and possible triggers). For about a year I was seeing doctors and barely getting any work done, I was on crutches most of the time because it hit my knees particularly bad but it was a full body condition with swollen joints and lethargy. I tried several drugs, prednisone was the only one that made the slightest difference, but basically completely robbed me of the ability to focus on anything complex. Switching up diet and getting rest was what seemingly did it. After about a month of that most symptoms gone, after 3 all symptoms gone. It could have been strictly coincidence, but I dropped a bunch of weight and haven't had a recurrence since that happened. I got used to the diet limitations, but it took a while. It's been 6 years of no issues. Some things thrown at me by docs, "it was an unknown virus we couldn't find in your blood samples", "it was a food allergy, your radical diet cut out or greatly reduced whatever it was", "It's just in remission", but I'll keep doing what I'm doing since in general it got me back to my fighting weight, I have plenty energy, all my blood work and physicals show I'm in great health, so it is what it is.
This sleep thing is so intriguing. I've treated sleep as somewhat optional - try to get 8h... but if I don't, I'll make it up later at $unspecified_date. Unsurprisingly, my Fitbit registered that, for 2023, I got 6.5h of average sleep per night. Your post suggests that making 8-9 hours per night mandatory might do some good; I'm going to give this a go. Thanks!
I think it's worth trying. Not all people are the same but I think getting less that 7 for most people is a bad idea. It's pretty fascinating what the body does while you're asleep to "clean up" and rebuild after the day's activities, especially in the brain. 8-9 is just what I aim for and get.
I'm 6ish years into my RA diagnosis. The first 2 years were very rough both physically but more so mentally. I manage the mental aspect better now, and my symptoms have stabilized which certainly helps the former. However it's easy to dip into despair when you know what the long term prospects are for life quality and expectancy.
I chuckled reading this, as we're trying to do exactly what you described at my current startup, https://github.com/kurtosis-tech/kurtosis ! More seriously, I've been mulling over the idea that humanity is going through a continual process of modularization and unification:
First came machines, to perform simple "computation" tasks.
Then came the computer with instructions to represent the generalized notion of computational work.
Then we wanted a way to DRY instructions so we got functions.
Then we wanted a way to package collections of functions so we got libraries.
Then we wanted a way to manage collections of libraries so we got package managers.
Then we wanted a way to distribute collections of packages so we got containers.
Now we're in a world where instantiating and configuring a collection of containers is error-prone, burdensome, and rarely portable.
Each level adds something (containers have the benefit of being language-agnostic), but the price is complexity.
I was secretly assuming that something like that is already being done. ;)
Recursion is fine and useful. What’s detrimental is if each layer defines conceptually same things in slightly different ways and with different terminology. Make a recursive format (like a file system) and be done with it (and/or extend it so that all levels can profit from the extension).
Yep, I agree. I've been chatting with a friend about Nix (I'm a novice) and it sounds like it has the capacity to treat many things as Just Files connected in a dependency web, which is cool.