Project Spotlight: Tortoise, a MQTT client for Elixir
Tortoise is an MQTT client written for Elixir. MQTT is a lightweight machine to machine pub/sub protocol. Tortoise’s goal is to wrap the message passing nature of MQTT in a library that feels natural to an Elixir developer—that is, passing a message to the broker is like sending a message to a process, and receiving messages from the broker is handled via a GenServer-like callback module defined by the user. Tortoise will do its best to make sure the message is delivered, even if the connection should be dropped temporarily.
The project works great in combination with Nerves, but can also be used to orchestrate work between computers in a data center, or provide feedback from a CI system; the sky's the limit.
Currently Tortoise supports just about everything specified in the 3.1.1 specification of the MQTT protocol. Recently, many brokers have started to update to the MQTT 5 protocol, and work has been started to support newly introduced features in Tortoise.
There are many ways one can help out development; the easiest is trying it out and giving feedback about the experience. Documentation and user guides are also great ways to help out, or one can… casually mention the project during your keynote at a major programming conference.
Project documentation can be found on the Tortoise HexDocs
$ tail /dev/random
# it’s not news, but it is newsworthy
- Volkswagen - detects when your tests are being run in a CI server, and makes them pass.
- Make Ingress-Nginx Work for you, and the Community - k8s ingress setup and management, for all your border routing and SSL termination needs.
- You don't need - Alternatives to frameworks and libraries that are no longer needed
- Iridium VM - written in Rust, Iridium is an effort to build a dynamic programming language with an infrastructure-focused VM. Think Python on BEAM.
- How to draw a Black Hole - Geodesic raytracing in curved spacetime
- Whatever Happened to the Semantic Web? - Press F to pay respect
- GraphQL editor [Hackernews] - visual node editor for GraphQL
- How to create beautiful pipelines in Elixir with Opus - A nice declarative style for constructing pipelines in Elixir in a Railway-Oriented Programming fashion. Bonus: generate diagrams of your pipeline!
- Critique of a Code Meme - I love RemoteData in Elm, but this is a nice counterargument (I still love it).
Adam has over 19 years of software development experience, and has spent a good part of that educating new developers. He was previously CTO at inside.com and Development Director at Maxmedia . When Adam isn't coding, he is off hiking in Colorado mountains, or practicing some pretty fly martial arts. He thinks swords are cool.