Marcus Folkesson

Embedded Linux Artist

Forge a hoof scratch

Forge a hoof scratch In this project I made a hoof scratch as a gift to a friend - made out of a horse shoe of course. I do have a few different forges depending on what to forge. The induction forge is great for thick and straight materials such like hammer heads and tongs. One of the greatest benefit is that there is only 30s startup time as it requires no preparations at all. cover

This website setup

This website setup This post is more for my own good if I have to setup my website once again. Maybe someone find it useful. Tools Hugo I use Hugo [1] to generate my website. Hugo is a fantastic tool for generate static web pages in an flexible way. All pages is written in reStructured Text [2] which is the markup syntax I strongly prefer. Docker The web server [4] and traefik [5] server is running in docker [3] containers. cover

Leather sewing machine

Leather sewing machine I have worked with leather for some time which I enjoyed a lot. Leather is so general purpose and is both robust and nice looking. So far I've made myself a wizard hat, dice bags, mug pads, bookmarks.. The majority of all leather projects involves a sewing, which is quite entertaining but really time consuming so I invested in a $60 leader sewing machine which make the whole process a lot smoother. cover

Leather penguin

Leather penguin A Linux guy needs his penguin, right? I found this pattern [1] on etsy and thought it would be a fun project to make a little companion. The leather I'm using for this is a 2-3oz veg-tanned goat skin. It is a little too thin to make a robust penguin, but I rather want it soft and squeeze-friendly than robust. That's how I prefer to have my companions. cover

Player's handbook, Dungeon Master's Guide and Monster Manual

Player's handbook, Dungeon Master's Guide and Monster Manual These three books are the "core books" for Dungeons and Dragons 5e. This is not an in depth review of these books as they are so fundamental. But I think it is good to mention them at least, before I go any further with the more cool-but-not-so-neccessary-books. Player's Handbook The Players Handbook [1] (PHB) contains all the basic rules that the player needs to know to play the game, equipment, spells, character options, feats, races, backgrounds and everything to put it all together.

D&D - My confession

Dungeons and dragons - My confession I have always been fascinated about fantasy. The computer games I appreciated most during my young days was role-playing game such as Baldur's Gate, Diablo and Neverwinter Nights, all games with their own mysterious setting there evil lurks at every corner. For half a year ago, a friend of mine introduced me to Dungeons and Dragons 5e and I was hooked. Maybe a little too much. cover

V4L2 and media controller

V4L2 and media controller The media infrastructure in the kernel is a giant beast handling many different types of devices involving different busses and electrical interfaces. Providing an interface to handle the complexity of the hardware is not an easy task. Most devices have multiple ICs with different communication protocols... so the device drivers tends to be very complex as well. Video For Linux 2 (V4L2) is the interface for such media devices. cover

Parsing command line options

Parsing command line options Parsing command line options is something almost every command or applications needs to handle in some way, and there is too many home-made argument parsers out there. As so many programs needs to parse options from the command line, this facility is encapsulated in a standard library function getopt(2). The GNU C library provides an even more sophisticated API for parsing the command line, argp(), and is described in the glibc manual [1].

Embedded Linux Conference 2019

Embedded Linux Conference 2019 Here we go again! This trip got exited even before it begun. I checked my passport the day before we should leave and noticed that my passport has expired. Outch. Fortunately I was able to get a temporary passport at the airport. I must admit that I'm not traveling that often and do not have these 'must-checks' in my muscle memory.. This time we were heading Lyon in France. cover

ligsegfault.so

libsegfault.so The dynamic linker [1] in a Linux system is using several environment variables to customize it's behavior. The most commonly used is probably LD_LIBRARY_PATH which is a list of directories where it search for libraries at execution time. Another variable I use quite often is LD_TRACE_LOADED_OBJECTS to let the program list its dynamic dependencies, just like ldd(1). For example, consider the following output $ LD_TRACE_LOADED_OBJECTS=1 /bin/bash linux-vdso.so.1 (0x00007ffece29e000) libreadline. cover