Short introduction to filesystems

In an operating system, the filesystems are responsible for organizing and storing files and directories. They provide a way to access and manage the data stored on the storage devices. Such storage devices can be hard drives, SSDs, USB drives, magnetic tapes, optical discs, RAM disks, etc. They can be shared over the network and they can be even virtual (like procfs or sysfs).

Jujutsu VCS - short introduction

Jujutsu (jj) is a VCS unlike most other, its user interface is separated from it storage system(s). This allows it to serve as a VCS with many possible physical backends, that may have different data/networking models.

Currently it uses git by default as storage layer, making it compatible with all the existing git ecosystem.

Martin started it as a hobby project in 2019, and now it’s his full-time project at Google.

About running

About running

I hated running all my life. Then fate intervened, and since I didn’t have much opportunity for other forms of exercise, I started running in the forest during chemo - got that biweekly - first week was about survival, on the resting weeks I ran two-three times, 3-4kms. Then the habbit stayed - I loved the forest before, and I thought that if I could go out during chemo, then rain/mud/cold wouldn’t be able to hold me back. And indeed it can’t. The next year I kept the same pace - two small circles a week -, but then covid hit, we went home office, and I started increasing the distances and pace.

It’s interesting to look back and see that in the beginning I ran my 3-4 km tracks at the same pace as the 50+ km Vérmókus I ran recently.

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. In most cases they map arbitrary strings to fixed length, ones with very low probability of collision.

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.