I’m running Arch Linux ARM on my Pi and I just had WAY too much trouble getting distcc working.

First, my most idiotic mistake was not having distcc installed on the master (the Pi). I know how that happened. I was going to install and decided to -Syu first, then forgot.

Secondly, I was trying to get it to work using the makepkg method, as opposed to the standalone method. What’s the difference? That brings me to…

Thirdly, the guides I was using aren’t great.

What you need to know

If you are trying to cross-compile using distcc on a Raspberry Pi you will almost certainly end up here: https://archlinuxarm.org/wiki/Distcc_Cross-Compiling

Note the warning at the top: “This guide will appear vague and incomplete if you aren’t sure what you’re doing. This is intentional.” That’s rubbish. It’s just very badly written. The only knowledge of “compilation and toolchain components” needed to understand this guide is that the toolchain needs to be installed/built on the client. That’s it.

Once you’ve read the dire warning you are directed here: https://archlinuxarm.org/wiki/Distributed_Compiling

Don’t go there now. The rest of the page is about setting the client up, finish that first.

The biggest problem with this guide is it doesn’t adequately explain just how much of the guide you can skip if you use WarheadsSE’s distccd-alarm package. The fact that WarheadsSE doesn’t explain this in README on his github doesn’t help either. Basically, WarheadsSE’s pkg does everything.

As explained in the guide, WarheadsSE’s pkg builds a toolchain for each ARM architecture and puts them into separate packages. So, build his pkg on your client machine (X86_64 only) and install the pkg for the toolchain you need. For me and my Pi it’s ARMv6l hard.

This package automatically creates the symlinks described in the “Make nice with distcc” section. Further more, it creates it’s own conf file at /etc/conf.d/distccd-armv6h (obviously depending on your ARM architecture). This contains the correct $PATH variable and is sourced automatically when distcc is run on the master. No need to edit /etc/conf.d/distccd at all. You will have to set the allowed hosts in /etc/conf.d/distccd-armv6h, though.

Next, read the recommended guide to setting up the master (https://archlinuxarm.org/wiki/Distributed_Compiling). At the bottom you’ll move to configuring the client but the other guide has already taken you through that step. All that remains is to start the systemd service on the client.

Troubleshooting

I tried to troubleshoot using the makepkg build method. What’s that? Well, it’s the only method explained in the Arch Linux ARM guides. It basically means you use makepkg to run distcc. This is what you want to do in the long run but the error handling is rubbish. So, instead, go and have a look at this guide: https://wiki.archlinux.org/index.php/Distcc

This guide explains how to run distcc without makepkg aka “Standalone” method. Short version:

1) add your client IP address to /etc/distcc/hosts on the master
2) create file on the client called hello_world.cpp and paste this into it:
// 'Hello World!' program

#include <iostream>

int main()
{
std::cout << "Hello World!" << std::endl;
return 0;
}

3) run this distcc g++ -c hello_world.cpp

Now you can see what distcc is trying to do. For me it showed that connection to the client was refused. Obviously (duh) I needed to open a port in my firewall on my client. With that done it just built.

Now you can go back to using makepkg -A.

I tried really hard to like Evernote. I really did. In that time when it ruled as one of the trendy start-up darlings I really wanted to make it work for me. I loved the design and aesthetic but using it just left me a bit cold. The Android app was OK, and that was probably where I got the best out of it, but as I tried to use it via the web app it just seemed less and less intuitive. Worst of all, though, it was pretty much file and forget. Stuff was going in but because of my lack of buy in it wasn’t coming back out

When I started a new job back in September 2015 I had an opportunity to start fresh with some new ways of working and I was determined that one of them would be digital note taking. I was all set to give Evernote another go but decided I better check out the competition as I’d not really looked into for a while. Like most good geeks/nerds I went straight to Lifehacker.

It’s here that you should know a bit about me in terms of the tech I like. Short version: aside from a dabble with an iPod Touch 4th generation, I am an avowed Apple critic and Android proponent. I started using Linux in 2003 and am a big fan of the open-source “why pay for something you can get for free” mentality. Apple to me was the antithesis of this. Microsoft, on the other hand, was a professional inconvenience. I’ve never worked in an environment where I can choose which software I use and so I’ve made the best of what I had. This might be a reason why I couldn’t get on with Evernote, does it have an Apple-centric philosophy?

So, what did Lifehacker tell me? Well, I was surprised. Not only did the readers and writers of Lifehacker think OneNote was OK they actually thought it was pretty great. Since I’ve never been one to invest in a platform that didn’t have decent backing this was important to me. As I’m writing this I’m looking back at Lifehacker and reading some direct comparisons of EN and ON and much of it agrees with my experience.

Tagging

I never got on with tagging in Evernote, in fact, I don’t get tagging at all. Tagging is something that works well when you want to collate items by tag, like tasks in Remember the Milk. What it doesn’t do well is help you find items with particular tags. Also, most tagging systems don’t do much to help you avoid duplicating tags with slightly different names. Tagging made sense when searching was slow and inefficient but now, for example, OneNote will let you search text in images without any user intervention. Tags are old hat.

Clipping

When I got interested in Evernote I was mainly through the web clipping craze. This is YEARS back now but there was a real goldrush around web clipping until Evernote cornered the market. Most of the other web clipping tools are closed now but may favourite used to be Amplify. I had two amp logs, which I used as pseudo-blogs. Twitter eventually made a lot of what amplify did rather pointless when it introduce twitter cards, effectively providing a clip of the site you were sharing automatically. Anyway, web clipping, it was a big thing and, apparently, it still is. I don’t do it anymore; it doesn’t make sense to me. Maybe the idea of saving whole articles offline was great when online storage didn’t cost $0.02 per GB but now the only thing that makes content disappear from the web is bankruptcy.

Price

In the early 20-teens, Evernote had a bit of a shake-up. Obviously it needed to monetize, and I can’t begrudge them that, but for me the costs associated with Evernote (before another rethink) became laughable. At around about the same time OneNote became free…

I also blame Evernote for encouraging other providers to offer ridiculously over-priced premium versions (looking at you Pocket and Feedly) that offer limited additional functionality. Just charge everyone a $1 a month for anything other than the most basic product.

Microsoft Office Integration

Work was my main motivation for digital note taking and this is where investing in OneNote has paid dividends for me.  We just upgraded to Office365 and with that came Office 2016 on the desktop; a shared OneDrive and SharePoint sites. All of this just makes having a team notebook in OneNote a doddle. You can link meetings to notes in OneNote with a click and the whole team can read and contribute. Also, it’s helping me get out of my inbox. I used to keep emails indefinitely just in case I needed to refer back to them. Now I can push them to OneNote, cut out all the crap and keep the key details, and file it in a relevant notebook or section. Chances are I’ll actually stumble upon it when I need it now rather than forgetting it was ever there. You can also embed documents into notes, which again everyone can open. While this is a terrible idea for work products it’s great for the things you want to keep or share “for information.” I mean, where do you file that stuff in a shared drive anyway?

Evernote does none of this that I know of.

Personal Life

With OneNote firmly established in my work life it’s been even easier to adapt to it at home. OneDrive integration means I can access various notebooks kept in various places from any location. I’m drafting this blog post in OneNote. It just makes sense. For me it excels in capturing researching from the web. If you copy and paste from a page it captures the URL automatically. Inserting links and images is a piece of cake. I just found out today you can make sub-pages too, which makes organize your notes so much more intuitive than I ever found Evernote.

Everything Else

I haven’t even touched on some of the more powerful aspects of OneNote because, frankly, I’ve never even used them. There’s a thing called templates. No idea what that does but I can imagine that capturing things like recipes would go very well in a template!

To Sum Up

If you don’t use Macs almost exclusively, you’ll probably have a Microsoft account already and access to the OneNote app. It’s all you need to get started. Microsoft even have a tool to help you migrate from Evernote now.

Since IFTTT improved its OneNote integration I’ve abandoned Evernote completely. And it looks like other’s will follow soon.