Hi! My name is Yara, I love to build truly reliable software. Here I share my ideas, side projects and the things I found out along the way. Learn more about who I am.

You can find me on Github as yara-blue or send a mail to hello@<this domain>.

Secure NFS

Nfs is insecure by default. The host can filter on client IP but IP is easy to spoof. Therefore (normal) nfs is insecure. You can use nfs with kerberos authentication and authorization.

A good overview of the kerberos algorithm is: Taming Kerberos - Computerphile

A reasonable guide to setting up nfs with kerberos: Network File System (NFS) - Ubuntu

Most guides, include the Ubuntu one above assume you are a sys admin. You and I are not. So lets go through some of things not mentioned.

[Read More]

Books

How to become a great software developer? While a Computer Science degree can help, it’s not the answer if you ask me. I won’t pretend to have that either. What I do know is that reading must be a part of it. I tend to give out the same list of books whenever the subject comes up.

I would suggest starting at the top, though begin wherever you like. It’s better to read anything then never get going. If you get tired of reading I added some related talks. You could also start with one of those to get a feel for the subject.

[Read More]

Vim recipes

My list of intermediate Neovim recipes, sequences of user actions and lua functions that make repetative tasks easier and safer. This is a living document and growing as I find more good patterns.

Quick fix list fun

Find a text pattern and execute vim grammar on all lines that match. This one is especially useful wile refactoring, for example removing an argument from a function. By using telescope we can quickly find the pattern that matches only the lines we want to change

[Read More]

Compile zfs on mainline kernel

Recently I got a newly released GPU. To use it on Linux however I needed the latest kernel and mesa driver. The latter was straightforward however the kernel proved tricky as I use ZFS. While there are a number of text how to compile a kernel a guide on how to do that and fold in ZFS was missing. This guide takes you through the process of building both ZFS and a mainline kernel from source from my perspective, that of an intermediate Linux user.

[Read More]

Projects

Over the past years I have worked on a lot of side projects, using software to solve some perceived problem. This is a list of my side work, the motivations behind it and issues a ran into. Most recent projects first.

Book-safe

I kept “forgetting” the time reading the novels by Robin Hobb. I spend the better part of 3 weekends writing a service for my eink-tablet which locks me out of her books past bed time. As any update might change how the device works, I had to figure out a method of hiding items from the UI, so that it could not lose documents or brick the device.

[Read More]

Linux A/V sync

In my opinion having a good video conference setup is essential in a remote job. The consensus on the net is that webcams are terrible as … webcams. Instead, you get better quality using a compact camera with a capture card for the video and a separate microphone for audio. I use a Sony α5000 with an Audio-Technica at2020. Using separate devices for audio and video has as disadvantage they are no longer in sync.

[Read More]

Crates to build on

Rust has a slim standard library. It provides many core types such as vectors and strings, abstractions the ecosystem builds on. You will not, however find random numbers or time and date in the standard library. Luckily anything you might miss has long been filled in by the community. Innovative new crates (third party libraries) also pop up for problems usually solved in the standard library. The slimness removes the standard library as competitor for these crates, lowering the bar to the spotlight. The downside is that we can’t just take the standard libraries’ solution but need to figure out, which crate provides what we need.

[Read More]

Project Ideas

A list of projects that I would like to do but don’t have the time for right now.

Motd dashboard

I really like the look and modularity of yboetz/motd however it is not fast enough to run on minimal hardware like a pi3. There is rust-motd which solves the performance issues by updating a string via a cron job however that misses some features and some modularity. It would be nice to have the best of both worlds.

[Read More]