RSSAmplifier

Blog

Posts on Hannes Hauswedell

Recent content in Posts on Hannes Hauswedell

hannes.hauswedell.netRSS feed ↗50 posts

Latest posts

Open, future-proof, multi-room audio

You want high-quality connected speakers for your home without depending on shitty apps that stop working in a year? You want to stream from your own hardware and control everything with Free Software? Then this article is for you!

Owning and non-owning C++ Ranges

This is the first article in a series discussing some of the underlying properties of C++ ranges and in particular range adaptors . At the same time, I introduce the design of an experimental library which aims to solve some of the problems discussed here.

A fast fileserver with FreeBSD, NVMEs, ZFS and NFS

I have a small server running in my flat that serves files locally via NFS and remotely via Nextcloud. This post documents the slightly overpowered upgrade of the hardware and subsequent performance / efficiency optimisations.

🌓 Commandline dark-mode switching for Qt, GTK and websites 🌓

This post documents how to toggle your entire desktop between light and dark themes, including your apps and the websites in your browser.

Configuring algorithms in Modern C++

When designing library code, one often wonders: “Are these all the parameters this function will ever need?” and “How can a user conveniently change one parameter without specifying the rest?” This post introduces some Modern C++ techniques you can use to make passing configuration options easy for your users while allowing you to add more options later on.

👾 Game-streaming without the "cloud" 🌩️

With increasing bandwidths, live-streaming of video games is becoming more and more popular – and might further accelerate the demise of the desktop computer. Most options are “cloud-gaming” services based on subscriptions where you don’t own the games and are likely to be tracked and monetised for your data. In this blog post I present the solution I built at home to…

A beginner's guide to C++ Ranges and Views.

C++ Ranges are one of the major new things in C++20 and “views” are a big part of ranges. This article is a short introduction for programmers that are new to C++ Ranges.

A good firewall for a small network

In this article I will outline the setup of my (not so) new firewall at home. I explain how I decided which hardware to get and which software to choose, and I cover the entire process of assembling the machine and installing the operating system. Hopefully this will be helpful to poeple in similar situations.

Tutorial: Writing your first view from scratch (C++20 / P0789)

C++17 was officially released last year and the work on C++20 quickly took off. A subset of the Concepts TS was merged and the first part of the Ranges TS has been accepted, too. Currently the next part of the Ranges TS is under review: “Range Adaptors and Utilities” . It brings the much-hyped “Views” to C++, but maybe you have been using them already via the Range-V3…

The - surprisingly limited - usefulness of function multiversioning in GCC

Modern CPUs have quite a few features that generic amd64/intel64 code cannot make use of, simply because they are not available everywhere and including them would break the code on unsupporting platforms. The solution is to not use these features, or ship different specialised binaries for different target CPUs. The problem with the first approach is that you miss out on possible optimisations…

Using Gitea and/or Github to host blog comments

After having moved from FSFE’s wordpress instance I thought long about whether I still want to have comments on the new blog. And how I would be able to do it with a statically generated site. I think I have found/created a pretty good solution that I document below.

New blog

I have moved my blog from https://blogs.fsfe.org/h2 to my own web-space. On the way I have switched from Wordpress to GoHugo. I hope to publish more often and will increasingly cover programming topics.

Retroactively replacing git subtree with git submodule

Combining multiple git repositories today is rather common, although the means of doing so are far from perfect. Usually people use git submodule or git subtree . If you have used neither or are happy with either method this post is completely irrelevant to you. But maybe you decided to use git subtree and like me are rather unhappy with the choice. I will not discuss the upsides and downsides of…

Why Privacy is more than Crypto

During the last year hell seems to have frozen over: our corporate overlords neighbours at Apple, Google and Facebook have all pushed for crypto in one way or another. For Facebook (WhatsApp) and Google (Allo) the messenger crypto has even been implemented by none less than the famous, endorsed-by-Edward-Snowden anarchist and hacker Moxie Marlinspike! So all is well on the privacy front! ……

OpenBSD on the Thinkpad X250

Since posts like these often helped me setup some device, I thought I’d write one as well this time. Also it is advertising for a good free operating system. TL;DR Everything works almost perfectly, good hardware, good software! You should give it a try :) Hardware I have got a fairly high-end config: Intel® Core™ i7-5600U 16GB RAM 1920x1080 Display, non-glare, non-touch 512GB Samsung SSD…

Secure Texting Part II

Last summer I blogged about secure messaging and why FSFE cares about it (and why you should, too!). Since then a few things have changed, and I want to give you an update on the situation. The conclusion of my last article was: TextSecure and Kontalk are both good apps in our eyes, however, TextSecure has a much larger adoption and its protocol has gone through more reviews. The protool is…

Encrypting cron's daily mail

Most you have probably set your system aliases to receive root’s e-mail, and that of course is a very good idea so you are kept up to date. On the other hand you do send a lot of information about your system through the wire, often package diagnostics with information about locally installed vulnerable software and many other things that might help a person or entity gain access to your…

Photo of the Month — 2014-09

With a minor delay, here is the photo of the month for September. It was taken this February in Zermatt, Switzerland. It is a Panorama consisting of eight individual Portrait-orientated shots, stitched together with Hugin. Unfortunately (again) the size limitations of this blog prevent me from giving you a better resolution / quality. The original is 8512x4634 and roughly 200MB big. Developing and…

Photo of the Month — 2014-08

Originally I had wanted to post a different picture, but sadly the war against the Palestinian people has seen yet another level of escalation, so here’s a picture in solidarity with the Palestinians and all other people suffering from war and oppression. I shot it in Ramallah, Westbank, 2011. Many things have been said about the situation and I don’t want to engage in political debate…

[advertising] A nice Indie-Game

I have just backed a wonderful looking independent dystopian RPG on Kickstarter! It’s called Insomnia , it looks like it uses the Free Software Engine Ogre3d (although its not Free Software itself) and it will feature native Linux support. They still need money, so if you enjoy special video games, go help them out and pre-order your DRM-free copy!

Photo of the Month -- 2014-07

I decided to start a photo-of-the-month series; hopefully I will be able to keep it up. Unfortunately the upload limitation on this platform is 1MB per picture so you won’t get high-res for now. The picture was taken last fall in Oberengadin, Switzerland, close to Salecina House . It was a breath-taking sunset and I was very tired from a day of hiking, but thankful for having been there…

Secure Texting and why FSFE cares

Heard of WhatsApp? If you haven’t used it before (I e.g. haven’t), you can think of it as a free-of-charge messaging app that knows which of your contacts also have the app and automatically routes messages to them over your dataplan instead of SMS, so it’s (usually) free of charge. In the face of NSA and WhatsApp’s recent acquisition by Facebook, many of the million…

FreeBSD Port of luminance-hdr updated

I finally managed to update graphics/luminance to 2.3.1. Thanks to lme@freebsd and pawel@freebsd for feedback and commit. This is last version that runs with Qt4. As we recently got Qt5 into the ports I will try to update the port soon again. I also have some new ports coming and hope to get around to fixing/updating my other ones. Stay tuned. I am making strong use of RedPorts now. In case you…

A Good way to publish Photos copyleft

I am looking for a good way to publish images as copyleft. The current state of the art in licensing non-software seems to be creative commons, but its copyleft is so weak, that I don’t see how it protects the end users’ freedom. To be more precise, here is how I perceive the legal effects (please correct me if I am wrong): · I publish a digital picture in high resolution, with…

A KISS GNU/Linux distro?

As most of you know, I use FreeBSD as my main Desktop-OS. But I also keep a ArchLinux around that I use (almost exclusively) for gaming. After being disappointed with the way it is headed since a while already, I am now completely fed up with it and am desperately seeking an alternative. [rant]ArchLinux claims to keep it simple, but over the last year or two it has accumulated an increasing about…

Autumn Leaves

This is my current wallpaper on my desktop. Not a winter picture, but autumn is ok, too. I took the picture in Brandenburg in fall of 2011. Had I had more time, I might have taken some better ones, because the light was really great. I would really have liked to make one without the »Hochstand« (high seat?). But actually I was quite in a hurry, because there were other people walking in the…

Free commenting disabled

Since I have had more and more spam coming through the filters and annoying me no end, I decided to restrict commenting to registered users (which are only FSFE fellows). I regret to do this, but the ratio of spam to content is 5,245 to 22 (do the math yourself) and I don’t want to spend what time I have for the blog with removing spam. I hope to change it in the future again, once a better…

Winter in Berlin

While spring and early summer are claiming Berlin now and most folks are out enjoying the change, I thought I’d post a late winter picture. People who know me, know that I am more of a winter person, so I usually have pictures of winter or fall around when the sun shines too bright outside. This picture was taken about two months ago in Pankow, Berlin. It is an HDR rendering made of three…

HowTo: Dual-Boot Ubuntu [arm] and CM10.1 on the TF700t

I thought I’d cover how I got to my current dual-boot on my Transformer. The main difference to other setups is, that my Transformer’s data partition is encrypted, which makes some steps more difficult. The Goal After following these instructions you will have a regular dual-boot on the transformer, like on any notebook or desktop, i.e. when booting the device you get to select which…

Emergency Exit

Here’s the picture that is used in the header and which inspired the title of the blog. The picture was taken with my transformer pad through the window of a bus, in Northern Ireland, last fall. I ran it through some filters of the android image program, not much was done on the computer. I kind of like the sound of »emergency exit«, and it fits with the picture. You are stuck in a place…

Blog Overhaul

Dear readers, I have changed the look and feel on my blog a little. It is more streamlined now, and it will contain pictures and notes on photography as well. I will mostly write about technical details of the the picture taking and editing process, but the pictures themself might be interesting for not-technical users as well :) Hopefully some people who know more about digital photography will…

Tracking memory usage Revisited

I posted an article on tracking memory usage a while ago. Unfortunately it doesn’t work for a lot of cases, i.e. when programs are statically linked, or are written in a way where they don’t go through the dynamic linker, e.g. programs written in Java. I now actually pgrep the child processes of the invoked command and sum up all the processes’ resident set memory, as found in…

Missing (Free) Android Apps - II - E-Mail

This is a pretty serious one: there are no proper E-Mail apps for Android tablets. Yes, I know there is K9, but K9 is only good for phones. Seeing that the K9 people also develop the proprietary (and for-money) Kaitan Mail, which is for tablet and high-resolution phones, I have little hope of seeing K9 being upgraded any time soon to being usable on tablets. The only alternative I have seen so far…

Hacking encryption into Android

Next weekend we are going to have a small hackathon in Berlin to port/fix/implement disk encryption on various Android devices. Android has full disk encryption since 4.0, but it only works when using regular filesystems, e.g. ext. If you have a device that doesn’t offer proper block devices, because the hardware doesn’t do wear-leveling et cetera, you will probably have YAFFS2 as a…

Tracking memory usage

… or why using Linux can be a pain, when you come from the BSD-world. On BSD (and MacOSX and probable other UNIXes), if you want to track a program’s memory usage, you can simply issue the following in a CSHELL set time= ( 0 "%D KB avg / %K KB total / %M KB max" ) or just use /usr/bin/time’s l-parameter . On GNU/Linux on the other hand, rusage as defined by POSIX is not…

Missing (Free) Android Apps - I - Office

Ok, so you know that I am using Android, and that I am not too happy with the situation. Ultimately Android is a JAVA-based operating system for phones, so maybe I shouldn’t be surprised that trying to replace a FreeBSD (or proper GNU/Linux) laptop with it, will cause some grief. But, than Android does have some cool things (which I might elaborate on in another post), and the availibility…

ASUS Transformer Pad Infinity

I have this tablet since two or three months now and I must say, I pleasently surprised with the hardware. People who know me, know that I don’t say stuff like that often. My taste in hardware just doesn’t align with the mainstream, I guess. I want hardware keyboards, I need high resolution displays, I like metal bodies and battery time is important. I don’t care about weight,…

Long time no see

Hi everyone, ok so there haven’t been posts in while, because I was incredibly busy, but I do plan on finishing the line of posts concerning my audio setup. I also have a post in line regarding my (possibly irrelevant) thoughts on KDE and I have a few things to say about Android which I have been using a lot lately, so stay tuned. The spam issue is getting kind of out-of-hand (over 1000 spam…

A versatile, open and future-proof audio setup [ part 2 ] Storage

This post covers storage and organisation of the files. General Layout MUSICDIR │ ├── FILES │ ├── _flac │ ├── _flac_vorb │ ├── _other │ └── _vorb │ ├── LINKS │ ├── best │ ├── smallest │ └── vorb │ └── meta Ok, the obvious stuff: · MUSICDIR is where you keep your music. · FILES is a sub directory that contains your actual files. · LINKS contains links to files from FILES , based on certain…

A versatile, open and future-proof audio setup [ part 1 ] Overview

Here are the general components of the setup, as well as planned components. Fear not, most of everything that follows does not imply this setup and is generally usable. You don’t even need a server for the most part. Server · acts as storage for local and remote access · handles maintenance jobs · plays music directly, remote controlled [planned] · runs FreeBSD and ZFS · more details in…

A versatile, open and future-proof audio setup [ part 0 ]

Since it might be useful to some other people I want to document my audio setup in a few blog posts. By audio setup I mean the storage, organization and playback of my music collection. It covers the following: file systems, file formats, network access, choice of portable hardware, my own maintenance software (conversion, synchronization etc) and briefly other software (operating systems,…

PDFReaders 2.0 - Your help is needed!

Hi everyone, we are currently preparing a major update to PDFReaders.org, adding: a more appealing and cleaner “home”-page, with one recommendation for the auto-detected platform Free pdf reader recommendations for mobile platforms Free pdf browser plugin recommmendations BUT, we need some help with gathering/verifying information, deciding what to recommend… Please have a look…

Improving E-Mail Privacy

I have recently decided to use PGP / GnuPG to sign and encrypt emails, and I also recently switched from KMail (after using it for ~10 years) to Thunderbird [the why of the latter is a longer story I might tell some other time]. So, after not caring about email privacy for pretty long, I now got it all setup, although the setup on my laptop produces faulty inline PGP once in a while, where it…

my awesome (wm) config

Since quite a few people have been asking me for my awesome config, I thought I’d upload it. For those of you who don’t know awesome, check it out , it’s awesome! SCNR Main differences from the default are: remove all panels and stuff, because they are ugly load xfce4-panel instead, because it’s light, but provides stuff like mpd-controls &c create 12 tags (virtual…

An inside view on the Great Chinese Firewall

As I am currently located in China, I thought I’d give all of you some technical infos on the current censorship techniques employed here. My experience differs a little from what Wikipedia tells us. What you see as a user: youtube.com, facebook.com, twitter.com are all not reachable. Google.com is on and off, usually redirects to google.com.hk (which is still the less censored version of…

FSFE Affiliate Userscript v0.3 released.

Thanks to Hugo, for finding a bug in the version 0.2 with non-[.de|com] domains. Should be fixed now. Get the new version on my blog, as usual.

FSFE Affiliate Userscript v0.2 released.

I decided to rewrite the script. What’s new: only one 5-line function from another script is used, the rest is original code under CC0 / Public Domain Amazon code is cleaner, should produce less false-positive replacements (in theory ;) ) Support for Libri.de / Bookzilla.de is added. Any and all links to Libri are replaced with links to Bookzilla. Actions on Libri.de itself are also…

FSFE-Affiliate Userscript now available

I have uploaded a userscript that you can use to support FSFE when buying at Amazon. Automatic support for redirecting from libri.de to bookzilla.de is planned, aswell as any other affiliate programs FSFE might take part in. In contrast to the AffiliateFox-Plugin, the userscript is compatible with non-Mozilla browsers. But it works on those, too, in case you prefer to install something where you…

Blog and Micro-Blogs now working!

After the last test post, I am now convinced that the blog and the micro-blogs work. You can visit this site regularly or follow me on identi.ca or Twitter .

Should we call Free Software releases "products"?

I have posted a lengthy answer on Bernhard’s blog[1], why I don’t think “product” is a suitable term. What are your thoughts on this? Reply here or on Bernhards’ blog! [1] http://blogs.fsfe.org/bernhard/2012/03/lets-end-all-free-software-projects-quickly/