6 ms·
To Nerves from Elixir
- hazn 2y agowhat piqued my interest: nerves boots with only barebones linux and the otp/beam vm, effectively turning elixir into the embedded os [0] [0] https://wiki.alopex.li/NervesNotes https://wiki.alopex.li/NervesNotes
- ghayes 2y agoI guess I’ve been a bit disappointed Nerves doesn’t run on microcontrollers, though, such as an Arduino or Raspberry Pi Pico. Basically, once you have Linux, you can run nearly anything already.
- lawik 2y agoIt was never intended to. The BEAM is not a good fit for that environment. I find it a bit bewildering that people are disappointed about that but I think it comes from having had the difference between microcontroller and embedded linux device clear to me from the early Pi and Arduino days. You can look at AtomVM for a way to run Erlang and Elixir on an MCU. It just isn't Nerves. Nerves is a Linux :)
- MarcusE1W 2y agoThere is the AtomVM, a (mini)BEAM for microcontrollers https://www.atomvm.net/ https://www.atomvm.net/ There is also integration for Elixir and AtomVM.
- MisterTea 2y agohttps://www.grisp.org/ https://www.grisp.org/
- hlieberman 2y agoThere's a maniac/genius who made the BEAM VM boot directly on some hardware through his GRiSP project: https://www.grisp.org/ https://www.grisp.org/ Hard real-time Erlang. It's siiiick.
- frou_dh 2y agoI've wondered about something related and the origin of Erlang in the 80s/90s. Back then when it was running on the telephone switches etc, was it running bare metal? Or did those switches run an OS like some form of Unix or something else?
- actionfromafar 2y agoI'm pretty sure it ran on VRTX.
- jeffreygoesto 2y agoHe automated some Rexroth production with it. https://www.stritzinger.com https://www.stritzinger.com
- eproxus 2y agoNot to downplay it or anything, but it is "just" the normal Erlang BEAM VM compiled together with the real time OS RTEMS (which basically implements all POSIX things that the VM needs). Of course, getting it to work needed a lot of research and and experimentation, but the end result is surprisingly simple for what it is. The maniac/genius part is coming up with the idea in the first place and actually pushing through until it works, not many people have the stamina and focus for that. Source: I was part of the original core team, and I developed the first version of the Erlang support library and runtime.
- fuzzy_biscuit 2y ago[flagged]
- lawik 2y agoBwaha! It is kinda jacked up but it was late. Might fix later.
- deleted 2y ago[deleted]
- davidw 2y agoWhat kinds of cool things are people doing with this?
- tzumby 2y agoNot sure if they still do, but farm.bot was using Nerves.
- mrusme 2y agoI once built a firmware for the Pimoroni Keybow with it: https://xn--gckvb8fzb.com/projects/kiwi/ https://xn--gckvb8fzb.com/projects/kiwi/
- postepowanieadm 2y agoBeautiful webpage!
- mrusme 2y agoThank you!
- readline_prompt 2y agoHere in Japan, we have a elixir nerves group. It isn't too active, but have made some stuff. https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://www.youtube.com/watch%3Fv%3D2vbQLT005zc&ved=2ahUKEwig3v6Ghp6IAxV0qFYBHWohJGsQtwJ6BAgPEAE&usg=AOvVaw0YjhWmaxWh8-lTw4DpgjbC https://www.google.com/url?sa=t&source=web&rct=j&opi=8997844...
- hmmokidk 2y agoInterestingly enough it’s actually super nice for making touch screen kiosks. Not to say it can’t do much, much more.
- paradox460 2y agoI once wrote a system to interface with Mettler-Toledo postal scales, with the goal of replacing an ancient vbscriot based interface we were using at work.
- Twirrim 2y agoSuggestion for the blog. After "I adore Nerves", put a comma and a brief description of what Nerves is.
- sethammons 2y agoPart of my job is reviewing software design docs (we plan to solve problem x by doing a, b, c with some diagrams). I am constantly pointing out "please introduce acronyms, tools, vendors, and other $nouns; assume your audience includes an intern"
- Muromec 2y agoDoesn't even have to be an intern. Joining a new company, especially a big one, is always the same struggle -- the soup of acronyms and weird proper nouns. Everybody knows that $colorname is a UI library and $malename is an authentication server and three letter acronym refers to a specific department, maybe in a different company. There usually is a phonebook to look it up, but pre-feeding some context is always nice.
- desireco42 2y agoI tried Nerves a while back... device programming is brutal, Nerves makes it a lot simpler but it is still brutal and makes you wonder how it looks in C. That Mini Phoenix they mention... hahaha, seriously, unless they did some major work it is not a Phoenix. So, that is all to say that device programming is really another level of difficulty. I am too sensitive to deal with that.
- lawik 2y agoMini Phoenix? What? And I run the full Phoenix web framework on Nerves. This comment does not make sense to me, as the author. Sorry.
- isodev 2y agoYou mean Naked Phoenix? It refers to the poncho project setup where Phoenix is added as a dependency to the Nerves project (as opposed to creating an umbrella project). It's really just normal Phoenix.
- Muromec 2y agoSo how does one get a job in Elixir or erlang without doing erlang for the last 1,2,5,10 years?
- sieabahlpark 2y ago[dead]
- lawik 2y agoThe years help. As they do everywhere. Competitive job market all around right now. Taking the question at face value, I don't know your intent, and not as a bitter commentary on the experience of trying to find a job with tech one likes: I know people that did embedded C++ that got recruited into doing Elixir on a Nerves project. I know lots of people who have just switched their web work in Ruby or Python to Elixir. Either by finding the job or doing the work for getting the tech adoption OK:ed at current employer. Most Elixir devs I know did not have prior Erlang experience. But most did have prior dev experience. The BEAM ecosystems solve problems you mostly encounter with some experience. I have also seen and onboarded several junior folks into the ecosystem and jobs as their first professional thing. Connecting and collaborating with people who could vouch for you when the opportunity comes is a good starting point. But there are many paths. (edit: fix a spelling)
- petesergeant 2y agoSneakily introduce it at your current workplace for a specific project, and then after a year you have commercial experience
- Muromec 2y agoThat's the standard way, that one I know.
- cultofmetatron 2y agoJust hired a elixir dev recently. Assuming you already have experience developing in another platform, learn elixir and My advice would be to be active on the elixir slack and to have a few projects. Develop experience with ecto/oban/phoenix. theres plenty of jobs. There just aren't many people that know elixir well.
- foxhop 2y agohttps://nerves-project.org/ https://nerves-project.org/