This article is a response to https://home.robusta.dev/blog/stop-using-cpu-limits. It's a good article, it makes a good argument, and you should read it. Enabling bursting is a good idea # Let me start off by saying the original article is correct that enabling services to burst above limits can be very powerful, and can reduce the likelyhood of production issues. When a service receives a sudden…
As part of a personal project I needed to autonomously read the contents of pricetags in grocery stores. The exact layout and contents of these vary by store, but they are generally epaper tags with at least the price, product name and some product number. Some examples of the different tags, layouts and conditions seen in the wild. A different model crops the regions. Images are often bad, and…
Early 2017 I experimented with writing a well behaved JSON parser NIF in Rust, using the Rustler project. I never wrote about it or showed it off at the time, but I recently looked back at it and realized it could do some pretty cool things. Github Schema validation # Specs # The parser has the ability to validate and modify the schema of the JSON you are parsing, as you are parsing it. To do…
Lately I have been spending some time at the Hackheim hackerspace in Trondheim. Although being located at the back of a bar and arcade is really cool, looking around and seeing projects like the Flaschen Taschen made us feel slightly insecure about our digital signeage situation. Things needed to be set right, and we decided to outdo them. After thinking it through, we snapped back to reality, and…
This is the talk I held at PolyConf 2017 in Paris. It's on the subject of using Rust in combination with my crate rustler for writing Erlang/Elixir NIFs in a safe way. This is my first talk, so any constructive feedback is welcome!
Newer Apple devices have a feature called Force touch. It allows the device to accurately measure the pressure that is applied to the screen by the user. This is done by a dedicated sensor located on the back of the screen. The Xperia Z5 by Sony does not have such a sensor, and thus can not directly measure the pressure which is applied to the screen surface. However, the phone is waterproof. This…
Natively Implemented Functions, more commonly known as NIFs, are not a new thing in Erlang. They have been around for several years, and are commonly used for speeding up simple tasks like JSON parsing. The reason why they are not more commonly used for general computation is the massive disadvantages they carry with them. While Erlang is generally built for reliability and fault tolerance, all…