Garmin RepaField

A few weeks ago there was a rainy weekend and I was not able to do the planned work in the garden, also the Vadlan Ultra Terep trail running competition was near, so I decided to create my own Garmin watch datafield.

My main plan was to display both the stamina and the remaining distance from the track in a comparible way (among other metrics I’m interested in, like heart rate, pace and such), but that failed since many metrics are not available through the SDK - stamina among them. But anyway, I’ve created my datafield, I really like it, and at the moment of writing 178 other runners have installed it, too.

You can download it from the Garmin Connect IQ store.

DIY energy gel

Energy gels are expensive as hell, so I decided to cook my own.

Here’s the recipe I used:

HTMX

HTMX is a small (~14k), dependency-free, extendable frontend framework, with a very straightforward approach. It extends the Hypertext capabilities of HTML, without the need of using JavaScript.

Basic concepts:

  • Any DOM element can trigger HTTP requests
  • Any HTTP methods can be used (not just GET and POST)
  • The response from the server is HTML or HTML fragment
  • State management is is server-side, frontend is simple and dummy

Web Security Basics

The security of websites was always an important topic, and in my opinion it’s still a bit neglected by some developers. We have plenty of new tools, browsers try to protect their users more and more, but still, it’s important for a developer to be clear with some basic concepts. Basics Hash Hashing algorithms are basically one way functions, where (typically) the hash(x) call is quick and easy, but its inverse is very slow and expensive - even impossible.

REST

REpresentational State Transfer is a software architectural style for creating stateless web APIs. These APIs are typically based on HTTP methods to access resources specified by URIs that are transmitted in JSON or XML encoded form. They are called RESTful APIs.

Linux Basics

a.k.a don’t fear the terminal

As a (mainly) web developer, I develop software that is mostly running on Linux - whether it’s a virtual machine in the cloud, a docker container, or my NAS under the staircase. So - for me - using any other operating system for development would be an extra hindrance.

To be honest, I like the customisability and freedom that only a Linux distribution can provide, I’m on Linux for more than 20 years, and happy with it. But if you are new, I try to give you a quick overview, why the terminal could be a useful tool.

Web Basics - HTTP

Now that we are aware of the basic networking concepts, let’s take a deeper look at the main protocol of the web - HTTP.

Web Basics - Networking

So, what happens if you enter a URL into the browser’s location bar and press ENTER? A very many things, and eventually a website is loaded and rendered.

Let’s check the networking part!

<repa-shader>

I’m planning to create a custom web component which lets you easily embed your fragment shaders into any website for a long time. You can find some (mostly abandoned ones) on github, so this is my take on the topic (to abandon it eventually 😉).

It tries to be compatible with https://twigl.app/, supporting geekest mode and MRT as well (but only 300 es).

See details on github.

Colors

How do we see colors? How can we “define” them in a generic way? How do we compare them?

Well, this isn’t an easy topic.