Projects

2022/05/24

A few words on some things I built or helped build. Both past and current.


Twitter Profile Impersonation Monitoring

Here’s pmon.me, a small experimental service that lets you search for your Twitter homonys and, particularly, discover if any of them is trying to impersonate you by copying your profile information.

There seems to be many moderately to big sized Twitter accounts that suffer from impersonators trying to push scams or hawk crappy products to users who unwittingly end up following/reading the wrong account.

Wouldn’t it be great if they could easily check for profiles that seem to be exact copies of the legitimate one?

Go try it out!

Back story

I basically needed a good excuse to experiment with a new backend framework, and am happy about the first successful user. Let’s see how long I can hold without writing a single line of front-end code.


Build Systems Illustrated

A short primer about build engineering and build systems. It containins illustrations that introduce very basic ideas and principles on the topic.

It’s a graphically condensed form of some of the knowledge I collected while building up experience in the build engineering universe – a story that I started telling in this post.

This is a first small bet from Daniel Vassallo’s philosophy of things. Find it over here1.

Get a copy!


Scala Timeseries Library

Manipulate and compose time-series data together, in Scala, following the moto:

Everything’s a step function!

In my early career at Tiko Energy we had some needs to manipulate time-series like data. Not only numbers, mind you: user configuration and settings were part of it too, so we had a very basic Java library helping with this.

I got bored during my in-between-jobs break and wanted to work with some Scala, so I wrote a Scala implementation expanding on the original ideas. Note that this is not a statistics package.

See on Github

Extensions

In our quest for the perfect time-series storage backend, ex0ns and Yann Bolliger ended up building chronos-client, a client that lets you turn any Prometheus backend into an analytical engine thanks to scala-promql-client.

These show that you can perfectly use certain metrics stores for much more than just metrics storage: there is no reason you should not be able to rely on PromQL to query your business time-series data.


Scala Prefetching Supplier

A library built with scala-ZIO to let you use the prefetching-pattern I mention here: load everything to RAM and stop worrying about consistency.

See also the presentation at ZIO-World'22.

See on Github


Kaeter – Release Standardisation

kaeter’s roots date back to my consulting days at Sqooba AG. A common problem we had when rotating between various projects involved asking this question over and over again:

How do I release a new version of this thing, and what is the next version number?

kaeter is a slightly overthought answer to that question: it unveils its power in big/mono-repos with many disparate kinds of deliverables (a deliverable being a jar, tarball, docker image, Helm chart, … anything you like, really).

Its goal is to let anyone release a new version of any kind of artifact in your (big, fat or small) repository, integrating with your CI if you should wish so, by the motto:

Your PO and PM should be able to release things too!

See on Github


Checkdoc – Markdown Documentation Tree Validator

checkdoc ensures that markdown files in a repository are properly linked together, with the goal of maintaining documentation quality over time:

If you move some modules around but forget to update the relevant paths, leading to dead links or orphaned pages, checkdoc will tell you.

It was born early on during my time at Open Systems when we started consolidating parts of the codebase into a fat repo, and becomes exponentially more useful as a repository grows. A nice tool for any mono-repo!

See on Github


  1. blog readers get a discount on the illustrated build system by following this link↩︎