photo from @centelm, unsplash

Self-righteous bullying for the sake of it

I first heard the term “help Vampire" while looking for a solution in the Arch Linux forum. The Arch Linux community maintains an excellent wiki; sadly, the same cannot be said regarding its forum, as their administrators are so fixated on keeping it clean from clutter that they end up littering it with their own complains.

The vast majority of useful posts end with one or more moderator urging the OP to shut up for some reason. In this particular question, I found the invite not to be a “help Vampire”

Following various…


Photo by Chris Ried on Unsplash

Python is one of the most popular programming languages of the 21st Century. It is a general-purpose language used for Web Development, Artificial Intelligence, Machine Learning, Data Science, Mobile Application development, and some Video Games.

The reason behind its success lies in its inherent simplicity and approachability: from the intuitive syntax to immediate procedure to install the interpreter as well as new libraries, Python has the shortest time from download to first project for a new programming student.

Python — Programming Hotshot!

While the benefit of simplicity was its first pull factor, Python is now a self-propelled popularity machine. It is first in my…


Image taken from unsplash, @ashkfor121

Attempting to Programmatically Combine Stateful Components in The Elm Architecture

It’s been a while since I fiddled with Elm. Though I don’t use it regularly I sometimes take a stroll around it to see how it’s doing. This time I stumbled upon tea-combine, a small library made with the purpose of easily glueing together subcomponents of a bigger application.

Since I only use Elm for fun it’s unlikely I’ll ever really need it. Regardless I was curious to understand how it worked under the hood and the author prompted me to write a small tutorial about it, so here we are. …


I work for a small firm delivering electronic solutions for industrial applications. My job is to develop the embedded firmware for the custom boards we design.

When I say “custom” I mean specifically designed PCB boards powered by bare microcontrollers — no big processors or huge memory sizes: most of my projects can be measured by the Kilobyte.

Using few resources usually means lower costs. Our clients don’t actually care how much processing power or disk space is used by the final product — the selling point is the price. …


Photo from @daniel_restrepolondono on unsplash

How Simple Procedures Start to Diminish the Returns of Embedded Products

I’m in the field of industrial embedded products. My firm develops and sells custom boards for a variety of clients to drive professional machinery.

Every year I work on about a dozen projects that range wildly in their requirements: user interfacing, wireless connectivity, low power and energy saving, time sensitivity and so on. Some of them are harder to put together, some others are done in a few weeks.

Perhaps unsurprisingly, the one aspect that invariably dominates is the price. Regardless of the target industry, every client highlights how their product must be, before anything else, as cheap as possible.


A story of recycling for the sake of it

A few months ago I stepped on the scrap of a heating panel used to dry car paint (the context being I was working to replace the electronics driving the machine). It had a simple control timer: turn on the heat for a given time, then turn it off and beep to signal the end of the cycle. Its new version is going to have a shiny — albeit useless — LCD display and a few more buttons to justify the remodeling and consequent price raise.

Since the shell around the electronics was to be kept more or less the…


A story about blind acceptance of induced complexity

Once upon a time I was a Computer Science student just starting his first classes. Among the mandatory topics were C++ programming and Fundamental Logic. Those two courses introduced me to a curious dichotomy that would repeat itself time and time again in the academic setting: while one professor proceeded to teach us the principles of Object Oriented Programming justified as the industry standard for big, serious projects, on the other side his/her colleague would explain us that those were outdated techniques rendered obsolete by more modern approaches to programming.

This was a recurring theme in almost every year: Programming


I am a command line kind of programmer; GUI tools make me shiver and growl until I can scuttle back to the safety of a terminal. However, from time to time the need arises to create a functional — albeit simple — user interface, be it due to the target system or because the tool needs to be shared with less tech-savvy friends. In those rare cases my go-to choice of tools is usually Python paired with the Tk UI library.

It’s not the best. Before using it I always allocate half an hour to the research of a more…


Leveraging LvGL’s capabilities on a low resource project

My line of work brings me close to small embedded systems with minimal UI: a few LEDs or some digits displays. From time to time however I end up working with small monochrome screens, sparking the need for a working albeit simple GUI library.

In this field, the available resources are barren to say the least. Most results found online refer either to proprietary libraries distributed by LCD vendors with nonexistent support or to dubious code generators that fail to deliver anything beyond a few supported drivers, if at all. My same company’s previous solution was a cracked and modified…


It was not ripe anyway

As of recent I have been noticing more and more articles and blogs taking cheap shots at Computer Science degrees in general, with claims ranging from mild disagreement to straight dissing.

I am a freshly graduated Computer Science Major and I was fairly satisfied in what I ended up gaining from the experience. Partly because of this, every time I stumble upon one of those articles I am compelled to read it to understand if there is some valuable criticism; yet, I never read anything that even makes sense in this regard.

For the sake…

Mattia Maldini

Computer Science Master from Alma Mater Studiorum, Bologna; interested in a wide range of topics, from functional programming to embedded systems.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store