snorre.io

Identities

Spotifyd and Spotify TUI for a leaner listening experience (November 20, 2020)

This post is for those of you subscribing to Spotify, the mega-popular streaming service. Spotify as many companies before them have released multi-platform apps based on web technologies. The desktop app is quite user friendly and pretty, but as it turns out it uses quite a lot of resources. In this post we will see how the good old terminal user interface and a Rust-based daemon can help! During…

Running Wireguard on Scaleway Stardust (November 03, 2020)

Photo by Nasa Scaleway just (3rd of November 2020) released their new tiny cloud instance offering aptly named Stardust . As exploding stars launch tiny atoms into space so does Cloudflare launch tiny instances into the cloud space. The Stardust instance is a very modest virtual private server clocking in at 1 vCPU, 1GB RAM, 1 IPv4 address, 10GB of local NVMe storage and up to 100Mbps…

Interactive clojure code snippets with MDX, SCI and Codemirror (May 17, 2020)

Today is the 17th of May and Norway is currently celebrating its Constitution Day . It is a festive day with lots of celebrations and flag waving, and some people start celebrating eating breakfast (really lunch) with friends. The breakfast is often accompanied by various bubbly wines like Champagne. Not that I do not enjoy such occations myself, but there is also fun to be had in making my blog…

New homepage with Gatsby.js hosted with Cloudflare Workers (May 03, 2020)

The past couple of years or so I've been running a homepage at snorre.io . As many students of IT I wanted to host my website and blog on a virtual machine server under my control. So I set out to find a good VM cloud provider and a simple open source blog CMS. I eventually landed on Ghost which at the time was a welcome alternative to WordPress and other CMS. Ghost served me well over the…

Shared mutable app state in Actix Web (August 23, 2018)

Not too long ago, and in this very galaxy, I decided to learn the Rust programming language . I went through each chapter in the Rust Book and discovered a lot of things I like about Rust. When the chapters ran out I set out to build something with Rust, a little pet project that would put my newly acquired Rust knowledge to the test. I decided to implement an authorization server using the…

Embedding Coral Talk in your Ghost Blog (August 23, 2018)

Today I changed how I embed the Coral Talk comment system in my blog posts. Previously I had downloaded the Casper theme and edited the post.hbs file and inserted the Coral embed script. Then I re-uploaded the customized theme and enabled it in the admin panel. This works of course, but also mean you don't get to enjoy any of the new Casper updates for free. Instead you need to regularly re…

Caching apollo graphql query results with your own caching hoc (August 01, 2018)

I am currently building a search portal at work and have been using a React , Apollo Client , and GraphQL stack. The search app so far is pretty simple. It uses apollo link state to store local application state like the users' search query and selected filters, and then performs graphql queries based on that state. The relevant part of the React component tree looks something like this…

A privacy respecting talk gravatar plugin (April 25, 2018)

Some time ago I started using the Coral Talk comment system for my blog. The system is probably way overkill for a blog my size, and I have so far only received one comment! While Coral Talk is pretty nice it lacks built in avatar support and I could only find a plugin recipe requiring avatars to be hosted by third parties and the links to be updated by some external service. In my quest for…

Building Docker images with Gitlab CI (February 14, 2018)

Different approaches to building Docker images with Gitlab CI, drawbacks, and solutions. My most popular blog post so far is Setting up a Docker image builder with Gitlab CI Runner . The focus of that post was how you could set up a relatively secure Docker build environment using Gitlab CI and a host with a Docker engine. It also touches on the subject of how to design your .gitlab-ci.yml…

Coral Talk - An open source comment system from Mozilla (January 27, 2018)

Coral Talk is a comment and moderation system from Mozilla. It is part of the Coral project which proclaims that it wants to improve journalism. I'm no journalist, but I found their comment system interesting for four particular reasons: It is open source and backed by mozilla It is self hosted which means I own my own data Users won't have their comments become ad targeting food It has a simple…

Jalopy (game) - A trip through Eastern Europe in a Lada (July 26, 2016)

I recently learned about an early access game called Jalopy . For those who does not know jalopy is a term used to describe an old and damaged car in barely functioning state. I am awaken by an alarm clock early in the morning and greeted by my uncle (in a trippy tweed jacket) who wants to show me some car he has sitting outside his garage workshop. It is a Lada Laika without wheels, engine…

isso - a lightweight privacy minded comment system (May 03, 2016)

I've been using Ghost blog for quite some time now and have been very happy with the functionality, performance, and the simplicity of the solution. I use the default theme Casper which I find to be a minimalistic and rather pleasing blog theme. I've also avoided analytics software (and ads, not that ads would amount to any money on my little blog) like the plague for two important reasons…

GPG, Web of Trust, and Keybase.io (April 28, 2016)

If you are a developer I'm sure you are familiar with GPG also abbreviated GnuPG which stands for Gnu Privacy Guard . It is an open-source implementation of the PGP (Pretty Good Privacy) algorithm. Removed image So what is this privacy stuff all about? Well, PGP/GPG implements what is known as a web of trust. A user creates a private and public key, associates their name and multiple identities…

Setting up (B)ELK stack on your server (April 24, 2016)

I'm a developer by day, but as evening falls I sometimes like to dabble as an amateur sysops. I've recently helped out setting up a server as part of a hobby project that I participate in. While I'm no sysops expert I like testing out technologies helpful in server administration. As a side effect it makes me appreciate just how much detail and work sysops people put into managing servers. One of…

Setting up a Docker image builder with Gitlab CI Runner (April 21, 2016)

In this post I'll give you an idea on how to implement a Docker image builder with the Gitlab Runner. Before I do that I'll briefly introduce Gitlab and Gitlab CI. Update! See my new post detaling som strategies for building Docker images with Gitlab CI . Gitlab , if you do not already know, is an open-source git hosting and management solution also offered as an enterprise version (on premise or…

Netflix launches second round of kimmification (April 17, 2016)

Netflix recently released the second season of Unbreakable Kimmy Schmidt , one of their original series focused around situational comedy. The first season introduced the titular character Kimmy Schmidt and bootstrapped the series with a rather bizarre premise: The series follows 29-year-old Kimmy Schmidt (Kemper) as she adjusts to life in New York City after her rescue from a doomsday cult in…

Clojure - A first encounter (August 24, 2014)

I have been thinking for some time about picking up Clojure, a functional programming language and Lisp dialect that runs on top of the Java Virtual Machine. I have always wanted to learn a proper functional language, and Clojure with its Python and Ruby influences, compatibility with Java and the JVM, and web version (ClojureScript) seemed like a good bet. My five year long education and short…

Mosh (mobile shell) (May 11, 2014)

It was quite a good while ago that an acquaintance of mine made me aware of a great alternative to SSH called Mosh (short for mobile shell). Mosh was born out of MIT as a result of a few important factors. Latency on the Internet is on the increase Roaming has become more common SSH does not properly support UTF-8 Latency So why is latency on the Internet an issue when using SSH? Well, if you…

Welcome to the new Snorre.io (March 26, 2014)

Snorre.io is the new homepage of Snorre Magnus Davøen, me. As you can see it is not quite a homepage yet. Snorre.io will currently serve as a blog where I can post my experiences, my thoughts on various subjects, tutorials on different technologies, and posts presenting my work. Snorre.io runs on the Ghost blogging platform. Ghost is currently not very feature rich. As new features are introduced…

© 2020 Snorre Magnus Davøen. Built with Gatsby. Hosted by Cloudflare. This page is opensource. Its source code is available on GitHub.