Too bad about the reWind Mac app, which they've kneecapped with the latest update starting on Dec 19th even though it could probably have continued to function as a local-only thing. It was kind of nice as a local everything-memory, made some of my compliance work easier and stuff. Now deleting all the data and uninstalling it.
I also bought the Pendant but more out of techno-curiosity, never really used it much, so not much loss there. I'm sure a lot of people will be upset with the discontinuation of that, though.
I've used both heavily and I'd have to say no. You are in general better off with Elixir, with easy access to all Erlang and Elixir libraries, all BEAM functionality, a better package manager and build tool, and a more modern feeling / easier to learn programming language. Also starting to see a progressive type system and just a much faster developing ecosystem in general.
I think by now there's also more open source Elixir code out there, which means LLMs will be somewhat more proficient in Elixir (they're not great at it though, but enough to help).
It's harder to work in Erlang and incorporate Elixir libraries than the reverse, although it's certainly possible (you would use the mix build tool from Elixir to do so).
My main pros for Erlang are that it's a simpler language than Elixir with less "magic" and fewer footguns. I still use both, in the same system even, but most new code in the system is written in Elixir.
Some part of the reason for this is that pretty much anybody who is owns a single-family home in Iceland outright and is otherwise mostly debt-free would count as a millionaire (in USD) these days, because housing has appreciated by ridiculous amounts in the last 20 years or so.
One of the reasons there are a lot of house-millionaires is because some of the oldest generations, who bought their homes before 1980 or so, took normal loans with fixed interest rates, just before massive inflation in the 80s. The decrease in value per krona in ten years starting 1980 was something like 99.7%, so the loans went pretty quickly to something indistinguishable from zero. Inflation-indexed loans have been the only type of housing loan you could get for most of the time since about 1981, and are still the norm. The effect around that time of transition was that the younger generations (next waves of house buyers after them) were saddled with a lot of the burden.
OP here, the switches we used are push-button Berker switches. I can't say I'm 100% happy with them, they look nice and are tactile but they are the "toggle" type - push and hold to either dim or brighten (never really know which) then again for the other direction, or quick push for on/off. My other annoyance is that sometimes a quick push does not register, but I don't know if this is because of the switch or because of the Shelly dimmer... I think more likely it's the dimmer.
Me too, initially in a chat with GPT-4 [0] and then in a (private for now) wrapper that sends me a text message when analysis is complete, sums up the day's meals, and compares to my total calories burned per Apple Watch.
Yes, the BEAM VM allows you to write native code in a few different ways and call it from BEAM-native languages. For Rust there is a library called Rustler that simplifies the process a lot.
I'm a very long-time Beeminder user and would recommend it to anybody looking for another motivational mechanism. It's not always the best approach to motivation, but for certain types of goals like "work out frequently enough", the one-week "akrasia horizon" which kind of means you're mentally committing to work by your future self rather than your present self (and as your present self you can only un-commit with a week's notice), along with staying on a good-enough-on-average "yellow brick road" as they call it, is a game-changer.
The "vertical" example looks contrived in JavaScript, but if that's your thing, I think it's OK.
But please don't promote antipatterns from languages that actually have a pipe operator (like Elixir) such as the '''concat("!")''' where the previous implementation's version using an operator is much clearer and more idiomatic.
I see a ton of Elixir code where people shoe-horn things into a vertical pipeline where the "normal" code would be a lot more readable, for example invoking '''Kernel.+(2)''' instead of just doing '''my_var + 2'''
Elixir/Phoenix is a great option. Oban for batch processing. Everything runs either in the Elixir VM (BEAM) or on PostgreSQL, no other servers to set up or manage.
Same for personal projects.
Sentry is great for monitoring. Prometheus/Grafana for operational insights. All are easy to integrate with Elixir.
I also bought the Pendant but more out of techno-curiosity, never really used it much, so not much loss there. I'm sure a lot of people will be upset with the discontinuation of that, though.