Wasmio 2023

I just got back from sunny Barcelona where the WasmIO 2023 conference was held. It was purely and simply a blast! I want to thank the organizers for their hard work in making this first WasmIO conference awesome. Y’all are awesome! WasmIO was a two-day, single-track conference, and we had the creme de la creme of the people involved in the Webassembly world. And I was lucky enough to also be a speaker.

Read More

Writing a Window Manager In Rust - Part 2

Welcome to the second installment of this series. In the first part we managed to set up our development environment and finished with a simple window manager that shows windows. This is a great start but let’s now make it so that our window manager, you know, manages windows.

Read More

2022 in Review

Well this is a first for me. I don’t know what changed but this time I felt like writing a recap of my year. And boy, this year was an exciting one for me personally and professionally.

I won’t go over the personal stuff for obvious reasons but there were a lot of good things happen to me this year and of course some bad. Life is like that, you can’t have nice things but you can’t also only have lemons.

Professionally though, that’s another story, let’s talk about that!

Read More

Writing a Window Manager in Rust - Part 1

This is the first part in writing miniwm, a window manager for X11 in rust.

I recently got my Linux machine working again and I thought I would try and make a window manager in rust. This is something I tried many moons ago but back in the day all you had was C, the xlib documentation and code from other window managers. Let me tell you it wasn’t easy…

Read More

Add docker/docker to your dependencies

The problem

If you are using go modules and want to use the client from docker/docker in your code you would do something like this:

 1package main
 2
 3import (
 4    "context"
 5    "fmt"
 6
 7    "github.com/docker/docker/api/types"
 8    "github.com/docker/docker/client"
 9)
10
11func main() {
12    c, err := client.NewClientWithOpts(client.FromEnv)
13    if err != nil {
14        fmt.Println(err)
15        return
16    }
17
18    containers, err := c.ContainerList(context.Background(), types.ContainerListOptions{})
19    if err != nil {
20        fmt.Println(err)
21        return
22    }
23
24    for _, container := range containers {
25        fmt.Println(container.ID)
26    }
27}

Read More

First

Hello world!

package main

import "fmt"

func main() {
  fmt.Println("Hello world")
}