Constraint-based layout for Scenic—a proof of concept

Patrick Tschorn wrote “Scenic is an Elixir UI framework intended for fixed-screen devices. In Scenic, UIs are constructed and updated by modifying a scene graph, i.e. a tree of graphical elements such as shapes, buttons and text fields. Elements are positioned on screen by specifying their x,y coordinates. In this post, I am going to present Jurby, a…”

Cassowary / Kiwi-Solver Elixir Port

Patrick Tschorn wrote “A large variety of 2d diagrams and UI layouts can be described declaratively using x,y-coordinates and spatial relations. These spatial relations, or ‘constraints’, can be expressed as systems of linear in-/equalities, which can be solved automatically by a linear constraint solver. Once the solver has assigned a concrete value to each variable in the system,…”

Home Energy Dashboard with Elixir and Scenic

Patrick Tschorn wrote “As of last month, I am able to poll my solar PV inverter for its current yield and other interesting data, which I would ultimately like to display using a Raspberry Pi plus touch screen. On this home energy dashboard, I would like to be able to cycle through different pages, showing: current solar PV…”

Reading current solar PV output with Elixir

Patrick Tschorn wrote “I have a domestic solar PV installation and I would like to be able to programmatically read the current output, so that I can display it on a dashboard, perhaps together with other information such as a detailed weather forecast for the day and the expected sunset time. The inverter in my installation records a…”

An exploration of local gen_server multi_call in Elixir

Patrick Tschorn wrote “OTP’s gen_server module provides a convenient multi_call method that forwards a given request to all gen_server processes that are locally registered with a given name on a given list of nodes. multi_call subsequently awaits the responses and returns a tuple of successful replies and nodes that failed to respond. I would like a variant of…”

Accuracy, Precision and Recall: Multi-class performance metrics for supervised learning—Elixir

Patrick Tschorn wrote “A key aspect of judging whether a classifier is fit for purpose is measuring its predictive performance. Any commercial project that involves machine learning is well advised to establish the minimum predictive performance that a classifier has to achieve in order to be viable. In a similar vein, it is useful to establish a baseline…”

Outline of a trainable, streaming tokenizer for NLP with Elixir

Patrick Tschorn wrote “Virtually all NLP tasks require some form of tokenization, and in many cases the tokenizers provided by popular NLP libraries are adequate. If, however, the input material strays sufficiently from the norm, the available tokenizers may not be satisfactory and it may turn out that it is nearly impossible or far too costly to adapt…”

Reading ARFF files with Elixir

Patrick Tschorn wrote “If you are implementing a machine learning approach, you are likely to want to test it on publicly available datasets. A large number of these datasets use the ARFF file format established by Weka. I am not aware of any Elixir ARFF readers, so I am going to explore writing one (‘Arfficionado‘) in this blog.…”

Dockerizing Sybase and connecting to it from Elixir

Patrick Tschorn wrote “On a recent project, we were required to connect our software to a Sybase DB on Linux, which we managed through FreeTDS and ODBC. I will summarize the relevant details in this post. Please be aware that a number of alternative solutions are conceivable. I built Docker images for our software, so that I would…”

Visitor7 [CC BY-SA 3.0 (], from Wikimedia Commons

Fast Elixir Porter2 Stemmer

Patrick Tschorn wrote “Motivation: understand the Porter2 stemming algorithm and learn some Elixir On a recent project, my mission was to refine and substantially extend a prototype document classification system originally written by somebody else in Python. In order to keep the extended system small and understandable (i.e. maintainable by the original author), I implemented all but one of…”

A basic recipe for an Elixir SSL server

Patrick Tschorn wrote “In this post, we’ll first try out Erlang’s SSL application interactively and then put together a simple Elixir SSL server OTP application using the Supervisor and GenServer behaviours. Preparation First of all, we’ll create a self-signed certificate: mkdir foo cd foo openssl genrsa -out key.pem 1024 openssl req -new -key key.pem -out request.pem # (using…”