Building imag with nix remote builds

This is mostly a reminder for myself how to do it, because the documentation non the nix side is pretty sparse. What I want to do is to build imag on a remote server using nix 2.0 features - nix remote builds. Here are the steps I did for achieving that goal: build the Cargo.lock file with cargo generate-lock for the imag workspace generate a build.nix file using carnix –standalone –src .

Iceland 2017

Images of my 4-week-trip to iceland in summer 2017. The Geysir In the West-Fjords In the West-Fjords Puffin in the West-Fjords Black sand at the east-coast of Iceland

A few pictures

Starting with this post, I’m not using sigal anymore for my gallery, but the awesome hugo-easy-gallery. So pictures will be posted as normal blog posts now. Hmmm… tasty! One of my parents cats On a walk through the local forest

How to improve your open source code (7) - Contributor experience

This post was written during my trip through Iceland and published much latern than it was written. This is the last post which does not deal with code directly, I promise. When it comes to open source hobby projects, contributions from others are often happily taken. But making the contribution process smooth for everyone does involve some precautions. In this article I want to summarize how to make a contribution to a project as smooth as possible for all persons involved.

Writing a git-dit web frontend with gotham, libgitdit and love

I love the Rust language. And I love the library ecosystem the Rust community provides. But let me start at the beginning. libgitdit In 2016, I and a friend of mine developed a library for distributed issue tracking with git and a commandline frontend for that library. The project, git-dit got a rather good portion of attention on hackernews, reddit and of course on github. Ranking at about 350 stars on github, this is the most successfull piece of software I (co-)authored so far.

Blueprint of a distributed social network on IPFS - and its problems (2)

After thinking a while about the points I layed out in my previous post I’d like to update my ideas here. It is not necessary to read the first post to understand what I am talking about in this second one, but it also does not do any harm. Matrix and Mastodon are nice - but federation is only the first step - we have to go towards fully distributed applications!

Preparing the journey

This is an article of the travel report 'North-America'

Everything starts with an idea. We had one: Traveling north america for one year. Canada, Unites States, Mexico. But having an idea is not everything, one has to lay out some plans (despite we are not the “plan every bit beforehand” kind of guys when it comes to traveling) at least. But, of course, first things first. VISA? Well, for traveling to the US, one has to get VISA. We needed a travelors-VISA.

Why can't we map tuples on arguments in Rust?

Why can’t we do fn foo(i: i32, j: i32) -> i32 { i + j } fn main() { println!("{}", foo((1, 2))); } in Rust? The idea First of all: I don’t know much about what is going on in rust-compiler-land, hence I don’t know whether this is technically possible or even in progress already. I’m simply writing down some thoughts here. The idea, or rather the question, is: Why can’t we map tuples on arguments in Rust?

TIL: Don't use C++ for new projects

Today I learned that the new C++ standard (C++17) has std::variant - but no pattern matching. Variants and how they work Variants or “tagged unions” are a special form of data type. They describe an abstract thing which could be one concrete thing or another concrete thing. Variants are available in a lot of languages, including and not limited to ML, Haskell, Algol 68, Pascal, Ada, Rust and even C.

Developing a Query-API for toml-query

For one of my other projects (yes, imag), I developed a query library for TOML. I currently am planning a new feature for it: A query API which can be used to execute prepared queries on a given TOML document. But let me start with the basics! What is TOML? “TOML” stands for “Tom’s Obvious, Minimal Language” and is somewhat similar to JSON, though is highly readable and easy to understand.