Sign up

Andri Óskarsson | andri.dk

Not verified No WebSub updates Supports Webmention Not yet validated

I make websites, create apps, manage infrastructure, develop products and more.

Public lists
I ♥ RSS
Fetched

Andri Óskarsson | andri.dk Supports Webmention

Over-engineering our vacation in 2026

I am of two brains. I need structure, but I hate planning. We had decided to stay in Iceland for a few weeks while visiting family and attending family gatherings. But, that left a lot of empty columns in the calendar, and people asking me if we have any plans. I shrugged an...

Andri Óskarsson | andri.dk Supports Webmention

Old dog, new tricks

As an old school programmer, I thought I'd write down my journey into agentic AI and reflect on it. Why I love programming I've been programming for as long as I remember. My parents bought an Amstrad CPC 128k (yes, that's the RAM size) and I was immediatly hooked, at the ag...

Andri Óskarsson | andri.dk Supports Webmention

Gastro: Server side web framework for Go

Writing web applications in 2026 I've been creating web pages for a long time. I started with Microsoft Frontpage, graduated to plain HTML (think table layouts, font color, limited css) and then when PHP v3 dropped I started building web applications. These applications were...

Andri Óskarsson | andri.dk Supports Webmention

Why your coding-agent should be writing Go

Go (or Golang for some) may not be the best-in-class language for everything, but I think it's ideally suited for LLM coding. The community is special in a way that is a bit differrent than communities of other programming languages. There's a strong feeling of doing things ...

Andri Óskarsson | andri.dk Supports Webmention

Learning n8n and using it to promote my blog

I've been having a bunch of fun learning n8n during the holiday vacation. I've hooked it up so that when I write a blog post in my site, it's published to RSS and... Checks if the URL is already processed, abort if it is Content is summarized by an LLM (I'm lazy, sorry) Sto...

Andri Óskarsson | andri.dk Supports Webmention

MySQL/MariaDB cheatsheet

A few useful snippets while using MariaDB/MySQL. Copied from my notes. Get ready for some YELLING. -- show slave status without your eyes bleeding SHOW SLAVE STATUS\G -- show master status SHOW MASTER STATUS\G -- processes SHOW PROCESSLIST; -- show users SELECT User, Host...

Andri Óskarsson | andri.dk Supports Webmention

Social-media images directly into PNG from JSX with Takumi

Improving engagement of your online content can come down to how it's previewed on social-media services. If you're like me, and not keen on creating these open-graph images by hand for every post then you can generate them programmatically. Takumi Takumi is a tool that rece...

Andri Óskarsson | andri.dk Supports Webmention

Replacing Makefile, direnv, asdf and more with Mise

Have you ever joined a new project and then spend an entire day setting up your developer-environment? Worked on a large project where one of the many tech-debts are that nobody updated the runtime for 10 years, and now nobody dares touch it? "What version of Java/Python/et...

Andri Óskarsson | andri.dk Supports Webmention

Technical Scrolls for Bluesky

I've always been interested in technology, and not much else. When social networks emerged I was excited for all the technical content I'd have access to. Unfortunately big-tech has no interest in allowing us to control how we consume content. Facebook started out with allow...

Andri Óskarsson | andri.dk Supports Webmention

Tech Podcasts for 2024

Some of the podcasts I enjoy during my bike-trip to work. Soft Skills Engineering Soft Skills are an underrated ability in engineers and Dave and Jamison deliver their advise in such a funny and helpful way that it's hard not to smile while listening to it. Syntax.fm Scott a...

Andri Óskarsson | andri.dk Supports Webmention

Live reloading a Go web application

import video from "./live-reloading-golang.mp4"; I was playing around with server-rendering, and couldn't really find a good workflow for restarting the Go server, generate templates and generate CSS on changes without manually reloading it. <video controls> <source...

Andri Óskarsson | andri.dk Supports Webmention

Declarative Software Environments

How I envision we can bring as much value as possible out of a software team

Andri Óskarsson | andri.dk Supports Webmention

Upgrading the home-network

Or how my home probably has better network than the office.

Andri Óskarsson | andri.dk Supports Webmention

Migrating to Astro

How I built my new site with Astro

Andri Óskarsson | andri.dk Supports Webmention

ENV files

An environmental-variable is a way for the environment (your operating-system, or shell) to share information with future processes. Some ENV vars are global (and set by the OS), others are only useful in a certain context. You could be using a configuration file, but the wo...

Andri Óskarsson | andri.dk Supports Webmention

Host Static Websites on a VPS with TLS

Hosting doesn't have to be complicated or expensive. I'll show you how to host a static site for $6/mo on DigitalOcean (ref link). Be warned, this is a bit technical and you will need to type some things into a terminal. I will explain what each line does on the way. Creatin...

Andri Óskarsson | andri.dk Supports Webmention

Deploy Static Websites Anywhere

Before I started my carrier in Software Development, I was a System- and Network Administrator. I used to setup web servers and managed my own little server room. I truly, do not miss upgrading operating-systems on live services or dealing with hardware failure. However, hos...

Andri Óskarsson | andri.dk Supports Webmention

Blogging with Obsidian, Gatsby and Nextcloud

Finding the motivation to blog has always been hard for me. Sometimes, because I have nothing to blog about, and that's fair. But sometimes it is because I'm not on a computer with my Gatsby site setup, or I just want to write something down quick. Maybe unsurprising, I have...

Andri Óskarsson | andri.dk Supports Webmention

Adding Progressive Web Apps (PWA) to the Linux Desktop (2025)

At work, we use Microsoft Teams, and we used to (and sort of still) use Slack. I recently switched from a Macbook Pro to a Linux laptop (again), and what annoys me greatly is that when I "share screen/application" in the Slack or Teams app it offers me only to share my entir...

Andri Óskarsson | andri.dk Supports Webmention

Deploying a Full-Stack app on Google with Terraform

In this series, we are going to setup continuous deployment on Github Actions that will deploy a full environment in the cloud. Then we will setup a scheduled action to tear it all down, if we're not using it. Part 1: Covers the infrastructure setup and backend Part 2: Cove...

Andri Óskarsson | andri.dk Supports Webmention

Meetings from Home: Tools

Are you working from home? Here's a list of some great tools that you can use for free. If you have anything to add to the list, please give me a shout at @andrioid. Video Conferencing and chat Jitsi Meet Not quite as polished as some of the commercial options, but quite cap...

Andri Óskarsson | andri.dk Supports Webmention

2019 in Tech

Every year, or that was my plan back in 2013; I do a review of what technology I've been using during the year and reflect on my experiences. This year has been fun in many ways. I have been creating apps, websites, microservices and APIs. React When I started playing with R...

Andri Óskarsson | andri.dk Supports Webmention

Announcing gatsby-plugin-social-cards

Ever seen those images shown next to posts on Twitter, Slack or Facebook? Ever wonder where they come from? Me too! This plugin will create automatic cards for your (ReMark) at build-time. Announcing I am ready to announce my new Gatsby plugin, gatsby-plugin-social-cards. Th...

Andri Óskarsson | andri.dk Supports Webmention

Slim Docker images for your Go application

How to build a slim Docker container for your Go application using multi-stage images.

I'm using Go 1.13 and the community module proxy to build the binary and Alpine as a base image. It adds a user and group instead of running as root.

Dockerfile

Be sure to replace "cmd/server/server.go" with your main file.

FROM golang:1.13 as builder

WORKDIR /app
COPY . /app
RUN CGO_ENABLED=0 GOOS=linux GOPROXY=https://proxy.golang.org go build -o app cmd/server/server.go

FROM alpine:latest
# mailcap adds mime detection and ca-certificates help with TLS (basic stuff)
RUN apk --no-cache add ca-certificates mailcap && addgroup -S app && adduser -S app -G app
USER app
WORKDIR /app
COPY --from=builder /app/app .
ENTRYPOINT [ "./app" ]

I hope this is helpful. I mostly blogged this to document it for myself.

Andri Óskarsson | andri.dk Supports Webmention

Making a Gatsby site from Meetup event data

As part of my talk preperation for Aalborg Frontend Meetup, I was going to do a walkthrough of a new Gatsby site and use gatsby-source-meetup to import the upcoming events. Imagine my surprise, when I discovered that Meetup had stopped issuing API keys. gatsby-source-ical Ga...

Andri Óskarsson | andri.dk Supports Webmention

Choosing a programming language

Imagine that you're a CTO, a Tech Lead or someone that has to make an early technical decision that will effect the company for years to come. What programming language do you choose? The cost of abstraction Systems tend to have two types of complexity. Complexity from the b...

Andri Óskarsson | andri.dk Supports Webmention

Creating a CV in React

TLDR; See my CV See the code But why? I never much cared for pixel-pushing on screen. It has always been a necessary evil. But, print? Love that shit. I did my university reports in LaTeX, even the graphics and even though the errors were HORRIBLE, it remained a loyal TeX ...

Andri Óskarsson | andri.dk Supports Webmention

Breaking the silence

As you can see from my frontpage, I haven't blogged since 2014. Sorry about that.

I'm learning new things while building this site, again again. It's currently running on Gatsby with Tailwind-CSS, GraphQL and a few plugins.

I'm also playing around with react-pdf and JSON-Resume. My CV is currently generated with the site and I plan to make the site, and the CV fetch data from my resume.json.

More on that later.

Andri Óskarsson | andri.dk Supports Webmention

2013 Tech Stack

As I do pretty much, every year. 2013 was spent learning new technologies. Here's a short list. Go: I taught myself a little bit of Golang and made a few small prototypes in it. I love the language so far, and while it is a bit restrictive, it's for my own good, as the code...

Andri Óskarsson | andri.dk Supports Webmention

PHP on nginx with fastcgi-caching

I have a little VPS that hosts my blog and other various small projects. With a recent nginx update, my configuration files stopped working and I had to cut fastcgi-caching from my setup. I spent about 2 hours searching for this, so I am putting it up here - in case anyone h...