Show more

TL;DR of the blog post I'm writing - if part of the Unix philosophy is communicating via environment variables and stringly-typed stdin/stdout, it's a pretty shitty philosophy.

I guess the way of thinking about crashes/bugs has changed.

It used to be, garbage in, garbage out. "Sure, it crashed because you gave it a corrupted file; don't do that".

Then it was about making software robust. "Let's try not to crash with corrupted files".

Then it was about making software secure. "Files may actually be malicious, from the internet".

People these days basically make it a sport of finding vulnerabilities based on random memory safety bugs.

My god, seriously, if you have anything for maps, go see these public-domain equal-earth ones:


Printable at over 1 meter wide at 300 DPI.

These are by Tom Patterson, a highly, highly skilled cartographer. #gis

This goes out to all my former teachers who told me: "you won't have a calculator with you all the time". funny how that went, huh?

At first sight this sounds like a terrible idea, but in fact there's peer reviewed research on measuring the security-usability tradeoff in correcting password typos, and it turns out it makes a lot of sense to do this.
Screenshot HT @amunchbach

:drake_dislike: Self-driving cars
:drake_like: Ubiquitous mass transit and bicycles

Brasero, a CD/DVD writer app, is unmaintained but still widely used. Would you like to maintain it?

This is rather momentous... librsvg no longer has GObject boilerplate in C; it's all in #rustlang now -

This branch is not merged into master yet, because it needs glib-rs to have a new release with @slomo's subclassing code.

Anti-pattern: tolerating bad behvior from people who make important contributions to a project.

It has a tendency to drive away other contributors,, even before their first contribution. Or long-time contributors.

If you let such a situation happen, it can be quite painful to fix it.

I'm partly to blame for Debian being in this situation. I joined Debian as a deveoper in 1996, and have only in recent years realised that we let it become a toxic environment.

If you really want to help Firefox succeed, file a bug on when you find a broken website. Don't just switch back to Chrome; let Mozilla know there's a problem so they can try to fix it.

When browsers lose market share, they fall into the "compatibility death spiral." Sites don't bother to test, they break, and users flee to the browser that "just works." Mozilla is fighting this battle every day, and it just got harder.

My GUADEC 2018 presentation - how did I forget to post this?

Patterns of refactoring C to Rust - the case of librsvg.

EFF is resigning from the w3c over DRM and the Encrypted Media Extensions standardization process. This was probably inevitable once w3c leadership abandoned consensus in this arena, but it's still such a bummer to see

Interesting that - the Rust Qt binding generator - has you write an API definition in JSON (not unlike .gir), and then it spits .rs files, into one of which you write your implementation, and the rest is boilerplate.

Then, the compiled Rust can be used from C++.

Gnome-class has a different approach - using procedural macros to extend the Rust syntax, to generate GObject ABI.

We could then generate .gir from that, or directly from the procedural macros.

Show more

On the internet, everyone knows you're a cat — and that's totally okay.