Hi, I'm Tim.

I am a software developer based in Famagusta, Cyprus. At the moment, I am building Peaklingo, a language app for advanced learners. My main languages are Rust, TypeScript and Python.

Latest articles all

Configuring HDMI output on a Raspberry Pi 4

How to configure Raspberry Pi 4 servers such that an HDMI monitor can be hot-plugged

Forays into using Raspberry Pi 4 as a home server

Discusses disk issues encountered while upgrading a Pi 3 to a Pi 4

Why study adpositions?

On the importance of studying adpositions in natural language processing

Latest updates all

Built a lightweight blog server in Rust over the past few weekends. The page templates are specified in a custom DSL inspired by styled-components which is parsed with nom:

component Favicon {
  style {
    all: unset;
  }

  {if page == "main"}
    <FaviconImage />
  {else}
    <a style="cursor: pointer" href="/">
      <FaviconImage />
    </a>
  {end}
}

All code changes are published with Woodpecker CI to a local Docker Registry instance. The templates, articles and posts are stored on Hetzner S3 as a tar.gz archive, and loaded into memory on startup. Internal endpoints reload the archives and make new content or style changes available without downtime.