erlexec
nerves
erlexec | nerves | |
---|---|---|
2 | 15 | |
533 | 2,244 | |
- | 1.1% | |
6.5 | 8.5 | |
about 1 month ago | 9 days ago | |
C++ | Elixir | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
erlexec
-
Elixir for Ruby developers: the three most important differences
https://github.com/saleyn/erlexec is pretty good for handling external processes. The builtins aren't quite there if you have more complex use cases.
- If docker-compose and K9S had a baby (without the containers gene)
nerves
- To Nerves from Elixir
-
Open Source Farming Robot
And here: https://github.com/nerves-project/nerves (used by FarmBot)
-
Exo: Run your own AI cluster at home with everyday devices ⌚
I avoid touching Apple devices but anything that can expose a Linux shell can run the BEAM. There are two main projects for small devices, https://nerves-project.org/ for more ordinary SoC-computers and https://www.atomvm.net/ for stuff like ESP32-chips.
On Android you've got Termux in F-Droid and can pull in whatever BEAM-setup you want. That's how I first started dabbling with the BEAM, I was using a tablet for most of my recreational programming and happened to try it out and got hooked.
Erlang is pretty weird, but it just clicks for some people so it's worth spending some time checking it out. Elixir is a really nice Python-/Ruby-like on the BEAM, but with pattern matching, real macros and all the absurdly powerful stuff in the Open Telecom Platform.
-
Ask HN: Is there any software you only made for your own use but nobody else?
I built a hydroponic garden as a covid hobby. I wrote software to maintain the garden, water it on schedule, apply ph changes to the water, turn lights on / off, humidify, as well as monitor statistics (temperature, humidity, water temperature, water ph, water conductivity).
Rough guess would be that I spent 50 hours actually working on the software.
There's a handful of raspberry pis involved. I wrote everything in elixir / used https://nerves-project.org for a bit of. The dashboard is written with phoenix live view. One of the raspberry pis is the "brain" and basically runs the dashboard and controls devices. The devices are all in an elixir cluster. I also run timescale db for some basic history of metrics.
Once I start a grow I don't use it that much actively, but it passively runs all the time. I check in every few days or week to make sure nutrients are looking good.
I've grown strawberries, lettuce, jalapenos, and cayenne peppers.
- Embedded Elixir
-
Where Nerves-related Mix tasks are defined?
The nerves package's README.md explains what each repository is responsible for with a comprehensive listing.
- Elixir for Ruby developers: the three most important differences
-
Firefly – A new compiler and runtime for BEAM languages
You may be already aware of it, but just in case, there is the Nerves project: https://nerves-project.org/
-
Mixing sync and async views in the same application
As for embedded... I've only dabbled. Yeah you're not going to run Elixir on an Arduino or other very minimal bare metal embedded processor. But the Nerves Project (https://nerves-project.org/) which runs Elixir directly on SBCs is very well regarded. But either way it doesn't matter, since I thought we were talking about web dev, which is where Phoenix and Elixir just make more sense, for me.
-
what is the common usage of elixir
For me particularly I like it for things like APIs, Web Platforms (lower resource usage than other languages), and embedded devices via Nerves. However I've also used it on my endpoints to monitor them via Erlang's built in os_mon. Another usage is the distributed nature of erlang can allow you to do things like connect two nodes and run code on a remote node via remote procedure calls. This would allow you to execute something in a nearby geolocated node and reduce latency. Fly.io did a talk on this feature.
What are some alternatives?
libex_config - Helpers for accessing OTP application configuration
tamago - TamaGo - ARM/RISC-V bare metal Go
GenDelegate - Macro based delegates for GenServer functions
nerves_livebook - Develop on embedded devices with Livebook and Nerves
WebSockex - An Elixir Websocket Client
live_svelte - Svelte inside Phoenix LiveView with seamless end-to-end reactivity
immortal - Helper modules for OTP applications
hardcaml - Hardcaml is an OCaml library for designing hardware.
core - Library for selective receive OTP processes
cubdb - Elixir embedded key/value database
XGPS - GPS for Elixir
libcluster - Automatic cluster formation/healing for Elixir applications