Shared posts

23 Dec 16:26

Every Storm Runs Out Of Rain

by John Goerzen

“Every storm runs out of rain.”

– Maya Angelou

There are a lot of rain clouds in life these days. May we all remember that days like this one are behind us — and also ahead of us.

Every storm runs out of rain.


That was the start of a series of photos from my collection & quotes I shared with friends during the initial lockdown in spring. I’ll be sharing some here.

And here we all are, still dealing with this — and it’s more severe in a lot of ways. One of my colleagues won’t be able to see his parents this Christmas for the first time in over 40 years.

But this storm will run out rain.

And look how the scene changed, in just a few minutes. This is coming!

04 Sep 21:25

rC3 – remote Chaos Experience

by linuzifer
Tomaž

CCC plans to run this year’s Congress as small events connected over the net.

Der CCC richtet in diesem Jahr erstmalig die Remote Chaos Experience (rC3) statt einer Veranstaltung vor Ort in Leipzig aus.
Dafür braucht es Kreativität, Experimentierfreude und tatkräftige Unterstützung.

[English Version below]

Eine Präsenzveranstaltung mit 17.000 Menschen wird in diesem Jahr weder verantwortungsvoll noch legal durchführbar sein.
Aber nach der Durststrecke 2020 haben wir uns ein schönes Jahresende redlich verdient! Deshalb wird es die rC3 – Remote Chaos Experience geben.
Wir wollen so viel wie möglich von Freude, Inhalten, Zusammensein und wunderbarem Wahnsinn transportieren, die einen Chaos Communication Congress ausmachen.

Hackerinnen sind remote-Arbeit und -Zusammenkünfte gewohnt. Umso wichtiger ist das jährliche persönliche Treffen.
Natürlich wird es schwierig, all den Wahnsinn online abzubilden, der den Congress für uns ausmacht.
Doch dann sagte jemand, es wäre unmöglich. Unser Ehrgeiz war geweckt.
Wir wollen sehen, wie sich die geballte Energie und Kreativität der Hackerinnen dieser Herausforderung widmet.

Was erwartet mich?

Die rC3 wird eine Vielzahl von kleinen lokalen Events in den örtlichen Hackspaces mit einem gemeinsamen Programm von gestreamten Talks, Online-Workshops, Kunst, Kultur und verschiedensten Formen des vernetzten Zusammenseins.

In den vergangenen Monaten konnte der Club mit dem digital verteilten Online-Chaos wichtige Erfahrungen sammeln. Für die rC3 gilt es, noch darüber hinauswachsen. Dafür werden alle gebraucht, die mitmachen und mitgestalten wollen.

Wie kann ich mich einbringen?

Du hattest schon immer großartige Ideen für den Congress – aber dir hat der Platz dafür gefehlt?
Physische Limitierungen schränken dich ohnehin nur unnötig ein?

Willkommen im Internet! Hier können wir bisher für unmöglich gehaltene Dinge entwickeln!
Endlich kann auch dein Wohnzimmer oder euer Hackspace zur Bühne, zum weltweiten Workshop-Space, zur Kunst-Installation werden!

Unser aller Kreativität ist es, die den Congress für alle zum Wunderland macht.
Die vielen Workshops sind es, die jedes Jahr jung und alt für Neues begeistern.
Großartige Vorträge vermitteln jedes Jahr neues Wissen aus Wissenschaft, Technik und Gesellschaft.

Was sind Deine Ideen für eine Online-Welt?

Wie kann ich mitgestalten? Have your say!

In den nächsten Wochen wird es an dieser Stelle einen Call for Participation geben. Die Content-Track-Teams freuen sich schon auf eure kreativen Einreichungen und Format-Ideen!

Bis dahin wollen wir Ideen sammeln, wie wir zusammen die rC3 gestalten wollen.
Was erwarten wir von einer Remote-Veranstaltung?
Welche neuen Formate, Spiele und Easter-Eggs sind möglich?
Was können wir beitragen?
Und welche Fehler sollten die C3-Teams beim Planen vermeiden?

Wir freuen uns über jedes Input unter
content.events.ccc.de/haveyoursay

Wann ist das nochmal?

Save the date:
27. – 30. Dezember 2020
Online und im lokalen Hackspace mit deiner bevorzugten Infektionsgemeinschaft


[English Version]

rC3 – remote Chaos Experience

This year, CCC hosts the Remote Chaos Experience (rC3) instead of an on-site event in Leipzig.
This endeavor requires creativity, joy of experimentation and active support.

A face-to-face event with 17,000 people will be neither responsible nor legally feasible this year. But after this tedious and painful 2020, we really deserve a nice finale!
This is why the rC3 – Remote Chaos Experience will be held.
As much as virtually possible, we want to convey the joy, content, togetherness and wonderful madness that make up a Chaos Communication Congress.

Hackers are used to remote work and online meetings. This makes our annual face-to-face meetings all the more important. Of course, it will be difficult to re-enact online all the things that make Congress what it is for us.
But then someone said it would be impossible. Our ambition was aroused.
Just like every year, we want to see the concentrated energy and creativity of hackers with dedication.

What can I expect?

rC3 will be a variety of distributed small local events in hackspaces with a joint program of streamed talks, online workshops, art, culture and various forms of networked togetherness.

In recent months, CCC has gained quite some experience with digitally distributed online chaos events.
With rC3, we want to grow even beyond that. For this, we need everyone who wants to participate and help shape rC3.

How can I get involved?

You always had great ideas for Congress – but you lacked the space for it?
Common restrictions of the physical world are annoying limitations to your creativity anyway?

Welcome to the Internet! Here, we can develop things that have been impossible so far!
Finally, your living room or hackspace can become a stage, a worldwide workshop space, an art installation!

It’s all our creativity that makes the Congress a wonderland for everyone.
It is the many workshops that inspire young and old for new things every year.
Great lectures convey new knowledge from science, technology and society every year.

What are your ideas for an online gathering?

How can I bring in my ideas? Have your say!

In the next weeks, there will be a Call for Participation at this site. The content track teams are already looking forward to your creative submissions and format ideas!

Until then, we want to collect ideas on how we want to unfold rC3 together.
What do we expect from a remote event?
What new formats, games and easter-eggs are possible?
What can we contribute?
And what mistakes should the C3 teams avoid while planning?

We are looking forward to any input under
content.events.ccc.de/haveyoursay

When is it again?

Save the date:
December 27-30, 2020
Online and in your local hackspace with your preferred infection community

20 Aug 09:04

IoT devices and Android and disappointment

by sil
Tomaž

Why it's hard to make an IoT device that talks to your mobile and doesn't have a cloud service.

One of the projects I’m working on involves creating a little device which you talk to from your phone. So, I thought, I’ll do this properly. No “cloud service” that you don’t need; no native app that you don’t need; you’ll just send data from your phone to it, locally, and if the owners go bust it won’t brick all your devices. I think a lot of people want their devices to live on beyond the company that sold them, and they want their devices to be under their own control, and they want to be able to do all this from any device of their choosing; their phone, their laptop, whatever. An awful lot of devices don’t do some or all of that, and perhaps we can do better. That is, here’s the summary of that as a sort of guiding principle, which we’re going to try to do:

You should be able to communicate a few hundred KB of data to the device locally, without needing a cloud service by using a web app rather than a native app from an Android phone.

Here’s why that doesn’t work. Android and Chrome, I am very disappointed in you.

Bluetooth LE

The first reaction here is to use Bluetooth LE. This is what it’s for; it’s easy to use, phones support it, Chrome on Android has Web Bluetooth, everything’s gravy, right?

No, sadly. Because of the “a few hundred KB of data” requirement. This is, honestly, not a lot of data; a few hundred kilobytes at most. However… that’s too much for poor old Bluetooth LE. An excellent article from AIM Consulting goes into this in a little detail and there’s a much more detailed article from Novelbits, but transferring tens or hundreds of KB of data over BLE just isn’t practical. Maybe you can get speeds of a few hundred kilo bits per second in theory, but in practice it’s nothing like that; I was getting speeds of twenty bytes per second, which is utterly unhelpful. Sure, maybe it can be more efficient than that, but it’s just never going to be fast enough: nobody’s going to want to send a 40KB image and wait three minutes for it to do so. BLE’s good for small amounts of data; not for even medium amounts.

WiFi to your local AP

The next idea, therefore, is to connect the device to the wifi router in your house. This is how most IoT devices work; you teach them about your wifi network and they connect to it. But… how do you teach them that? Normally, you put them in some sort of “setup” mode and the device creates its own wifi network, and then you connect your phone to that, teach it about your wifi network, and then it stops its own AP and connects to yours instead. This is maybe OK if the device never moves from your house and it only has one wifi network to connect to; it’s terrible if it’s something that moves around to different places. But you still need to connect to its private AP first to do that setup, and so let’s talk about that.

WiFi to the device

The device creates its own WiFi network; it becomes a wifi router. You then connect your phone to it, and then you can talk to it. The device can even be a web server, so you can load the controlling web app from the device itself. This is ideal; exactly what I planned.

Except it doesn’t work, and as far as I can tell it’s Android’s fault. Bah humbug.

You see, the device’s wifi network obviously doesn’t have a route to the internet. So, when you connect your phone to it, Android says “hey! there’s no route to the internet here! this wifi network sucks and clearly you don’t want to be connected to it!” and, after ten seconds or so, disconnects you. Boom. You have no chance to use the web app on the device to configure the device, because Android (10, at least) disconnects you from the device’s wifi network before you can do so.

Now, there is the concept of a “captive portal”. This is the thing you get in hotels and airports and so on, where you have to fill in some details or pay some money or something to be able to use the wifi; what happens is that all web accesses get redirected to the captive portal page where you do or pay whatever’s necessary and then the network suddenly becomes able to access the internet. Android will helpfully detect these networks and show you that captive portal login page so you can sign in. Can we have our device be a captive portal?

No. Well, we can, but it doesn’t help.

You see, Android shows you the captive portal login page in a special cut-down “browser”. This captive portal browser (Apple calls it a CNA, for Captive Network Assistant, so I shall too… but we’re not talking about iOS here, which is an entirely different kettle of fish for a different article), this CNA isn’t really a browser. Obviously, our IoT device can’t provide a route to the internet; it’s not that it has one but won’t let you see it, like a hotel; it doesn’t have one at all. So you can’t fill anything into the CNA that will make that happen. If you try to switch back to the real browser in order to access the website being served from the device, Android says “aha, you closed the CNA and there’s still no route to the internet!” and disconnects you from the device wifi. That doesn’t work.

You can’t open a page in the real browser from the CNA, either. You used to be able to do some shenanigans with a link pointing to an intent:// URL but that doesn’t work any more.

Maybe we can run the whole web app inside the CNA? I mean, it’s a web browser, right? Not an ideal user experience, but it might be OK.

Nope. The CNA is a browser, but half of the features are turned off. There are a bunch of JavaScript APIs you don’t have access to, but the key thing for our purposes is that <input type="file"> elements don’t work; you can’t open a file picker to allow someone to choose a file to upload to the device. So that’s a non-starter too.

So, what do we do?

Unfortunately, it seems that the plan:

communicate a few hundred KB of data to the device locally, without needing a cloud service by using a web app rather than a native app from an Android phone

isn’t possible. It could be, but it isn’t; there are roadblocks in the way. So building the sort of IoT device which ought to exist isn’t actually possible, thanks very much Android. Thandroid. We have to compromise on one of the key points.

If you’re only communicating small amounts of data, then you can use Bluetooth LE for this. Sadly, this is not something you can really choose to compromise on; if your device plan only needs small volumes, great, but if it needs more then likely you can’t say “we just won’t send that data”. So that’s a no-go.

You can use a cloud service. That is: you teach the device about the local wifi network and then it talks to your cloud servers, and so does your phone; all data is round-tripped through those cloud servers. This is stupid: if the cloud servers go away, the device is a brick. Yes, lots of companies do this, but part of the reason they do it is that they want to be able to control whether you can access a device you’ve bought by running the connection via their own servers, so they can charge you subscription money for it. If you’re not doing that, then the servers are a constant ongoing cost and you can’t ever shut them down. And it’s a poor model, and aggressively consumer-hostile, to require someone to continue paying you to use a thing they purchased. Not doing that. Communication should be local; the device is in my house, I’m in my house, why the hell should talking to it require going via a server on the other side of the world?

You can use a native app. Native apps can avoid the whole “this wifi network has no internet access so I will disconnect you from it for your own good” approach by calling various native APIs in the connectivity manager. A web app can’t do this. So you’re somewhat forced into using a native app even though you really shouldn’t have to.

Or you can use something other than Android; iOS, it seems, has a workaround although it’s a bit dodgy.

None of these are good answers. Currently I’m looking at building native apps, which I really don’t think I should have to do; this is exactly the sort of thing that the web should be good at, and is available on every platform and to everyone, and I can’t use the web for it because a bunch of decisions have been taken to prevent that. There are good reasons for those decisions, certainly; I want my phone to be helpful when I’m on some stupid hotel wifi with a signin. But it’s also breaking a perfectly legitimate use case and forcing me to use native apps rather than the web.

Unless I’m wrong? If I am… this is where you tell me how to do it. Something with a pleasant user experience, that non-technical people can easily do. If it doesn’t match that, I ain’t doin’ it, just to warn you. But if you know how this can be done to meet my list of criteria, I’m happy to listen.

15 Jul 08:30

Debian Long Term Support (LTS) users and contributors survey

by Holger Levsen

On July 18th Stretch LTS starts, offering two more years of security support to the Debian Stretch release. Stretch LTS will be the fourth iteration of LTS, following Squeeze LTS which started in 2014, Wheezy LTS in 2016 and Jessie LTS in 2018.

However, for the first time, we have prepared a small survey about our users and contributors, who they are and why they are using LTS.

Filling out the survey should take less than 10 minutes. We would really appreciate if you could participate in the survey online!

In two weeks (July 27th 2020) we will close the survey, so please don't hesitate and participate now! After that, there will be a followup email with the results.

More information about Debian LTS is available at https://wiki.debian.org/LTS, including generic contact information.

Click here to fill out the survey now!

15 Mar 09:04

On ethical design, and the Ethical Design Handbook

by sil
Tomaž

It's a review of the book, but poses an interesting question of how to justify ethical design from an economic perspective (that the book doesn't address).

We live in a world where websites and apps mostly make people unhappy. Buying or ordering or interacting with anything at all online involves a thousand little unpleasant bumps in the road, a thousand tiny chips struck off the edges of your soul. “This website uses cookies: accept all?” Videos that appear over the thing you’re reading and start playing automatically. Grant this app access to your contacts? Grant this app access to your location? “Sign up for our newsletter”, with a second button saying “No, because I hate free things and also hate America”. Better buy quick — there’s only 2 tickets/beds/rooms/spaces left! Now now now!

This is not new news. Everyone already knows this. If you ask people — ordinary, real people, not techies — about their experiences of buying things online or reading things online and say, was this a pleasant thing to do? were you delighted by it? then you’re likely to get a series of wry headshakes. It’s not just that everyone knows this, everyone’s rather inured to it; the expectation is that it will be a bit annoying but you’ll muddle through. If you said, what’s it like for you when your internet connection goes down, or you want to change a flight, they will say, yeah, I’ll probably have to spend half an hour on hold, and the call might drop when I get to queue position 2 and I’ll have to call again, and they’ll give me the runaround; the person on the call will be helpful, but Computer will Say No. Decent customer service is no longer something that we expect to receive; it’s something unusual and weird. Even average non-hostile customer service is now so unusual that we’re a bit delighted when it happens; when the corporate body politic rouses itself to do something other than cram a live rattlesnake up your bottom in pursuit of faceless endless profit then that counts as an unexpected and pleasant surprise.

It’d be nice if the world wasn’t like that. But one thing we’re a bit short of is the vocabulary for talking about this; rather than the online experience being a largely grey miasma of unidentified minor divots, can we enumerate the specific things that make us unhappy? And for each one, look at how it could be done better and why it should be done better?

Trine Falbe, Kim Andersen, and Martin Michael Frederiksen think maybe we can, and have written The Ethical Design Handbook, published by Smashing Media. It’s written, as they say, for professionals — for the people building these experiences, to explain how and why to do better, rather than for consumers who have to endure them. And they define “ethical design” as businesses, products, and services that grow from a principle of fairness and fundamental respect towards everyone involved.

They start with some justifications for why ethical design is important, and I’ll come back to that later. But then there’s a neat segue into different types of unethical design, and this is fascinating. There’s nothing here that will come as a surprise to most people reading it, especially most tech professionals, but I’d not seen it enumerated quite this baldly before. They describe, and name, all sorts of dark patterns and unpleasant approaches which are out there right now: mass surveillance, behavioural change, promoting addiction, manipulative design, pushing the sense of urgency through scarcity and loss aversion, persuasive design patterns; all with real examples from real places you’ve heard of. Medium hiding email signup away so you’ll give them details of your social media account; Huel adding things to your basket which you need to remove; Viagogo adding countdown timers to rush you into making impulsive purchases; Amazon Prime’s “I don’t want my benefits” button, meaning “don’t subscribe”. Much of this research already existed — the authors did not necessarily invent these terms and their classifications — but having them all listed one after the other is both a useful resource and a rather terrifying indictment of our industry and the manipulative techniques it uses.

However, our industry does use these techniques, and it’s important to ask why. The book kinda-sorta addresses this, but it shies away a little from admitting the truth: companies do this stuff because it works. Is it unethical? Yeah. Does it make people unhappy? Yeah. (They quote a rather nice study suggesting that half of all people recognise these tricks and distrust sites that use them, and the majority of those go further and feel disgusted and contemptuous.) But, and this is the kicker… it doesn’t seem to hurt the bottom line. People feel disgusted or distrusting and then still buy stuff anyway. I’m sure a behavioural psychologist in the 1950s would have been baffled by this: if you do stuff that makes people not like you, they’ll go elsewhere, right? Which is, it seems, not the case. Much as it’s occasionally easy to imagine that companies do things because they’re actually evil and want to increase the amount of suffering in the world, they do not. There are no actual demons running companies. (Probably. Hail to Hastur, just in case.) Some of it is likely superstition — everyone else does this technique, so it’ll probably work for us — and some of it really should get more rigorous testing than it does get: when your company added an extra checkbox to the user journey saying “I would not dislike to not not not sign not up for the newsletter”, did purchases go up, or just newsletter signups? Did you really A/B test that? Or just assume that “more signups, even deceptive ones = more money” without checking? But they’re not all uninformed choices. Companies do test these dark patterns, and they do work. We might wish otherwise, but that’s not how the world is; you can’t elect a new population who are less susceptible to these tricks or more offended by them, even if you might wish to.

And thereby hangs, I think, my lack of satisfaction with the core message of this book. It’s not going to convince anyone who isn’t already convinced. This is where we come back to the justifications mentioned earlier. “[P]rivacy is important to [consumers], and it’s a growing concern”, says the book, and I wholeheartedly agree with this; I’ve written and delivered a whole talk on precisely this topic at a bunch of conferences. But I didn’t need to read this book to feel that manipulation of the audience is a bad thing: not because it costs money or goodwill, but just because it’s wrong, even if it earns you more money. It’s not me you’ve gotta convince: it’s the people who put ethics and goodwill on one side of the balance and an increased bottom line on the other side and the increased bottom line wins. The book says “It’s not good times to gamble all your hard work for quick wins at the costs of manipulation”, and “Surveillance capitalism is unethical by nature because at its core, it takes advantage of rich data to profile people and to understand their behaviour for the sole purpose of making money”, but the people doing this know this and don’t care. It in fact is good times to go for quick wins at the cost of manipulation; how else can you explain so many people doing it? And so the underlying message here is that the need for ethical design is asserted rather than demonstrated. Someone who already buys the argument (say, me) will nod their way through the book, agreeing at every turn, and finding useful examples to bolster arguments or flesh out approaches. Someone who doesn’t already buy the argument will see a bunch of descriptions of a bunch of things that are, by the book’s definition, unethical… and then simply write “but it makes us more money and that’s my job, so we’re doing it anyway” after every sentence and leave without changing anything.

It is, unfortunately, the same approach taken by other important but ignored technical influences, such as accessibility or open source or progressive enhancement. Or, outside the tech world, environmentalism or vegetarianism. You say: this thing you’re doing is bad, because just look at it, it is… and here’s all the people you’re letting down or excluding or disenfranchising by being bad people, so stop being bad people. It seems intuitively obvious to anyone who already believes: why would you build inaccessible sites and exclude everyone who isn’t able to read them? Why would you build unethical apps that manipulate people and leave them unhappy and disquieted? Why would you use plastic and drive petrol cars when the world is going to burn? But it doesn’t work. I wish it did. Much as the rightness and righteousness of our arguments ought to be convincing in themselves, they are not, and we’re not moving the needle by continually reiterating the reasons why someone should believe.

But then… maybe that’s why the book is named The Ethical Design Handbook and not The Ethical Design Manifesto. I went into reading this hoping that what the authors had written would be a thing to change the world, a convincer that one could hand to unethical designers or ethical designers with unethical bosses and which would make them change. It isn’t. They even explicitly disclaim that responsibility early on: “Designers from the dark side read other books, not this one, and let us leave it at that,” says the introduction. So this maybe isn’t the book that changes everyone’s minds; that’s someone else’s job. Instead, it’s a blueprint for how to build the better world once you’ve already been convinced to do so. If your customers keep coming back and saying that they find your approach distasteful, if you decide to prioritise delight over conversions at least a little bit, if you’re prepared to be a little less rich to be a lot more decent, then you’ll need a guidebook to explain what made your people unhappy and what to do about it. In that regard, The Ethical Design Handbook does a pretty good job, and if that’s what you need then it’s worth your time.

This is an important thing: there’s often the search for a silver bullet, for a thing which fixes the world. I was guilty of that here, hoping for something which would convince unethical designers to start being ethical. That’s not what this book is for. It’s for those who want to but don’t know how. And because of that, it’s full of useful advice. Take, for example, the best practices chapter: it specifically calls out some wisdom about cookie warnings. In particular, it calls out that you don’t need cookie warnings at all if you’re not being evil about what you plan to allow your third party advertisers to do with the data. This is pretty much the first place I’ve seen this written down, despite how it’s the truth. And this is useful in itself; to have something to show one’s boss or one’s business analyst. If the word has come down from on high to add cookie warnings to the site then pushback on that from design or development is likely to be ignored… but being able to present a published book backing up those words is potentially valuable. Similarly, the book goes to some effort to quantify what ethical design is, by giving scores to what you do or don’t do, and this too is a good structure on which to hang a new design and to use to feed into the next thing your team builds. So, don’t make the initial mistake I did, of thinking that this is a manifesto; this is a working book, filled with how to actually get the job done, not a philosophical thinkpiece. Grab it and point at it in design meetings and use it to bolster your team through their next project. It’s worth it.

21 Sep 15:36

Linux Plumbers Conference 2019, part 2

Tomaž

Interesting part about “the bad” in IoT

Here's the second chunk of notes I took at Linux Plumbers Conference earlier this month. Part 1 covered the Distribution kernels track.

Kernel Debugging Tools BoF

Moderators: George Wilson and Serapheim Dimitropoulos from Delphix; Omar Sandoval from Facebook

Details: https://linuxplumbersconf.org/event/4/contributions/539/

Problem: ability to easily anlyse failures in production (live system) or post-mortem (crash dump).

Debuggers need to:

  • Get consistent stack traces
  • Traverse and pretty-print memory structures
  • Easily introduce, extend. combine commands

Most people present use crash; one mentioned crash-python (aka pycrash) and one uses kgdb.

Pain points:

  • Tools not keeping up with kernel changes
  • Poor scripting support in crash

crash-python is a Python layer on top of a gdb fork. Uses libkdumpfile to decode compressed crash-dumps.

drgn (aka Dragon) is a debugger-as-a-library. Excels in introspectiion of live systems and crash-dumps, and covers both kernel and user-space. It can be extended through Python. As a library it can be imported and used from the Python REPL.

sdb is Deplhix's front-end to drgn, providing a more shell-like interactive interface. Example of syntax:

> modules | filter obj.refcnt.counter > 10 | member name

Currently it doesn't always have good type information for memory. A raw virtual address can be typed using the "cast" command in a pipeline. Hoping that BTF will allow doing better.

Allows defining pretty-print functions, though it appears these have to be explciitly invoked.

Answering tough questions:

  • Can I see any stacks with a specific function in? (bpftrace can do that on a live system, but there's no similar facility for crash dumps.)
  • What I/O is currently being issued?
  • Which files are currently being written?

Some discussion around the fact that drgn has a lot of code that's dependent on kernel version, as internal structures change. How can it be kept in sync with the kernel? Could some of that code be moved into the kernel tree?

Omar (I think) said that his approach was to make drgn support multiple versions of structure definitions.

Q: How does this scale to the many different kernel branches that are used in different distributions and different hardware platforms?

A: drgn will pick up BTF structure definitions. When BTF is available the code only needs to handle addition/removal of members it accesses.

Brendan Gregg made a plea to distro maintainers to enable BTF. (CONFIG_DEBUG_INFO_BTF).

Wayland BoF

Moderator: Hans de Goede of Red Hat

Details: https://linuxplumbersconf.org/event/4/contributions/533/

Pain points and missing pieces with Wayland, or specifically GNOME Shell:

  • GNOME Shell is slower
  • Synergy doesn't work(?) - needs to be in the compositor
  • With Nvidia proprietary driver, mutter and native Wayland clients get GPU acceleration but X clients don't
  • No equivalent to ssh -X. Pipewire goes some way to the solution. The whole desktop can be remoted over RDP which can be tunnelled over SSH.
  • No remote login protocol like XDMCP
  • No Xvfb equivalent
  • Various X utilities that grab hot-keys don't have equivalents for Wayland
  • Not sure if all X's video acceleration features are implemented. Colour format conversion and hardware scaling are implemented.
  • Pointer movement becomes sluggish after a while (maybe related to GC in GNOME Shell?)
  • Performance, in general. GNOME Shell currently has to work as both a Wayland server and an X compositor, which limits the ability to optimise for Wayland.

IoT from the point of view of view of a generic and enterprise distribution

Speaker: Peter Robinson of Red Hat

Details: https://linuxplumbersconf.org/event/4/contributions/439/

The good

Can now use u-boot with UEFI support on most Arm hardware. Much easier to use a common kernel on multiple hardware platforms, and UEFI boot can be assumed.

The bad

"Enterprise" and "industrial" IoT is not a Raspberry Pi. Problems result from a lot of user-space assuming the world is an RPi.

Is bluez still maintained? No user-space releases for 15 months! Upstream not convinced this is a problem, but distributions now out of synch as they have to choose between last release and arbitrary git snapshot.

Wi-fi and Bluetooth firmware fixes (including security fixes) missing from linux-firmware.git. RPi Foundation has improved Bluetooth firmware for the chip they use but no-one else can redistribute it.

Lots of user-space uses /sys/class/gpio, which is now deprecated and can be disabled in kconfig. libgpiod would abstract this, but has poor documentation. Most other GPIO libraries don't work with new GPIO UAPI.

Similar issues with IIO - a lot of user-space doesn't use it but uses user-space drivers banging GPIOs etc. libiio exists but again has poor documentation.

For some drivers, even newly added drivers, the firmware has not been added to linux-firmware.git. Isn't there a policy that it should be? It seems to be an unwritten rule at present.

Toolchain track

Etherpad: https://etherpad.net/p/LPC2019_TC/timeslider#5767

Security feature parity between GCC and Clang

Speaker: Kees Cook of Google

Details: https://linuxplumbersconf.org/event/4/contributions/398/

LWN article: https://lwn.net/Articles/798913/

Analyzing changes to the binary interface exposed by the Kernel to its modules

Speaker: Dodji Seketeli of Red Hat

Details: https://linuxplumbersconf.org/event/4/contributions/399/

Wrapping system calls in glibc

Speakers: Maciej Rozycki of WDC

Details: https://linuxplumbersconf.org/event/4/contributions/397/

LWN article: https://lwn.net/Articles/799331/

06 Aug 07:36

The Stranding of the MV Shokalskiy

Tomaž

A longer read about Antarctic expeditions.

Australians have an odd relationship with Antarctica. The fact that there's an even less hospitable piece of territory further to the south seems to soothe the young country, reassuring them that the attempt to re-create rural England on a vast slab of desert using convict labor wasn’t a mistake.

Douglas Mawson, the Antarctic national hero, is a wooden but stoical fellow who claimed a vast wedge of Antarctica for the British Empire at the start of the 20th century, back when claiming things for Britain was the most patriotic thing an Australian could do. (The Empire thanked him politely and gave it back.)

While Australia’s claim to sovereignty is in abeyance under the Antarctic Treaty, the fondness for Mawson, and a sense of proprietary ownership over the far south, lingers.

Mawson’s grandly named Australasian Antarctic Expedition left Hobart in 1911, arriving at an outcrop called Cape Denison almost due south of Tasmania in late December. Attracted by a bare patch of earth, Mawson accidentally picked the windiest place on the planet—averaging 284 days a year of strong gales—to build his base camp, a collection of wooden huts.

Once the short party had set up the huts, Mawson headed east to explore with two companions, Ninnis and Mertz. Some 500 km east of their camp, Ninnis dropped into a crevasse, along with the best dog team and most of the party’s supplies. Mertz and Mawson turned back in a harrowing race for survival, eating their sled dogs along the way.

We had breakfast off Ginger’s skull and brain. I can never forget the occasion. As there was nothing available to divide it, the skull was boiled whole. Then the right and left halves were drawn for by the old and well-established sledging practice of “shut-eye,” after which we took it in turns eating to the middle line, passing the skull from one to the other. The brain was afterwards scooped out with a wooden spoon.

On sledging journeys it is usual to apportion all food-stuffs in as nearly even halves as possible. Then one man turns away and another, pointing to a heap, asks “Whose?” The reply from the one not looking is “Yours” or “Mine” as the case may be. Thus an impartial and satisfactory division of the rations is made.

On their return journey, Mertz and Mawson both consumed dangerous quantities of dog liver. Mertz, the vegetarian, suffered more from the starvation diet, alternating between lethargy and fits of rage until he at last fell into a coma and died. Mawson kept going, covering the last 100 miles by himself. Whether or not he snacked on Mertz is a polarizing question in Mawson scholarship.

At one point on the return journey, Mawson fell through a snow bridge and found himself dangling by his sled harness over a void. The exhausted explorer had to pull himself up along fourteen feet of frozen rope, one knot at a time. When he reached the lip of the crevasse, it gave way, precipitating him down the full length of his harness again.

With his fingers numb and clothes full of snow, he managed the climb a second time, and lay motionless on the edge for an hour before finding the strength to get up. After that, he made himself a kind of rope ladder, and while subsequent falls never became a highlight of his day, they at least grew somewhat less lethal.

Frozen and starving, Mawson walked west. One afternoon he saw a dark spot on the ice and discovered a cairn and bag of food left for him by a search party. A note revealed that his companions had left it only hours before. They were no more than five miles away, but in his weakened condition, he had no hope of catching up.

The food at this cache gave Mawson the strength to make for a larger depot called Aladdin’s Cave, a proper shelter in the ice just five miles from the huts. Among other wonders, this cave contained three oranges and a pineapple, brought out from the ship that had come to take him home.

But Fate wasn’t done kicking Mawson in the nuts jut yet. Almost within sight of Cape Denison and the ship, Mawson was stopped by a week-long blizzard. When he finally staggered into camp, all that remained of the relief vessel was a smudge of smoke on the horizon. He had missed being rescued by hours. He spent the winter exchanging wireless messages with his fiancée, the arrestingly named Paquita Delprat, and hanging around the other men, not wanting to be alone. His memoir, with the unfortunately Dairy Queenish title Home of the Blizzard, is a classic of the Antarctic literature.

Mawson’s experience distills the Victorian age of Antarctic exploration to its essence, combining an unbelievable personal fortitude with the overall pointlessness of the endeavor. Even by Antarctic standards, George V Land was unexciting. The best thing you can say about it today is that sometimes a meteorite lands there.

But Mawson left behind a hut, and by the iron laws of Antarctic nostalgia that apply to any human structure below the 70th parallel, that hut is now an object of veneration, and must be visited.

A member of the AAE in 1911 picking ice in 100-mph winds

In 2011, the Australian climate scientist Chris Turney heard the call of the Antarctic. As readers of this blog know, that can be an expensive call to hear. But the approaching centenary of Mawson's expedition gave Turney a unique fundraising hook.

Turney teamed up with fellow scientist Chris Fogwill to announce a 2013 repeat of the Australasian Antarctic Expedition. They would adopt the same name, return to Cape Denison and (this part was kept a bit hand-wavy) complete Mawson’s important scientific work.

For their ship, Turney and Fogwill turned to the struggling Far Eastern Hydrometeorological Research Institute in Vladivostok, which was willing to charter the ice-hardened vessel Akademik Shokalskiy, complete with expert Russian crew, for $31,000 a day.

The organizers also enlisted the help of mountaineering legend and Antarctic explorer Greg Mortimer to provide adult supervision and serve as the liaison to the Russian crew. Significantly, neither Mortimer nor anyone else on the expedition team spoke Russian, while I would describe Captain Igor Kiselev's English as highly nautical.

Unable to get financial backing from the Royal Geographical Society, Turney found a patron in Google Australia, who agreed to become a keystone sponsor if Turney would post Google Hangouts from the ice and in other ways promote the Google+ platform. Turney agreed to raffle off two spots on the subantarctic leg of the voyage to schoolteachers who entered the Doodle4Google competition.

To make up the rest of the money, Turney offered twenty-six berths to paying tourists who were willing to serve as support staff for the scientific personnel, an arrangement that has a long pedigree in Antarctic exploration. To give the project more publicity, he invited along two Guardian journalists and a reporter for the BBC world service. In exchange, the Guardian set up a custom page for the expedition.

All told, the passengers heading to Antarctica comprised 49 expedition members, a Russian crew of 22, and Turney’s wife and two young children. On December 9, the ship sailed from New Zealand for Cape Denison.

Here we must introduce another key player in this story, Iceberg B-9.

Iceberg B-9 began its existence as an undistinguished part of the Ross Ice Shelf. Very little is know about its early life until 1956, when the U.S. Navy landed and carved a settlement called Little America V into its surface. It’s hard to say how this transformative moment affected the ice sheet's outlook. All we know is that in 1987, a Bali-sized piece of ice called B-9 broke entirely off the ice shelf, taking the ruins of Little America with it. The iceberg spent a year meandering northwest, rounded Cape Adare, and then melodramatically broke into pieces.

One of these fragments, now renamed Iceberg B-09-B, drifted further west, clipping off the tongue of the poor Mertz Glacier in East Antarctica in 2010 before settling in Commonwealth Bay, just to the north of Mawson’s huts. And there it remained, clogging the normally ice-free bay with trapped sea ice and making life a misery for the Adélie penguin colony, who now had to commute ten miles to reach breeding grounds that were once right on the water.

This 70-mile-long slab of ice had thwarted every attempt to celebrate the Mawson centennial, making Cape Denison inaccessible by sea. Like in a fairy tale, three ships had set out, and three ships came back, each defeated by the fast ice that had accumulated around the berg.

But Turney had a plan.

The revamped Australasian Antarctic Expedition would carry Argos, small all-terrain vehicles that look like what they are—little boats with wheels. The Argos can handle difficult terrain, and they float. Because sea ice is notoriously untrustworthy—even concentrations of it many meters thick have broken out in midwinter without warning—having a vehicle that becomes a boat in water was a necessity for what would be the longest sea ice crossing ever attempted.

The Shokalskiy reached the fast ice (the layer of sea ice that is attached to land, like a skirt) north of Cape Denison on December 17. The weather was mild, and Turney’s team spent a couple of days counting leopard seals and scouting a path around the cracks and pressure ridges that surrounded B-09-B.

On December 19, they made their first attempt to reach the huts, hugging the shore to escape the worst of the pressure. It took the two Argos five and a half hours cross the 70 kilometers to Mawson’s huts, which they found partially filled with snow. Each party of three carried two weeks' worth of supplies in case they got stranded, but conditions were unexpectedly benign. In a spot famous for its bad weather, the sun was shining, there was not a breath of wind, and it got so warm that people had to work in their shirtsleeves.

Turney helped the two volunteers from the Mawson’s Huts foundation dig out some ice and snow, and retrieved a life-size fiberglass dog that is a totem for Australian scientific staff, who make a game of stealing it from one another. Leaving the volunteers to work overnight, the rest of the team headed back to the ship, crossing a river of meltwater on the way.

All the passengers were eager to visit Mawson’s huts, the highlight of the expedition. But the hours-long journey over ice in a vehicle with no suspension was torture. A single passenger was chosen by lot to go out with the second group of scientists. Together with one of the Guardian journalists, they set out on a second trip to retrieve the volunteers who had spent the night.

The forecast for the next two days called for the weather to deteriorate, and Turney had a decision to make. If he kept the ship on station, it might not be possible for anyone to visit the huts again. The ship’s company, who had each paid thousands of dollars for their berth, would then return to Australia without ever having set foot on land.

Even if the weather cleared, the trip was hazardous. Many of the passengers were elderly, and at least one had limited mobility. The intense katabatic winds that Cape Denison is famous for could spring up without warning. There was no safe way to send a party of retired winemakers 70 kilometers from the ship in difficult ice conditions.

Turney chose another option. He would ask the captain to sail a long clockwise loop around Iceberg B-09-B to a point near the Hodgeman Islands. These rocky outcrops held no special scientific value, but they counted as part of the mainland, and landing there would give the passengers an opportunity to make an Antarctic landfall. The detour would also help Turney keep his promise to the journalists, who had been told they’d be given significant time on the Antarctic continent.

On December 22, the ship began a 30 hour detour to the Hodgeman islands.

The change in venue made the experienced sailors on the ship uneasy. In Commonwealth Bay, the ship had had the open ocean at its back. Any sudden rise in the wind would tend to push it out to sea. At the Hodgemans, the ship would be confined to a narrow channel betweeh two areas of fast ice, where both the prevailing winds and sea currents would tend to push it away from safety, and bring more sea ice into its path.

The Berserk

The way rescue works in the Southern Ocean is simple. Any available ship stops what it is doing and goes to help.

In 2011, the Shokalskiy’s sister ship, the Professor Khromov, was in the Ross Sea when news arrived that a yacht had gone missing. The Berserk had been serving as a support vessel for a notorious Norwegian obsessive named Jarle Andhøy, a man with a habit of making trips to high latitudes without official sanction. Despite the lateness of the season, he and a companion had set out to reach the Pole by motor ski, leaving the Berserk moored with a support crew of three to await their return.

On February 22, the vessel turned on its distress beacon. The only three ships in the Ross Sea at the time began a search. In spite of harrowing sea conditions, the Khromov began sailing a back-and forth search pattern. The wind rose to hurricane force, and at one point, the ship was sailing through fifteen-meter seas. With the waves looming higher than the bridge, the crew took the rare step of confining passengers to their cabins, both to forestall panic and to prevent injury. The passengers tumbled stoically in their beds and received cold sandwiches as the storm blew on.

The Second Mate on my own voyage, who helmed the vessel during the search, remembers being astonished at seeing the sun come out and the skies clear while the wind and waves still raged around the ship.

Paul Watson, captain of the anti-whaling vessel Steve Irwin, was out in the same storm and describes it vividly:

It was frightening to many of my crew, although I assured them that our ship was more than equal to the challenge. However, the decks and the port side of the ship were coated in thickening layers of brine ice as the spray frozen in the super chilled air and plastered itself against the steel sides and on the decks adding tons of extra weight that had to be compensated for.

Our bow dove into the seas and plowed into the swells with a force that sent shuddering vibrations throughout the ship. Waves crashed against the port side as if we were being kicked by an enraged titan. The temperatures in the food storage area were so low that the cook had to put produce into the refrigerator to prevent it from freezing. Water pipes burst, and everything, including crew, not tied down flew about the inside making every step hazardous.

Two of the crew’s bunks were flooded with freezing water from ruptured water pipes. One of our crew dislocated her shoulder, and another suffered a severe bruise to her arm. It was not a pleasant ride and heading into a storm like that was not practical—but because of the missing Berserk, we had no choice—as mariners we had a duty to respond, and we did.

The Wellington recovered the Berserk’s empty lifeboat, but the yacht and its crew of three were never found.

The danger of operating in the Antarctic is not just a function of weather, but also the extreme isolation of the Southern Ocean.

Two of the French science staff on my own voyage were aboard the MV Explorer when it collided with ice off of King George Island in November 2007. Reached by the BBC, the poor marketing person for the adventure company put it succinctly: “The hull has a hole the size of a fist and the outlook is not so positive for the ship at the moment.”

The outlook became less positive a few minutes later, when the ship sank.

Passengers and crew spent four hours in the claustrophobic life rafts before they could be rescued by the Chilean Navy. Mercifully, no one was hurt. They were lucky the incident occurred in the high-traffic part of Antarctica, near the tip of South America. In a similar incident off East Antarctica, or in the Ross Sea, it might take days for rescue vessels to reach the ship.

So of the 30 staff and crew on my entirely typical voyage to the Ross Sea, at least a dozen had been involved in a serious maritime incident in the Southern Ocean.

The MV Explorer, having a bad day in 2007

The Hodgeman Islands

On Christmas Eve, 2013, the Akademik Shokalskiy arrived at the edge of the fast ice eight kilometers north of the Hodgeman Islands.

The plan for the day was to take three groups of passengers out to the islands for an hour each. Three Argos would travel together in convoy, beginning around 10 AM. Each convoy would carry eighteen passengers, and bring the previous group back, for a total time at the islands of four hours.

The day started inauspiciously. One of the Argos flooded as it was being towed to shore, leaving only two of the vehicles available for ferry duty. Efforts to revive the swamped vehicle consumed another hour and a half. Turney and his team then had to re-work the day’s schedule to reflect the reduced capacity—there would be four convoys, and passengers would stay out for forty-five minutes.

At half past noon , an initial group of eight passengers set out to the islands through rising winds, followed 45 minutes later by a second. The passengers were told they had limited time to spend on the islands before returning, but no one was enforcing the policy, and people wandered off. The weather at the islands was tranquil, there were penguins everywhere, and it was easy to lose track of time.

Back at the ship, the weather was deteriorating. Video from the ship shows snow already blowing off the ice sheet around noon. By early afternoon, the horizon was growing fuzzy, a sign that rising winds could be expected off the continent. Greg Mortimer and Captain Kiselev were both on the ship’s bridge, monitoring the weather.

At this point Mortimer’s concern was not so much that the ship would be iced in, but that the Argos might encounter whiteout conditions on the ice. Captain Kiselev, meanwhile, was watching the radar screen. Ice floes were moving into the open channel behind the ship. The Shokalskiy needed to leave. At 2:30 PM, he made an urgent request to bring all the passengers back on board.

There were now 15 people out at the Hodgeman Islands, including Turney’s young son. While the islands were visible from the bridge, the group's handheld radios were at the extreme limits of their range. For reasons that were never explained, satellite calls to the islands went unanswered, though the phones had worked perfectly on the much longer excursions at Cape Denison.

At 3 PM, an Argo carrying four people returned to the ice edge, where Turney was waiting with the next group of passengers scheduled to go out. According to a thorough report on the day's events by Nicky Phillips and Colin Cosier in the Sydney Morning Herald:

A passenger, who was standing near Turney when Mortimer called the leader from the ship's VHF radio, recalled their conversation: "Chris, [captain] Igor has just said we need to expedite people back from the islands so we can get out of here," said Mortimer. Turney, standing on the ice edge, repeated the message to confirm he had heard right.

"Affirmative," said Mortimer.

"If I take this lot out, how long can we stay?" Turney said.

Mortimer repeated that everybody needed to get back to the ship.

The passenger was stunned by the conversation, even more so when, a few minutes later, Turney loaded an Argo with six passengers and drove off towards the Islands.

Here it may help to understand the pressures on Turney.

The passengers on the ship had each paid over $17,000 for their berth. They had already missed a promised landing on Macquarie Island, the jewel of the subantarctic, due to inclement weather on the voyage down. Except for one lucky volunteer, they never got a chance to see Mawson’s Huts at Cape Denison, the emotional high point of the trip. And Turney had sent his own son to the islands in the second convoy. Under these circumstances, it’s possible Turney felt unable to send this excited group back to the ship.

It’s also possible that the successful excursion to Mawson's huts had given Turney an exaggerated sense of safety. The two 140-kilometer round trips to the huts had been uncomfortable and scary, but they passed without incident. While the crews were prepared for apocalyptic wind conditions at their destination, they had instead run into sunny, tranquil weather—the same weather the shore group was encountering today.

Once at the islands, Turney did not show much urgency. Rather than taking passengers back immediately, he elected to wait for the second Argo to arrive, so the two could convoy together. That Argo arrived with just a driver, bearing another urgent request from Mortimer to return to the ship.

But there were more people at the islands now than could get back in one trip.

Turney asked the three youngest, fittest members of the group to stay behind with him, along with a tent and emergency bag of provisions. As he wrote later in his book, “If the Shokalskiy has to leave urgently, we can always camp out. If worst comes to worst, we can always make it round the coast to Mawson’s huts.” The remaining passengers were sent back to the ship.

The last Argo convoy returns to the Shokalskiy, at approximately 4:30 PM. Photo: Andrew Peacock

But Captain Kiselev had taken the measure of this man, and had no intention of leaving anyone behind on the ice. An Argo was sent back to collect the stragglers. It was 5:35 PM when Turney arrived back at the ice edge. Passengers recall Mortimer and the Russian crew being visibly angry at this point.

Turney describes being stunned by what he found.

I can see the Shokalskiy has pushed her nose into the sea ice. Conditions are deteriorating, and fast. I’m shocked. A katabatic wind is in full flow, pouring off the ice sheet and whipping the open water into a frenzy. I look out and see ice moving beyond the vessel. It’s completely different from what we had at the islands.

Where the hell did all this come from?

It took another forty minutes to stow the vehicles and make sure everyone was on board. Then the Shokalskiy began its run.

“We were short by one hour,” Captain Kiselev told me later. “One hour earlier and we would have been free.”

The wind had pushed great masses of sea ice into the previously open channel. The ship at first followed gaps between the consolidating floes, then tried to prise them apart at the seams, and finally had to resort to bashing and reversing and bashing again. At one point in the night, a piece of ice punched a two-meter gash in the bow, above the waterline.

Composite photo taken by a passenger on the Shokalskiy. Left side is the view at 6:02 PM, right side at 6:57 PM

By Christmas morning, the ship was stuck.

Dark patches on the cloud deck showed that open water lay no more than two miles ahead. But the ship was immobilized by ice. At 5 AM, the captain turned off the engines. The Shokalskiy was now a passive observer in its own story.

The situation at this point was not hazardous. That changed when the crew saw icebergs moving near the ship.

Unlike sea ice, which obeys the wind, icebergs follow underwater currents. They can cut through surface ice like tissue paper. While it was unlikely that an iceberg would hit the ship, such an encounter would wreck the vessel and leave the passengers and crew without shelter. So at 8:30 AM, Captain Kiselev activated the ship’s distress beacon.

In an unusual bit of luck, there were three ships close enough to offer help. The Chinese icebreaker Xue Long (Snow Dragon) was on its way to the Ross Sea to scout locations for a Chinese base. The Aurora Australis, the main provisioning vessel for the Australian Antarctic program, was unloading supplies at Casey station about 1,000 miles to the west. A third ship, the French Astrolabe, was also nearby, but it was smaller than the other two icebreakers and less likely to be able to break through.

All three ships diverted to help the Shokalskiy. The Aurora Australis put to sea in the middle of offloading scientific equipment and supplies for the coming research season, taking with it the entire stock of New Year's champagne for the Australian base.

For the next two days, a great storm blew from the southeast, pushing additional sea ice from the Antarctic coast into a thick sheet along the eastern edge of B-09-B. Compression ridges appeared behind the ship, where it was pressed into the ice. The ship developed a slight list. By the time the storm blew itself out, the Shokalskiy was no longer two miles from the water’s edge, but at least twenty.

As the physical storm abated, a social media storm began. Turney had initially tried to keep the ship’s predicament quiet, asking tourists and staff not to alarm their families. He even persuaded the three journalists on board to omit filing reports about the ship being beset. But the official distress call made it impossible to keep the secret. Reporters had started calling the ship, and they were growing dissatisfied with Turney’s prevarications.

Then, disaster struck! The Sydney Morning Herald had published the unthinkable, a short article referring to the Antarctic Ausralasian Expedition as a tourist cruise.

Turney went after this coverage like an Instagram influencer chasing down a bad selfie. Within hours, the immobilized ship had a social media strategy. All descriptions of the vessel as a tourist ship would have to be countered with hard science delivered via “Twitter, Google+, Facebook, Vine, YouTube and the blogs.” Anyone with a satellite phone was encouraged to call home and set the story straight. Those without a phone of their own were assigned office hours when they could come up and make phone calls from the bridge.

Alok Jha, the journalist from the Guardian, helped Turney navigate the unfamiliar shoals of this media landscape.

Alok rattles off a list of networks wanting interviews. CNN, CBS, ABC, BBC, Al Jazeera, SBS, Channel Seven, MTRK, the Weather Channel… the list goes on. I haven’t heard of half of them.

“I’ve never seen anything like this. It’s so big we’re even on Buzzfeed, and that’s just made it bigger.

“Really? It’s actually been picked up by them?”

Buzzfeed looks at what’s trending on social media and then pullls it together into a news report. It’s big news if it’s on Buzzfeed.

The only way to control the developing narrative, Jha explained to Turney, was to fill the news vacuum. A university student was deputized to start making daily video diaries. Turney spent hours of every day giving interviews. Science on the ship intensified.

The expedition's public image was also retooled to take advantage of the change in circumstances. No longer would the Australasian Antarctic Expedition be following in the footsteps of Mawson. It had leveled up by becoming trapped in sea ice, and could now follow in the footsteps of the greatest Antarctic explorer of all time—Shackleton himself.

Shackleton

Ernest Shackleton is one of those genuinely admirable people, like Nikola Tesla or Frida Kahlo, who are somehow diminished by the embrace of their posthumous admirers. I think of this as Rick and Morty syndrome. You love the original, but then you look around in horror at the people enjoying it with you and think—is this me? These people are awful! Will I become one of them?

Shackleton's immortal achievement is his rescue of the crew of the Endurance after it became beset by ice in 1912, one of the great feats of human endurance and clear-headedness.

The Endurance was frozen in while attempting to land a trans-Antarctic expedition, and the crew spent their first nine months on the immobilized ship waiting for conditions to improve. When the ship was smashed to bits by moving ice, they moved onto the sea ice. When the last floe they could camp on disintegrated seven months later, they fled in boats to a remote island.

And when it became clear that no ship was ever going to visit that island, Shackleton had a boat built, sailed it to South Georgia Island with five men, crossed the mountains with no equipment, and scared the living daylights out of a small whaling community.

Broke, haggard and, let’s face it, a little crazy-looking after wintering on an ice floe, Shackleton talked a succession of people into lending him their ships until he had collected all 22 members of his scattered crew. He didn’t lose a single man in the rescue (though three men died waiting for him in the Ross Sea.)

Apsley Cherry-Garrard, who knew something about Antarctic crises, famously wrote:

For a joint scientific and geographical piece of organization, give me Scott; for a Winter Journey, Wilson; for a dash to the Pole and nothing else, Amundsen: and if I am in the devil of a hole and want to get out of it, give me Shackleton every time.

Today, adventurers, dreamers, and the kind of CEOs who read golf books can’t get enough of Shackleton. A certain kind of ego-driven overachiever has been trying to follow in Shackleton’s footsteps ever since, forgetting that his very first footstep—metaphorically speaking—was straight through the ice.

In 2013, Turney saw a chance to answer a question no one was asking—what if Shackleton had had a Twitter feed?

Relative positions of the Akademik Shokalskiy (UBNF) and Xue Long (BNSK) in the ice field on December 28. "CB" marks the rough location of Mawson's huts; the Hodgman islands are to the right of "WB". The Aurora Australis would arrive later in the black open water to the east.

The Xue Long was the first rescue ship to arrive on the scene, appearing as a red dot on the horizon on the morning of December 27. The plan was for the powerful Chinese icebreaker to crush a path toward the Shokalskiy, which could then follow it back out to open water. But as the morning wore on, the red dot slowed and stopped, still ten miles away. The Chinese captain sent an email apologizing that the ice at his present position was too thick for the ship to penetrate. He offered to keep station while both ships waited for the Aurora Australis.

Stranded in the ice, the passengers kept spirits up by keeping themselves busy. Unfortunately, the bikini selfies, sing-alongs, and videos of frolicking the ship’s company posted to YouTube did little to endear them to a scientific community whose scientific cargo and New Year’s champagne had been left aboard the Aurora Australis. A rollicking New Year’s celebration went over particularly poorly. Researchers at Casey Station and elsewhere were left wondering whether they had sacrificed a season’s worth of research to save a party ship. What the passengers imagined they were posting in a spirit of defiant courage came across as frivolous to a cranky and involuntarily sober science community.

On December 30, the Aurora Australis arrived off the ice pack, and made two abortive attempts to get closer. The Shokalskiy was now some 12 miles from the ice edge. The Xue Long was still on the horizon, not moving. Its captain had not declared that the ship was beset, but for a ship that had full freedom of movement, it was keeping awfully still.

On New Year's Eve, Turney and the two journalists showed up on the big screen on Times Square, bantering with Anderson Cooper and Kathy Griffin before an audience of millions:

TURNEY: [tries to offer a sweater to the camera]

COOPER: They celebrated New Year's six hours ago and I think they've been drinking.

COOPER: Have you been imbibing spirits, because it looks like some of the folks in that video are kind of red in the face?

TURNEY: Just a little bit of champagne. Little bit.

JHA: I don't want to tell tales, but there has been alcohol on the ship and—well, you know, what do you expect us to do? We're out there, we're alone from everyone else. We have to drink something.

COOPER: There's certainly no shortage of ice for your drinks. You can keep it nice and cool. You guys are waiting for a helicopter, but I've never met people who are jollier and happier

GRIFFIN: It's Sex in the City, having mimosas! Which one's Carrie?

COOPER: You guys are really keeping up morale.

Cabin fever among the regular Shokalskiy passengers was climbing to dangerous levels. A few of the passengers had built a 'theme park' in the snow, complete with a snow slide. There had already been choral music, and there threatened to be more.

On January 2, passengers spilled out onto the ice and erected a large blue and orange tent, proclaiming the First Antarctic Writers’ Workshop. Guided by a shipboard historian, many of the participants were making rapid personal breakthroughs in journaling, poetry, and personal memoir when the helicopter came.

The decision to evacuate came easily. Flying conditions were good, the Shokalskiy was low on supplies, and the Aurora Australis was available to take the tourists and scientists to safety. With no immediate prospect of a breakout, a brief helicopter flight seemed safer than leaving everyone stuck indefinitely in the ice. The Russian crew were offered berths as well, but elected to stay with their ship.

The passengers traced out a large circled H on the ice with soy sauce and milo (a distant chocolate relative of Marmite). Half-hovering over the mark, the Chinese helicopter dropped engineers and wooden boards to firm up the landing platform. Once the helicopter could land, the passengers embarked in groups of ten, on a twenty minute flight past the stranded Xue Long to an ice floe alongside the Aurora Australis.

In his book, Turney explains that the decision to leave the ship tortured him. Initially he felt he must stay on board, for science. “Over the last couple of days, I’ve started thinking about remaining with the ship and continuing the science if the others are helicoptered out.“ But his wife talked sense into him. How could he abandon his passengers to an unknown fate? How could he put himself at such great risk? And Turney relented.

“Annette is absolutely right. I’m letting my desire to carry out science muddy my first priority. Everyone needs to get home, safely, together. Just as Shackleton would have done.”

So Turney packed up the fiberglass dog, put his family on the helicopter, and left the Russian vessel behind.

"I can't help but think of Igor and the crew," Turney would later write about helicoptering away from the ship, "Poor bastards. I wish we were all getting out of this together."

The Russians

I asked Dima, the Third Mate on the ship, how all this drama had felt from the crew’s perspective.

“Did you feel you were in danger?”

“No. The main concern was running out of water, and to some extent food. We knew the crew could just eat canned herring. But the passengers would not have been comfortable, and there wasn’t enough drinking water.”

“So there was no danger from being stranded?”

“The only thing we were worried about was icebergs. If one came right for us while we were stuck, it would have crushed the ship. In fact, there was a small hole in the hull up front from the ice”;

“I thought you said you were never in danger?”

He shrugs and smiles.

“What was your plan if an iceberg crushed the ship?”

“We had our go bags ready. We would have hiked inland to the Mawson huts, and then across to the Dumont D’Urville station [about 100 miles west]. We would have been fine.”

Dima makes it sound easy, but storms along this entire stretch of coast can blow for weeks, reducing visibility to nothing. People have gotten lost in such conditions trying to walk ten paces from their tent.

“Did you feel abandoned when the passengers left the ship?”

“No; it was a relief not to be responsible for them. We knew we could fend for ourselves.”

I ask some of the other Russian crew members their opinion of Chris Turney.

“He was constantly smiling, smiling at everyone. His staff was good. But he was not a serious person.”

With the passengers gone, the Shokalskiy grew tranquil. The Russian sailors did not start a writers’ workshop. They skied and tried their hand at ice fishing.

Dima made friends with an Adélie penguin, who strode across the ice every day to see him. There is a strict rule mandating that humans keep 15 meters away from Antarctic wildlife, but the penguin either didn’t know about it, or chose not to comply. He wanted fish.

“I wore gloves to pet him. They don’t like being touched by warm hands.” The Adélies look fuzzy, but their feathers are harsh and stiff. Unlike the royal penguins that live further north, Dima said, they refuse potato chips and accept only fish, which they smell strongly of.

Ten days later, the interspecies friendship ended. A shift in the winds opened a long fissure in the pack, and both the Shokalskiy and the Xue Long were able to reach open water under their own power. The Shokalskiy was back in port in New Zealand before the rescued passengers on the Aurora Australis had even left Casey Station.

No one was happy with the events of that summer. The Australian government started efforts to recoup the $2.4M rescue cost from the expedition’s insurers. The ship's passengers spent a long three weeks as supernumeraries on the Aurora Australis, trying to stay out of the way as the crew finished unloading at Casey Station. Many sent faxes of gratitude to the Xue Long and Akademik Shokalskiy while those ships were still stuck in the ice.

Some of the ship’s passengers were philosophical; others resentful that a couple of hours on an Antarctic island had cost them a month’s delay in getting back to Australia. One called the shaky way the expedition had been organized a "boy's own adventure on the ice".

Scientists across Antarctica were angry at the disruption to their research programs. While science on the AAE was presented as a carefee, flexible activity that could be pursued anywhere, their own plans had been years in the making and required keeping to a meticulous timeline. The expedition's somewhat grandiose claims around its own scientific contributions did not help.

Chris Turney published a letter in Nature rather cheekily citing the ship’s social media follower count as evidence of how well the ship's voyage, and implicitly its stranding, had served the interests of the Antarctic research community. The head of the Australian Antarctic Division replied with his own letter to Nature disavowing Turney’s insinuation that the AAD had in any way endorsed his scientific program.

Antarctic tour operators, meanwhile, were mortified that at a ship from outside their fraternity had Leroy Jenkinsed its way into some of the worst ice conditions on the planet with children aboard, threatening a tourist industry that already has an uneasy relationship with Antarctic science.

The Russian and Chinese crew did not relish being put in circumstances where they had to request help from an American icebreaker—the massive Polar Star, which began lumbering south to help in early January. Fortunately, the Americans were still a long ways off when the two stranded ships broke out on their own.

Chris Turney photographed at Mawson's huts.

Turney wrote a book about his experience, which I have drawn on extensively here. The book is not subtle—the New Zealand edition is even called Shackled. In it, Turney interleaves his story with Shackleton’s epic, almost page by page.

For as much as he wanted to be Shackleton,though, what the 2013 Antarctic Australasian expedition really turned into was a burlesque of Robert Scott. The use of science as a fig leaf for ambition, lack of safety margins, elaborate plans that changed moment by moment, unclear lines of responsibility, and obsession with how the story would play out in the media back home were all vintage Scott.

Both Scott and Turney counted on everything to go right, and when it didn't, became convinced they had encountered once-in-a-lifetime weather conditions that absolved them from any responsibility. Even the loss of a key motor vehicle as it was being brought to shore seemed to be a call-out to the Terra Nova Expedition.

Still, there are limits. For all the social distance between Scott and his crew (who built a wall of crates to separate themselves from the officers in their shared hut), Scott at least spoke their language. And Scott would never have brought his kids to Antarctica.

Expedition organizers Chris Fogwill and Chris Turney

According to Captain Kiselev's report, on the morning of December 25, icebergs came within two cable lengths—370 meters—of the immobilized Akademik Shokalskiy. If the ship had been hit that day, the ensuing oil spill would have been the worst environmental disaster in Antarctic history, and perhaps spelled the end for all tourism in the region.

Luckily, no one was hurt during the ten days the Shokalskiy spent beset by ice. But Chris Turney and Chris Fogwill came close to committing the ultimate Antarctic sin—ruining it for everyone else. One difference between our time and Shackleton’s is that no one will be ever again be left to fend for themselves on the ice. There will be search and rescue efforts, no matter the cost, even if they derail an entire summer of research.

But this can only happen so many times before the continent is put off limits to all independent visitors. Through his carelessness and imprudence at the Hodgeman Islands, Turney brought that day one step closer, doing a disservice to anyone who dreams of Antarctic adventure.


The traditional nerd story is that Mertz died of Vitamin A toxicity, but this has been challenged by more recent scholarship.

In some accounts, the Professor Khromov is referred to as the Spirit of Enderby. They are the same vessel.

Turney's book says the trips started at midday. I'm relying here on the account by Philips and Cosier, which I believe is more reliable.

It's not clear what science was being done on the ship at this point. By my count, there were ten scientists on the ship: four marine biologists, two geologists, an oceanographer, an ornithologist, and two climatologists. Once it was stuck in ice, the Shokalskiy could take temperature readings and birdwatch, but not much else.

It may be surprising that fresh water was a limiting factor on a ship surrounded by ice. It takes several years for the pockets of brine to leach out of sea ice and render it drinkable when melted. Younger sea ice is brackish.

Further reading

You want longform? I'll give you longform. Previous posts in this series:

Shuffleboard At McMurdo
Cape Adare
Gluten-Free Antarctica

Other things to read:

03 Jul 05:21

Pi4 not working with some chargers (or why you need two cc resistors)

by Tyler
Tomaž

Raspberry Pi 4 apparently has a bug in their USB C implementation.

The new pi has been released and it has a USB Type-C connector for power however people are finding some chargers are not working with it (notably macbook chargers). Some have speculated that this is due to a manufacturer limitation on the power supplies however it is actually due to the incorrect detection circuitry on the Pi end of the USB connection.

For those looking for a solution for the problem and and aren’t interested in the technical details a set of potential solutions are given at the end of this post. The newer version of the pi 4 has altered its USB-Type C connector alowing it to work with emarked cables.

The root cause of the problem is the shared cc pull down resistor on the USB Type-C connector. looking at the reduced pi schematics we can see it as R79 which connects to both the CC lines in the connector.

Excerpt from the reduced Pi4 Model B schematics.
Pi CC resistor locations

With most chargers this wont be an issue as basic cables only use one CC line which is connected through the cable and as a result the pi will be detected correctly and receive power. The problem comes in with e-marked cables which use both CC connections. To understand this lets look at the Type C specification document.

Excerpt from the Type-C spec (Figure 4-5)

Per the spec the source device doesn’t provide power on the connector until it detects a sink device being attached. which is done by the presence of the Rd resistor (5.1K ohms) to ground. Active cables also signal their presence using another value or resistor Ra (800 ohms – 1200 ohms). The Type-C specification has a table for looking up what is connected based on the state of the CC lines.


Excerpt from the Type-C spec (Figure 4-10)

In the correct operation the charger will sense the Rd resistor (Or Rd Ra cobination) and turn on the power. The problem comes when an active cable which presents an Ra at both ends is used. On the source side one CC pin will be connected to the Ra resistor in the cable and the other to the CC line to the Pi. The Pi has connected both lines together so presents the combination of the Ra at the pi end of the cable and the Rd pulldown. Calculating the presented resistance assuming a average value of Ra still gives a value well within the Ra range (also note Ra resistances are permitted to go below 800 when cable electronics are drawing power so a resistance lower than 800 will also likely be detected as Ra).


Pi’s presented resistance

With effectively two Ra values presented to the Source end it will detect the Pi as an “Audio Adaptor Accessory”. These are analogue audio interfaces to allow for headphones to be connected to phones for example (although some phones use headphones/adaptors with inbuilt sound-cards which appear as USB devices). The audio adaptor accessory also allows the phone to be charged through the adaptor. This means the the device should not provide power on the Vbus pins which means no power for the Pi.

In order to test this I attempted to power the pi with a macbook charger and its e-marked cable and it didn’t receive power. Two other chargers (a pixel 3 charger and an office electrics desk charger) where tested with the macbooks active cable and none powered the pi. When tested with a couple of non e-marked cables the pi was powered by all the chargers. This lines up with what is expected.

With regards to manufacturer limitations it is possible for chargers and devices to limit which devices they will use however this is only applicable for power deliver modes (higher voltages and currents) as the basic detection doesn’t give scope for such communication to occur.

While this write-up focuses on units with detachable e marked cables as this has a clear set of detection steps when the CC lines are shorted. the problem could also happen with integrated cables if they are interfacing with both CC lines and dislike them being connected.

Now onto some solutions. Assuming the issue you are having is caused by the problem discussed above, using a non e-marked cable (most USB-C phone charger cables are likely this type) rather than an e-marked cable (many laptop charger/thunderbolt cables and any 5A capable cable will be in this category) will allow for the pi to be powered. In addition using older chargers with A-C cables or micro B to C adaptors will also work if they provide enough power as these don’t require CC detection to provide power. Ultimately though the best solution in the long run will be for there to be a board revision for the pi 4 which adds the 2nd CC resistor and fixes the problem.

In conclusion. If you want your USB Type-C devices to work correctly then you need to have two independent CC resistors. If you are interested in adding Type-C connector to your project and don’t want to read the whole spec to do so I have previously written a guide on how to do so.

Since this was published Eben Upton from the Raspberry pi foundation has commented that he expects this will be fixed in a future board revision in comments reported on Techrepublic, no word yet on timings on the release of this revision though.

updates
* 2019/06/28: Added additional information on solutions.
* 2019/07/04: Added test results and checked details on a pi.
* 2019/07/08: Added link to conformation from raspberry pi foundation
* 2020/03/24: Added information on newer model.

10 May 19:40

Debian Buster and Wayland

The next release of Debian OS (codename "Buster") is due very soon. It's currently in deep freeze, with no new package updates permitted unless they fix Release Critical (RC) bugs. The RC bug count is at 123 at the time of writing: this is towards the low end of the scale, consistent with being at a late stage of the freeze.

As things currently stand, the default graphical desktop in Buster will be GNOME, using the Wayland desktop technology. This will be the first time that Debian has defaulted to Wayland, rather than Xorg.

For major technology switches like this, Debian has traditionally taken a very conservative approach to adoption, with a lot of reasoned debate by lots of developers. The switch to systemd by default is an example of this (and here's one good example of LWN coverage of the process we went through for that decision).

Switching to Wayland, however, has not gone through a process like this. In fact it's happened as a result of two entirely separate decisions:

  1. The decision that the default desktop environment for Debian should be GNOME (here's some notes on this decision being re-evaluated for Jessie, demonstrating how rigorous this was)

  2. The GNOME team's decision that the default GNOME session should be Wayland, not Xorg, consistent with upstream GNOME.

In isolation, decision #2 can be justified in a number of ways: within the limited scope of the GNOME desktop environment, Wayland works well; the GNOME stack has been thoroughly tested, it's the default now upstream.

But in a wider context than just the GNOME community, there are still problems to be worked out. This all came to my attention because for a while the popular Synaptic package manager was to be ejected from Debian for not working under Wayland. That bug has now been worked around to prevent removal (although it's still not functional in a Wayland environment). Tilda was also at risk of removal under the same rationale, and there may be more such packages that I am not aware of.

In the last couple of weeks I switched my desktop over to Wayland in order to get a better idea of how well it worked. It's been a mostly pleasant experience: things are generally very good, and I'm quite excited about some of innovative things that are available in the Wayland ecosystem, such as the Sway compositor/window manager and interesting experiments like a re-implementation of Plan 9's rio called wio. However, in this short time I have hit a few fairly serious bugs, including #928030 (desktop and session manager lock up immediately if the root disk fills and #928002 (Drag and Drop from Firefox to the file manager locks up all X-based desktop applications) that have led me to believe that things are not well integrated enough — yet — to be the default desktop technology in Debian. I believe that a key feature of Debian is that we incorporate tools and technologies from a very wide set of communities, and you can expect to mix and match GNOME apps with KDE ones or esoteric X-based applications, old or new, or terminal-based apps, etc., to get things done. That's at least how I work, and one of the major attractions of Debian as a desktop distribution. I argue this case in #927667.

I think we should default to GNOME/Xorg for Buster, and push to default to Wayland for the next release. If we are clear that this a release goal, hopefully we can get wider project engagement and testing and ensure that the whole Debian ecosystem is more tightly integrated and a solid experience.

If you are running a Buster-based desktop now, please consider trying GNOME/Wayland and seeing whether the things you care about work well in that environment. If you find any problems, please file bugs, so we can improve the experience, no matter the outcome for Buster.

17 Apr 07:59

[Computing] Adventures in reverse engineering Broadcom NIC firmware

by Hugo Landau
Tomaž

Interesting long read about clean-room reverse engineering based on little more than binary firmware images.

16 Apr 06:15

19. Gulaschprogrammiernacht

by obelix

hello, world

tl;dr: Let’s do the GPN warp again! Bringt Freund*innen mit. Switch to English

Plakat der 19. Gulaschprogrammiernacht

Mit Spannung habt ihr es erwartet, ein paar panische Nachfragen haben uns schon erreicht. Jetzt ist es endlich so weit: Wir laden euch herzlich zur diesjährigen 19. Gulaschprogrammiernacht ein!

Save the date:

GPN19 30.05 – 02.06.2019 in HfG/ZKM, Lorenzstr. 15, 76135 Karlsruhe, Baden, Baden-Württemberg, Europa, Erde, Sonne, ?-Quadrant, Milchstrasse, Laniakea

# More of the same

Auf der Gulaschprogrammiernacht gibt es wieder alles, was das Hacker- bzw. Haecksen-Herz begehrt: Vorträge, Workshops, Demoshow, Blinkedingsies, Musik, die mindestens zwei Leuten viel zu laut oder zu leise sein wird, ein großes Hackcenter, Karlsruhes Jahresvorräte an Mate und Tschunk, eine epische Lounge und eine wundervolle Lavawiese. Und natürlich Gulasch – mit Fleisch und in veganer Variante! Vier Tage lang wird wieder gehackt, vorgetragen, gebastelt und diskutiert, dass die Nullen und Einsen fliegen. Willkommen sind alle, von den üblichen Verdächtigen bis zu den noch völlig Unerfahrenen, Niedagewesenen.

GPN18 CC-BY 4.0 »Florian Köhler, cheatha.de«

GPN18 CC-BY 4.0 »Florian Köhler, cheatha.de«

# Vorträge/Workshops

Wie viele Vorträge und Workshops letztendlich zur Auswahl stehen und wie interessant sie sein werden, das hängt ganz von euch ab! Wir freuen uns auf Vorträge zu bunt gefächerten Themen und einem breiten Workshopprogramm für alle Teilnehmer*innen. Eure Vorschläge könnt ihr im Pretalx cfp.gulas.ch einreichen. Wenn ihr nicht selbst etwas anbieten wollt, aber Menschen kennt, die ihr unbedingt als Speaker*innen auf der GPN sehen möchtet, dann werdet aktiv und weist sie auf diesen Aufruf und unser Pretalx cfp.gulas.ch hin.

Bitte gestaltet Vorträge und Workshops möglichst barrierefrei und für ein breites Publikum verständlich. Die Vorträge werden standardmäßig vom C3VOC aufgezeichnet und auf media.ccc.de online gestellt, ein Opt-Out ist jederzeit möglich.

# Trollen

Die GPN funktioniert, wie alle anderen Chaos-Events, nur dank des tatkräftigen Einsatzes vieler Helfer*innen, die vom Infodesk bis zu den Livestreams alles am Laufen halten. Wer mitmachen will, kann sich im Trollsystem troll.gulas.ch registrieren. Bei speziellen Tätigkeiten werden Neulinge eingewiesen, sodass auch hier keine Vorkenntnisse oder besonderen Qualifikationen nötig sind.

GPN18 CC-BY 4.0 »Florian Köhler, cheatha.de«

# Wichtige Links

Meldet euch für die GPN19 an join.gulas.ch, reicht eure Vorträge, Workshops und Gameshows ein cfp.gulas.ch und berücksichtigt unsere Hinweise zu einem harmonischen Miteinander entropia.de/GPN19:Care.

Wir machen uns Gedanken zur Barrierefreiheit der GPN. Habt Ihr dazu eigene Ideen? Dann teilt sie uns mit: entropia.de/GPN:Barrierefreiheit

Trollt (mit) uns: troll.gulas.ch

Um auf der GPN mit Freunden oder insbesondere beim Trollen mit der Orga in Kontakt zu bleiben, hat sich das DECT-System etabliert, basierend auf ByoD (Bring your own DECT). Registrieren könnt ihr euch unter poc.gulas.ch.

Für alles andere gibt es das Wiki: gulas.ch

# mini-FAQ

  • „Was kostet ein Ticket?“ – Es gibt keine Tickets und der Eintritt ist frei und unbeschränkt. Die GPN ist spendenfinanziert, die Preise für Getränke und Essen sind niedrig. Um die Veranstaltung auch im nächsten Jahr zu ermöglichen, sind wir auf eure Spenden angewiesen.
  • „Warum sollte ich mich anmelden?“ – Damit wir wissen, wie viele Stühle, Tische, Gulasch- und Tschunkzutaten bestellt werden müssen. Textil-Swag muss bei der Anmeldung reserviert werden. Im Zweifelsfall kannst du aber auch ohne Anmeldung zur GPN kommen.
  • „Was sind Trolle?“ – So nennen wir unsere Helfer*innen, vergleichbar zu den Engeln bei anderen Chaosveranstaltungen. Komm vorbei und trolle mit uns!
  • „Gibt es eine Turnhalle zum Schlafen?“ – Leider nein. Im Wiki gibt es allerdings eine Schlafplatzbörse entropia.de/GPN19:Unterkunft.
  • „Ich habe noch andere Fragen!“ – Dann schau zuerst auf unserer ausführlichen FAQ entropia.de/GPN19:FAQ nach und wenn du dort keine Antwort findest, schreibe uns eine Mail an: info@entropia.de
GPN18 CC-BY 4.0 »Florian Köhler, cheatha.de«

GPN18 CC-BY 4.0 »Florian Köhler, cheatha.de«

hello world

tl;dr: Let’s do the GPN warp again! Sign up join.gulas.ch, submit your ideas cfp.gulas.ch and bring your friends.

Long awaited and often requested—the time has come. We invite all of you to this year’s Gulaschprogrammiernacht.

Save the date:

GPN19, 2019-05-30 to 2019-06-02 in the HfG/ZKM, Lorenzstr. 15, 76135 Karlsruhe, Baden, Baden-Württemberg, Europe, Earth, Sun, ?-Quadrant, Milky Way, Laniakea

# More of the same

The Gulaschprogrammiernacht has everyting for the discerning hacker: Talks, workshops, demoshow, flashing lights, lots of music (always both too loud and too quiet), two (!!!) hackcenters, enough Mate for all of us (some say it’s the years stock for Karlsruhe), tons of Tschunk, an epic lounge, and a fantastic outside lava-lawn (*lava not included). Oh, and as always: yummy goulash in a meaty and vegan edition. Once again, this is your chance for four days of collective hacking, talking, socializing, and chilling till the bytes come home. Everyone is welcome, from the ‘usual suspects’ to newbies as well as all other interested parties.

#Talks/Workshops

The amount and quality of talks and workshops at the GPN depends on you! We are eager to hear about your submissions on all kinds of topics for all the different attendees. You can submit your talks and workshops at our Pretalx cfp.gulas.ch. If you don’t feel up to the task yourself but know of people you would love to see at the GPN, please talk to them and refer them to this call for participation and cfp.gulas.ch.

Please keep in mind that this event is attended by a wide range of people that may not be as well versed in your area of expertise as perhaps at a specialized conference. Please also try to make your talks accessible to the widest range of audience possible.

The talks will be recorded by the C3VOC and published on media.ccc.de. As a speaker, you can of course opt out of being recorded at any time.

# Trolling

Like all other Chaos events, the GPN only works thanks to the help of many volunteers that keep everything running, from the info desk to the livestreams. Whoever wants to lend a hand is encouraged to do so and can (soon) register with the Trollsystem troll.gulas.ch.

While most tasks can be done by anyone, training for particular tasks will be provided to those who need it.

# Important links

Sign up for GPN19 join.gulas.ch and submit your talks, workshops and gameshows cfp.gulas.ch and respect our code of conduct entropia.de/GPN19:Care

We are trying to reduce barriers at the GPN for all kinds of people. If you have suggestions, please share them with us at: entropia.de/GPN:Barrierefreiheit

Troll (with) us: troll.gulas.ch.

To stay in touch with friends and especially to coordinate with the orga during trolling we have established a DECT system that is based on ByoD (bring you own DECT). You can register your DECT at: poc.gulas.ch.

For any further information please visit the Wiki: gulas.ch

# mini-FAQ

  • “How much does a ticket cost?” – There are no tickets and admission is free. The GPN is funded by your contributions, the prices for food and drinks are kept low. To finance further iterations of the GPN, we rely on and kindly ask for your donations.
  • “Why should I register if there are no tickets?” – We need some preliminary data to estimate how many chairs and tables to book, how much Mate and ingredients for goulash to buy. Textiles and other merchandise have to be preordered during registration. You are of course free to come to the GPN without prior registration, even though it would be extremely helpful for our planning and other preparations.
  • “What are trolls?” – Trolls are all people helping us run the GPN, they are very much the same thing as the angles at other chaos-events. Come to GPN and troll (with) us!
  • “Is there going to be a gym or other accommodations to sleep?” – Unfortunately, it was (and will) not (be) possible to organize a gym or other accommodations. If you need a place to sleep, have a look at the couch exchange in the Wiki entropia.de/GPN19:Unterkunft.
  • “I still have Questions!” – Please visit our full length FAQ! entropia.de/GPN19:FAQ If you can’t find any answer to your question there, send us a mail at info@entropia.de. 
09 Feb 08:55

getting rid of humans

So apparently the AI revolution is coming. Taxi and truck drivers will be replaced by self-driving cars, robots will replace workers, drones will be delivering packages to our doors and big data algorithms will find our perfect date. Also, robots will soon take over the world.

Well, I don't believe a single word.

What I believe is this: we are immersed in technology that is quietly reducing human interactions.

We stare at our devices while waiting for the next train and avoid the glance of the pretty girl/boy a few meters away, we use online ordering and delivery services in order to not sit alone in a restaurant, apps to call a ride or get the fastest route from A to B so that we don't have to talk to anyone. We use personal assistants and online stores so that we don't have to talk to that shop assistant, social media where everybody seems to have a perfect life in order to avoid the sometimes harsh conversations of the real life. All powered by AI, which allegedly should make our lives better.

But we humans don't exist as segregated individuals. We're social animals, we're part of networks. Our random accidents and behaviours make life enjoyable.

We should use our technologies to augment these capabilities, to make us better humans. This is the reason why I tell my clients to make use of their website to start genuine conversations with their clients, to help them to make their life better. That is the sweet spot of our technology, of our websites, of digital innovation and automation.

30 Nov 12:22

bicycles or tricycles

Would you rather go across town on a tricycle or a bicycle?

It is clearly easier to learn to ride a tricycle, but nowhere as efficient as a bicycle. Learning to ride a bicycle is hard. But in the end it seems to be worth it – you don't see many tricycles around these days, do you?

Similarly, is it better to use tools that are easy to learn and use? Or is it worth to put in the time to learn and master difficult, powerful tools? On one hand, simple tools may be easy to learn and use, but it will be hard work to accomplish difficult tasks. On the other hand, difficult and powerful tools call for considerably more skills, but the ratio of time to effort is dramatically higher. And this is a very interesting perspective: If you happen to use the computer as a tool for your lifetime, isn't it worth to invest time, become skillful and save time in the long run?

21 Aug 12:16

security things in Linux v4.18

by kees

Previously: v4.17.

Linux kernel v4.18 was released last week. Here are details on some of the security things I found interesting:

allocation overflow detection helpers

One of the many ways C can be dangerous to use is that it lacks strong primitives to deal with arithmetic overflow. A developer can’t just wrap a series of calculations in a try/catch block to trap any calculations that might overflow (or underflow). Instead, C will happily wrap values back around, causing all kinds of flaws. Some time ago GCC added a set of single-operation helpers that will efficiently detect overflow, so Rasmus Villemoes suggested implementing these (with fallbacks) in the kernel. While it still requires explicit use by developers, it’s much more fool-proof than doing open-coded type-sensitive bounds checking before every calculation. As a first-use of these routines, Matthew Wilcox created wrappers for common size calculations, mainly for use during memory allocations.

removing open-coded multiplication from memory allocation arguments

A common flaw in the kernel is integer overflow during memory allocation size calculations. As mentioned above, C doesn’t provide much in the way of protection, so it’s on the developer to get it right. In an effort to reduce the frequency of these bugs, and inspired by a couple flaws found by Silvio Cesare, I did a first-pass sweep of the kernel to move from open-coded multiplications during memory allocations into either their 2-factor API counterparts (e.g. kmalloc(a * b, GFP...) -> kmalloc_array(a, b, GFP...)), or to use the new overflow-checking helpers (e.g. vmalloc(a * b) -> vmalloc(array_size(a, b))). There’s still lots more work to be done here, since frequently an allocation size will be calculated earlier in a variable rather than in the allocation arguments, and overflows happen in way more places than just memory allocation. Better yet would be to have exceptions raised on overflows where no wrap-around was expected (e.g. Emese Revfy’s size_overflow GCC plugin).

Variable Length Array removals, part 2

As discussed previously, VLAs continue to get removed from the kernel. For v4.18, we continued to get help from a bunch of lovely folks: Andreas Christoforou, Antoine Tenart, Chris Wilson, Gustavo A. R. Silva, Kyle Spiers, Laura Abbott, Salvatore Mesoraca, Stephan Wahren, Thomas Gleixner, Tobin C. Harding, and Tycho Andersen. Almost all the rest of the VLA removals have been queued for v4.19, but it looks like the very last of them (deep in the crypto subsystem) won’t land until v4.20. I’m so looking forward to being able to add -Wvla globally to the kernel build so we can be free from the classes of flaws that VLAs enable, like stack exhaustion and stack guard page jumping. Eliminating VLAs also simplifies the porting work of the stackleak GCC plugin from grsecurity, since it no longer has to hook and check VLA creation.

Kconfig compiler detection

While not strictly a security thing, Masahiro Yamada made giant improvements to the kernel’s Kconfig subsystem so that kernel build configuration now knows what compiler you’re using (among other things) so that configuration is no longer separate from the compiler features. For example, in the past, one could select CONFIG_CC_STACKPROTECTOR_STRONG even if the compiler didn’t support it, and later the build would fail. Or in other cases, configurations would silently down-grade to what was available, potentially leading to confusing kernel images where the compiler would change the meaning of a configuration. Going forward now, configurations that aren’t available to the compiler will simply be unselectable in Kconfig. This makes configuration much more consistent, though in some cases, it makes it harder to discover why some configuration is missing (e.g. CONFIG_GCC_PLUGINS no longer gives you a hint about needing to install the plugin development packages).

That’s it for now! Please let me know if you think I missed anything. Stay tuned for v4.19; the merge window is open. :)

© 2018, Kees Cook. This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 License.
CC BY-SA 4.0

24 May 07:00

The diameter of German+English

by mail@joachim-breitner.de (Joachim Breitner)

Languages never map directly onto each other. The English word fresh can mean frisch or frech, but frish can also be cool. Jumping from one words to another like this yields entertaining sequences that take you to completely different things. Here is one I came up with:

frechfreshfrishcoolabweisenddismissivewegwerfendtrashingverhauendbangingGeklopfeknocking – …

And I could go on … but how far? So here is a little experiment I ran:

  1. I obtained a German-English dictionary. Conveniently, after registration, you can get dict.cc’s translation file, which is simply a text file with three columns: German, English, Word form.

  2. I wrote a program that takes these words and first canonicalizes them a bit: Removing attributes like [ugs.] [regional], {f}, the to in front of verbs and other embellishment.

  3. I created the undirected, bipartite graph of all these words. This is a pretty big graph – ~750k words in each language, a million edges. A path in this graph is precisely a sequence like the one above.

  4. In this graph, I tried to find a diameter. The diameter of a graph is the longest path between two nodes that you cannot connect with a shorter path.

Because the graph is big (and my code maybe not fully optimized), it ran a few hours, but here it is: The English expression be annoyed by sb. and the German noun Icterus are related by 55 translations. Here is the full list:

  • be annoyed by sb.
  • durch jdn. verärgert sein
  • be vexed with sb.
  • auf jdn. böse sein
  • be angry with sb.
  • jdm. böse sein
  • have a grudge against sb.
  • jdm. grollen
  • bear sb. a grudge
  • jdm. etw. nachtragen
  • hold sth. against sb.
  • jdm. etw. anlasten
  • charge sb. with sth.
  • jdn. mit etw. [Dat.] betrauen
  • entrust sb. with sth.
  • jdm. etw. anvertrauen
  • entrust sth. to sb.
  • jdm. etw. befehlen
  • tell sb. to do sth.
  • jdn. etw. heißen
  • call sb. names
  • jdn. beschimpfen
  • abuse sb.
  • jdn. traktieren
  • pester sb.
  • jdn. belästigen
  • accost sb.
  • jdn. ansprechen
  • address oneself to sb.
  • sich an jdn. wenden
  • approach
  • erreichen
  • hit
  • Treffer
  • direct hit
  • Volltreffer
  • bullseye
  • Hahnenfuß-ähnlicher Wassernabel
  • pennywort
  • Mauer-Zimbelkraut
  • Aaron's beard
  • Großkelchiges Johanniskraut
  • Jerusalem star
  • Austernpflanze
  • goatsbeard
  • Geißbart
  • goatee
  • Ziegenbart
  • buckhorn plantain
  • Breitwegerich / Breit-Wegerich
  • birdseed
  • Acker-Senf / Ackersenf
  • yellows
  • Gelbsucht
  • icterus
  • Icterus

Pretty neat!

So what next?

I could try to obtain an even longer chain by forgetting whether a word is English or German (and lower-casing everything), thus allowing wild jumps like hathuthüttelodge.

Or write a tool where you can enter two arbitrary words and it finds such a path between them, if there exists one. Unfortunately, it seems that the terms of the dict.cc data dump would not allow me to create such a tool as a web site (but maybe I can ask).

Or I could throw in additional languages!

What would you do?

Update (2018-06-17):

I ran the code again, this time lower-casing all words, and allowing false-friends translations, as suggested above. The resulting graph has – surprisingly – precisely the same diamater (55), but with a partly different list:

  • peyote
  • peyote
  • mescal
  • meskal
  • mezcal
  • blaue agave
  • maguey
  • amerikanische agave
  • american agave
  • jahrhundertpflanze
  • century plant
  • fächerlilie
  • tumbleweed
  • weißer fuchsschwanz
  • common tumbleweed
  • acker-fuchsschwanz / ackerfuchsschwanz
  • rough pigweed
  • grünähriger fuchsschwanz
  • love-lies-bleeding
  • stiefmütterchen
  • pansy
  • schwuchtel
  • fruit
  • ertrag
  • gain
  • vorgehen
  • approach
  • sich an jdn. wenden
  • address oneself to sb.
  • jdn. ansprechen
  • accost sb.
  • jdn. belästigen
  • pester sb.
  • jdn. traktieren
  • abuse sb.
  • jdn. beschimpfen
  • call sb. names
  • jdn. etw. heißen
  • tell sb. to do sth.
  • jdm. etw. befehlen
  • entrust sth. to sb.
  • jdm. etw. anvertrauen
  • entrust sb. with sth.
  • jdn. mit etw. [dat.] betrauen
  • charge sb. with sth.
  • jdm. etw. zur last legen
  • hold sth. against sb.
  • jdm. etw. nachtragen
  • bear sb. a grudge
  • jdm. grollen
  • have a grudge against sb.
  • jdm. böse sein
  • be angry with sb.
  • auf jdn. böse sein
  • be mad at sb.
  • auf jdn. einen (dicken) hals haben

Note that there is not actually a false-friend in this list – it seems that adding the edges just changed the order of edges in the graph representation and my code just happened to find a different diamer.

30 Mar 09:14

Limit personal data exposure with Firefox containers

by Yves-Alexis corsac@debian.org

There was some noise recently about the massive amount of data gathered by Cambridge Analytica from Facebook users. While I don't use Facebook myself, I do use Google and other services which are known to gather a massive amount of data, and I obviously know a lot of people using those services. I also saw some posts or tweet threads about the data collection those services do.

Mozilla recently released a Firefox extension to help users confine Facebook data collection. This addon is actually based on the containers technology Mozilla develops since few years. It started as an experimental feature in Nightly, then as a test pilot experiment, and finally evolved into a fully featured extension called Multi-Account containers. A somehow restricted version of this is even included directly in Firefox but you don't have the configuration window without the extension and you need to configure it manually with about:config.

Basically, containers separate storage (cookies, site preference, login session etc.) and enable an user to isolate various aspect of their online life by only staying logged to specific websites in their respective containers. In a way it looks like having a separate Firefox profile per website, but it's a lot more usable daily.

I use this extension massively, in order to isolate each website. I have one container for Google, one for Twitter, one for banking etc. If I used Facebook, I would have a Facebook container, if I used gmail I would have a gmail container. Then, my day to day browsing is done using the “default” container, where I'm not logged to any website, so tracking is minimal (I also use uBlock origin to reduce ads and tracking).

That way, my online life is compartmentalized/containerized and Google doesn't always associate my web searches to my account (I actually usually use DuckDuckGo but sometimes I do a Google search), Twitter only knows about the tweets I read and I don't expose all my cookies to every website.

The extension and support pages are really helpful to get started, but basically:

  • you install the extension from the extension page
  • you create new containers for the various websites you want using the menu
  • when you open a new tab you can opt to open it in a selected container by long pressing on the + button
  • the current container is shown in the URL bar and with a color underline on the current tab
  • it's also optionally possible to assign a website to a container (for example, always open facebook.com in the Facebook container), which can help restricting data exposure but might prevent you browsing that site unidentified

When you're inside the container and you want to follow a link, you can get out of the container by right clicking on the link, select “Open link in new container tab” then select “no container”. That way Facebook won't follow you on that website and you'll start fresh (after the redirection).

As far as I can tell it's not yet possible to have disposable containers (which would be trashed after you close the tab) but a feature request is open and another extension seems to exist.

In the end, and while the isolation from that extension is not perfect, I really suggest Firefox users to give it a try. In my opinion it's really easy to use and really helps maintaining healthy barriers on one's online presence. I don't know about an equivalent system for Chromium (or Safari) users but if you know about it feel free to point it to me.

A French version of this post is also available here just in case.

09 Feb 12:07

The Undiscovered

by Jason Scott

There’s a bit of a nuance here; this entry is less about the specific situation I’m talking about, than about the kind of situation it is.

I got pulled into this whole thing randomly, when someone wrote me to let me know it was going along. Naturally, I fired into it all with all cylinders, but after a while, I figured out very good people were already on it, by days, and so I don’t actually have to do much of anything. That works for me.

It went down like this.

MOS Technology designed the 6502 chip which was in a mass of home computers in the 1970s and 1980s. (And is still being sold today.) The company, founded in 1969, was purchased in 1976 by Commodore (they of the 64 and Amiga) and became their chip production arm. A lot of the nitty gritty details are in the Wikipedia page for MOS. This company, now a subsidiary, lived a little life in Pennsylvania throughout the 1980s as part of the Commodore family. I assume people went to work, designed things, parked in the parking lot, checked out prototypes, responded to crazy Commodore administration requests… the usual.

In 1994, Commodore went out of business and its pieces bought by various groups. In the case of the MOS Technology building, it was purchased by various management and probably a little outside investment, and became a new company, called GMT Microelectronics. GMT did whatever companies like that do, until 2001, when they were shut down by the Environmental Protection Agency because it turns out they kind of contaminated the groundwater and didn’t clean it up very well.

Then the building sat, a memory to people who cared about the 6502 (like me), to former employees, and probably nobody else.

Now, welcome to 2017!

The building has gotten a new owner who wants to turn the property into something useful. To do this, they basically have to empty it, raze the building the ground, clean the ground, and then build a new building. Bravo, developer. Remember, this building has sat for 16 years, unwanted and unused.

The sign from the GMT days still sits outside, unchanged and just aged from when the building was once that business. Life has certainly gone on. By the way, these photos are all from Doug Crawford of the Vintage Computing Federation, who took this tour in late 2017.

Inside, as expected, it is a graffiti and firepit shitshow, the result of years of kids and others camping out in the building’s skeletal remains and probably whiling away the weekends hanging out.

And along with these pleasant scenes of decay and loss are some others involving what Doug thought were “Calcium Deposits” and which I personally interpret as maybe I never need to set foot in this building at any point in my future life and probably will have to burn any clothing I wear should I do so.

But damn if Doug didn’t make the journey into this environmentally problematic deathtrap to document it, and he even brought a guest of some reknown related to Commodore history: Bil Herd, one of the designers of the Commodore 128.

So, here’s what I want to get to: In this long-abandoned building, decades past prime and the province of trespassers and neglect, there turns out to have been quite a bit of Commodore history lying about.

There’s unquestionably some unusually neat items here – old printed documentation, chip wafers, and those magnetic tapes of who knows what; maybe design or something else that needed storage.

So here’s the thing; the person who was cleaning up this building for demolishing was put into some really weird situations – he wanted people to know this was here, and maybe offer it up to collectors, but as the blowback happened from folks when he revealed he’d been throwing stuff out, he was thrown into a defensive position and ultimately ended up sticking with looking into selling it, like salvage.

I think there’s two lessons here:

  1. There’s no question there’s caches of materials out there, be they in old corporate offices, warehouses, storerooms, or what have you, that are likely precious windows into bygone technology. There’s an important lesson in not assuming “everything” is gone and maybe digging a bit deeper. That means contacting places, inquiring with simple non-badgering questions, and being known as someone interested in some aspect of history so people might contact you about opportunities going forward.
  2. Being a shouty toolbox about these opportunities will not improve the situation.

I am lucky enough to be offered a lot of neat materials in a given month; people contact me about boxes, rooms and piles that they’re not sure what the right steps are. They don’t want to be lectured or shouted at; they want ideas and support as they work out their relationship to the material. These are often commercial products now long-gone and there’s a narrative that old automatically means “payday at auction” and that may or may not be true; but it’s a very compelling narrative, especially when times are hard.

So much has been saved and yes, a lot has been lost. But if the creators of the 6502 can have wafers and materials sitting around for 20 years after the company closed, I think there’s some brightness on the horizon for a lot of other “lost” materials as well.

20 Jan 16:24

Books I read in 2017

by markos

Cannot say much good about 2017, but at least I read a bunch of books. More even than I hoped and fewer than I would if I hadn’t slacked off at the end of last year. Not a bad selection either with no duds, but maybe too many work oriented choices and overall intellectually somewhat shallow.

As every year unaffiliated links point to Amazon. They represent mild endorsement and I would also include the two unlinked ones if I could find a place where you can get them online. Book titles are in the languages in which I read them and translations or originals may be worse or better.

Bold, as always, is reserved for those I would recommend: Austerlitz, Stories of Your Life And Others, a sequel The Arab of the Future 2, Fever Dream and a non-fiction book The Mom Test. Of these I would recommend Austerlitz the most even though I am certain it will not be to everyone’s liking. The second book worthy of a special mention is The Mom Test which I believe is the first exception to my unstated policy (until now) of recommending only fiction and general interest non-fiction books. Even if you are not trying to start a business it is still useful to learn how to get useful information and feedback from people without resorting to manipulation.

On to the list:

  • Judje na Slovenskem (Jews in Slovenian ethnic territory) by Klemen Jelinčič Boeta. A very short, at time enumerative but always informative history of Jews in Slovenian territories. I became nauseous when reading about 19th and most of 20th century, but would recommend it even more for it.
  • How to Improve Your Foreign Language Immediately by Boris Shekhtman. A very to the point book on techniques you can use to improve how you learn (any) new language. Too early to tell how well they work, but they and exercises look promising and useful also for improving communication in native language.
  • Microinteractions: Designing with Details by Dan Saffer. Detailed examination of microinteractions, what makes them work and how to use them to build experiences that are pleasant and memorable. Recommended reading for UX designers.
  • Austerlitz by W.G.Sebald. I am struggling to describe this very fine book without saying too much while saying too little. Almost dreamlike, impressionistic meditation where a lot transpires without much happening. Very recommended and worth persisting even if it does not grab you immediately.
  • Mobile App Development with Ionic 2 by Chris Griffith. A good introduction to Ionic2 for those new to it. I would like it more if it was more focused (comments related to Ionic 1 are not really useful to anyone) and if testing apps received more space.
  • A Burglar's Guide to the City by Geoff Manaugh. A book most easily enjoyed if approached as light entertainment. Starting from an intriguing premise, full of interesting anecdotes and some interesting information, it still felt too long with too little to say. Do not expect a guide!
  • Stories Of Your Life And Others by Ted Chiang. I feel I should have liked it more than I did. Every story is original and thought provoking, most of them well written and none badly. Cannot think of a reason why I would not recommend it.
  • The Longest Afternoon: The 400 Men Who Decided the Battle of Waterloo by Brendan Simms. Title really sums it up and I can recommend it to anyone remotely interested in the battle of Waterloo. Gripping read that takes no longer than your average movie.
  • The Arab of the Future 2: A Childhood in the Middle East, 1984-1985 by Riad Sattouf. Next instalment in trilogy and as good as the first one. Highly recommended.
  • Fever Dream by Samanta Schweblin. A difficult book to discuss without saying too much, but it is one of the most gripping books I remember reading. Probably unfilmable, but stories don't come much better than this.
  • Nemška loterija (German Lottery) by Miha Mazzini. I enjoyed reading this book more than his recent columns (rants). While twist itself will not surprise you, it is well written with some ideas that may elevate it above most summer reading.
  • Angular 2 Cookbook by Matt Frisbie. An excellent combination of tips and introduction to Angular 2+ that I would recommend to anyone wanting to learn this framework. It has few minor errors, but none (yet) that would really matter.
  • CSS Secrets: Better Solutions to Everyday Problems by Lea Verou. Fantastic book for practically every web frontend developer. At its most superficial it is a well organised cookbook of mostly excellent solutions to commonly found problems. However its real value lies in author's explanations which can teach almost everyone something on how to go about solving CSS challenges.
  • Practical SVG by Chris Coyier. A fine introduction to using SVG effectively. If like me you want information about SVG internals, then this is probably not the book you want. Nevertheless it already has proved useful to me.
  • Badass: Making Users Awesome by Kathy Sierra. I am a big fan of Kathy, but am a bit perplexed by this book. It's central thesis is interesting: building loyalty by focusing on user's development, but I am not sure how widely can this be used and some research it relies on is questionable. Still, if nothing else it gives you good advice on how to effectively improve your own skills.
  • Emil und die Detektive (Emil and the Detectives) by Erich Kästner. I read this book first when I was about Emil Tischbein's age and this fun story aged surprisingly well with its humanistic core as relevant now as it was when it was written. Still, best suited for children and those looking for an easy way in to polishing their German.
  • Designing Interface Animation: Meaningful Motion for User Experience by Val Head. A good primer on why and how to use animation effectively in interface design. It is at its weakest, as this type of books generally are, when discussing how to incorporate it in work processes, but all of it is worth reading and I would especially recommend reading e-book version as it makes it easier to use included links to video demos.
  • The Family Trade by Charles Stross. A book I probably read at a wrong time. A well written engaging story with mostly compelling characters that sometimes exhibit implausible adaptability to circumstances. An abrupt end on account of book's publishing history did not bother me as much as I expected. Stross is clearly a talented storyteller and I suspect I would like this book more if I read it a couple of years ago.
  • The Mom Test by Rob Fitzpatrick. Possibly the best business book I've ever read. Excellent advice on practically every aspect of customer discovery without any fluff.
  • Učna ura ustvarjalnega pisanja (Lessons or creative writing) by Michal Viewegh. A decent entertainment for a short afternoon with some good lines and with an opinion on good literature that I don't subscribe to.

This year my plan is again to read about 15 books with work related kind being in clear minority, but numbers are not everything and I would be happy even with only 10 mind-stretching ones. I am looking for Dictionary of the Khazars (Hazarski rečnik) in Serbian so any tip would be appreciated. Another challenge to myself is to read at least a book in every language I know well enough. I suspect this is ambitious enough for this year.

Related articles

10 Jan 10:18

Meltdown and Spectre in Debian

I'll assume everyone's already heard repeatedly about the Meltdown and Spectre security issues that affect many CPUs. If not, see meltdownattack.com. These primarily affect systems that run untrusted code - such as multi-tenant virtual hosting systems. Spectre is also a problem for web browsers with Javascript enabled.

Meltdown

Over the last week the Debian kernel team has worked to mitigate Meltdown in all suites. This mitigation is currently limited to kernels running in 64-bit mode (amd64 architecture), but the issue affects 32-bit mode as well.

You can see where this mitigation is applied on the security tracker. As of today, wheezy, jessie, jessie-backports, stretch and unstable/sid are fixed while stretch-backports, testing/buster and experimental are not.

Spectre

Spectre needs to be mitigated in the kernel, browsers, and potentially other software. Currently the kernel changes to mitigate it are still under discussion upstream. Mozilla has started mitigating Spectre in Firefox and some of these changes are now in Debian unstable (version 57.0.4-1). Chromium has also started mitigating Spectre but no such changes have landed in Debian yet.

17 May 21:00

NetworkManager and WiFi Scans

by dcbw

Recently Dave Täht wrote a blog post investigating latency and WiFi scanning and came across NetworkManager’s periodic scan behavior.  When a WiFi device scans it obviously must change from its current radio channel to other channels and wait for a short amount of time listening for beacons from access points.  That means it’s not passing your traffic.

With a bad driver it can sometimes take 20+ seconds and all your traffic gets dropped on the floor.

With a good driver scanning takes only a few seconds and the driver breaks the scan into chunks, returning to the associated access point’s channel periodically to handle pending traffic.  Even with a good driver, latency-critical applications like VOIP or gaming will clearly suffer while the WiFi device is listening on another channel.

So why does NetworkManager periodically scan for WiFi access points?

Roaming

Whenever your WiFi network has multiple access points with the same SSID (or a dual-band AP with a single SSID) you need roaming to maintain optimal connectivity and speed.  Jumping to a better AP requires that the device know what access points are available, which means doing a periodic scan like NetworkManager does every 2 minutes.  Without periodic scans, the driver must scan at precisely the worst moment: when the signal quality is bad, and data rates are low, and the risk of disconnecting is higher.

Enterprise WiFi setups make the roaming problem much worse because they often have tens or hundreds of access points in the network and because they typically use high-security 802.1x authentication with EAP.  Roaming with 802.1x introduces many more steps to the roaming process, each of which can fail the roaming attempt.  Strategies like pre-authentication and periodic scanning greatly reduce roaming errors and latency.

User responsiveness and Location awareness

The second reason for periodic scanning is to maintain a list of access points around you for presentation in user interfaces and for geolocation in browsers that support it.  Up until a couple years ago, most Linux WiFi applets displayed a drop-down list of access points that you could click on at any time.  Waiting for 5 to 15 seconds for a menu to populate or ‘nmcli dev wifi list’ to return would be annoying.

But with the proliferation of WiFi (often more than 30 or 40 if you live in a flat) those lists became less and less useful, so UIs like GNOME Shell moved to a separate window for WiFi lists.  This reduces the need for a constantly up-to-date WiFi list and thus for periodic scanning.

To help support these interaction models and click-to-scan behaviors like Mac OS X or Maemo, NetworkManager long ago added a D-Bus API method to request an out-of-band WiFi scan.  While it’s pretty trivial to use this API to initiate geolocation or to refresh the WiFi list based on specific user actions, I’m not aware of any clients using it well.  GNOME Shell only requests scans when the network list is empty and plasma-nm only does so when the user clicks a button.  Instead, UIs should simply request scans periodically while the WiFi list is shown, removing the need for yet another click.

WHAT TO DO

If you don’t care about roaming, and I’m assuming David doesn’t, then NetworkManager offers a simple solution: lock your WiFi connection profile to the BSSID of your access point.  When you do this, NetworkManager understands that you do not want to roam and will disable the periodic scanning behavior.  Explicitly requested scans are still allowed.

You can also advocate that your favorite WiFi interface add support for NetworkManager’s RequestScan() API method and begin requesting periodic scans when WiFi lists are shown or when your browser uses geolocation.  When most do this, perhaps NetworkManager could be less aggressive with its own periodic scans, or perhaps remove them altogether in favor of a more general solution.

That general solution might involve disabling periodic roaming when the signal strength is extremely good and start scanning more aggressively when signal strength drops over a threshold.  But signal strength drops for many reasons like turning on a microwave, closing doors, turning on Bluetooth, or even walking to the next room, and triggering a scan then still interrupts your VOIP call or low ping headshot.  This also doesn’t help people who aren’t close to their access point, leading to the same scanning problem David talks about if you’re in the basement but not if you’re in the bedroom.

Another idea would be to disable periodic scanning when latency critical applications are active, but this requires that these applications consistently set the IPv4 TOS field or use the SO_PRIORITY socket option.  Few do so.  This also requires visibility into kernel mac80211 queue depths and would not work for proprietary or non-mac80211-based drivers.  But if all the pieces fell into place on the kernel side, NetworkManager could definitely do this while waiting for applications and drivers to catch up.

If you’ve got other ideas, feel free to propose them.

11 Mar 12:59

Floating-Point Accuracy For Scaling Numbers

by mortenw

Formulas used in computation of special function often contain constant factors that cannot be precisely represented in floating point formats such as the typical “double”. For example, the base-10 log function:

double log10 (double x)
{
  return log(x)/log(10);
}

Chances are that you should be using the library version of this function; I am just using this simple function for illustration.

Several things affect how accurate result we will get out of this formula. Most importantly, we need an accurate log function. That is provided by the C library (in glibc, at least). Here, however, I want to talk about the last part, namely the scaling by log(10).

Clearly log(10) is irrational, so it will not have an exact representation as a double. In fact, this constant is just about a worst case for double. Its value is, 2*1.00100…10101|1000001… (where “|” marks the 53-bit cutoff for double), i.e., the value is just a hair above the midpoint between the two nearest representable numbers. If we use that value, we must live with it having a relative error of about 9.4e-17.

But we’re scaling with that number and there are two ways of doing that: dividing by the value directly or multiplying by its inverse 1/log(10). The latter value, when computed with higher accuracy that double allows, has the value (1/4)*1.10111…01110|0011001… which gives us a relative representation error of 2.5e-17, i.e., only about a quarter of the error in the direct case.

double log10 (double x)
{
  static double l10i = 0.4342944819032518276511289;
  return log(x) * l10i;
}

In practice this gives log10 several extra correct bits. I noticed this when using test values for Gnu Scientific Library’s complex log10 function for testing Gnumeric’s ditto.

I cannot possibly be the first to look into this, but I don’t recall ever having read about it. I have done the analysis for a set of selected constants and the results are:

For these constants, the direct value is best: pi, EulerGamma, log10(2).

For these constants, the inverse value is best: e, log(2), log(10), sqrt(5), sqrt(pi), sqrt(2pi).

For these constants, it’s a tie: sqrt(2) and sqrt(3). Any integer or half-integer power of two will cause a tie because the mantissa of the power and its inverse will be identical.

Note, that the decision is tied to “double”. For “long double” or “float” the results are going to be different.

10 Jul 12:22

Confronting New Madrid

Connoisseurs of disaster know that the official map of seismic hazards in the United States paints a fat red bull’s-eye in the middle of the country, right where Missouri dovetails into Arkansas:

FEMA expects a major earthquake in the central United States to be the costliest natural disaster in American history, which as a California tech worker wounds my professional pride. We've spent decades building America's most valuable industry on top of a seismic powder keg, only to find ourselves outdone by a bunch of Midwestern cotton farmers. How could they erect a more precarious house of cards than Silicon Valley?

To find out, last spring I joined a group of Midwestern geologists and fellow-travelers on a sort-of-annual field trip to the New Madrid Seismic Zone. The goal of these trips, organized by Phyllis Steckel of Earthquake Insights, is to develop an eye for the kinds of structures and landscapes at greatest risk in a central US earthquake, to soak up the seismic ambiance of the place, to take killer ‘before’ pictures for when the Big One comes, and above all to put the fear of God into actuaries and insurance assessors, the only people who have enough economic leverage to make painful and expensive seismic retrofitting happen in the central United States.

The New Madrid Seismic Zone earned its reputation on the strength of three massive earthquakes that struck in the winter of 1811-1812. The region was very sparsely settled at the time, and became more sparsely settled immediately afterwards, as anyone with legs made it their life's mission to get out of southern Missouri. By the time people came back in any numbers, whatever angry forces drive the quakes had gone dormant again.

Our best account of what happened comes from Eliza Bryan, who was made of stern stuff and rode out all three quakes at her mother's New Madrid boarding house:

On the 16th of December, 1811, about two o'clock, A.M., we were visited by a violent shock of an earthquake, accompanied by a very awful noise resembling loud but distant thunder, but more hoarse and vibrating, which was followed in a few minutes by the complete saturation of the atmosphere, with sulphurious vapor, causing total darkness. The screams of the affrighted inhabitants running to and fro, not knowing where to go, or what to do—the cries of the fowls and beasts of every species—the cracking of trees falling, and the roaring of the Mississippi—the current of which was retrogade for a few minutes, owing as is supposed, to an irruption in its bed—formed a scene truly horrible.

The 16th December earthquake, by the best modern estimates, was a magnitude 7.5 event. It was followed by at least ten thousand aftershocks. An observer near Louisville, Kentucky (380 km from New Madrid) recorded over two thousand earthquakes in the period following the first quake, including at one point “almost continuous shaking from 8 AM to noon”. One of the odder problems in New Madrid seismic historiography is that people got so used to the earth trembling like jelly that they simply stopped recording the smaller earthquakes.

A second earthquake, its strength estimated at 7.3, struck on January 23rd. This one people recorded. Unlike the December 16th quake, it hit during the daytime. Bryan writes that “From this time until the 4th of February the earth was in continual agitation, visibly waving as a gentle sea.”

The final and strongest shock hit on February 7th, a 7.6 magnitude quake centered very near the Mississippi river town of New Madrid.

At first the Mississippi seemed to recede from its banks, and its waters gathering up like a mountain, leaving for the moment many boats, which were here on their way to New Orleans, on bare sand, in which time the poor sailors made their escape from them. It then rising fifteen to twenty feet perpendicularly, and expanding, as it were, at the same moment, the banks were overflowed with the retrogade current, rapid as a torrent—the boats which before had been left on the sand were now torn from their moorings, and suddenly driven up a little creek, at the mouth of which they laid, to the distance in some instances, of nearly a quarter of a mile. The river falling immediately, as rapid as it had risen, receded in its banks again with such violence, that it took with it whole groves of young cotton-wood trees, which ledged its borders. They were broken off which such regularity, in some instances, that persons who had not witnessed the fact, would be difficultly persuaded, that is has not been the work of art. A great many fish were left on the banks, being unable to keep pace with the water. The river was literally covered with the wrecks of boats.

It took a while for the aftershocks to settle down, but with a single exception (a 6.8 quake on Halloween, 1895 at Charleston, Missouri that cracked chimneys in St. Louis and Memphis) there has been no damaging earthquake in the New Madrid Seismic Zone since.

Two hundred years later, despite great advances in our understanding, we still have no idea why there are earthquakes here, or any way to answer the three-hundred-billion dollar question: how likely is it a major New Madrid earthquake will happen again in our lifetime?

Over long enough time scales, of course, everything is doomed. From a major earthquake in California, to a repeat of the 1700 Cascadia earthquake that will obliterate Portland or Seattle, to more exotic but equally inevitable threats like giant solar flares, there is a deep bench of natural disasters waiting to wreak havoc on the United States.

New Madrid is interesting because of the degree of uncertainty it represents. It belongs to a class of earthquakes we don't understand and whose mechanisms are obscure. The historical evidence is unequivocal that there are strong, recurring earthquakes in places far from tectonic plate boundaries—not just New Madrid, but New Hampshire, Quebec, Boston and South Carolina. But we don't know enough about them to quantify the risk. Half the country sits on a powder keg, but there's no telling how long the fuse is, or whether it's even lit.

Cahokia

An email tells me to rendezvous with the group in front of a little church not far from St. Louis, one of the only existing structures to have survived the 1811-12 earthquakes. St. Louis itself is a beautiful city, but the country across the river is a wasteland. Grain silos and industrial buildings, some active and some abandoned, line the waterfront. Facing the St. Louis arch is a large casino, a windowless Arby's-like building designed by someone who was wronged by architecture as a child and never found the strength to forgive. Beyond the casino lies the urban disaster of East St. Louis.

Cahokia is a couple of miles to the south, an indistinguishable grid of streets embedded in a landscape of parking lots, pawn shops and dollar stores. Nothing about it suggests that it's one of the oldest settlements west of the Appalachians. I spot a group of geologists with rucksacks standing in front of an unusual, striped structure of plaster and wood.

Growing up in Illinois filled me with such a longing to escape that it's hard to imagine someone wanting to live here. Yet here before my eyes is a building made by people—French people—who thought the idea worth celebrating; for whom Illinois was the perfect place to stop and settle for a while, and maybe build something sturdy.

The original church was built in 1699. A hundred years later, it was disassembled and the beams reassembled into the larger structure that stands here today, a slightly trapezoidal building whose dark vertical beams alternate with areas of plaster. The wood has long ago transcended its vegetable origins and become something resembling stone. The church caretaker tells us that the last time they needed a hole drilled in one of the beams, the contractor ended up chewing through four drill bits and using vocabulary never before heard within its sacred walls. Each of the massive beams has been valued at twenty-five thousand dollars in theory. In practice, they are irreplaceable. The huge trees they were hewn from are long gone, part of a vast forest that was the first casualty of European settlement.

While it doesn't feel like we're much above the river, the church stands just high enough to have escaped flooding for the past three hundred years, no mean feat on the Mississippi, though at times the water lapped against the doorsill. The New Madrid earthquakes didn't even crack the plaster.

Cahokia's second-oldest building, the Jarrot Mansion, stands a few dozen meters to the west. Nicholas Jarrot was a Montgomery Burns-like figure who dominated the region in the early 19th century. Like in a Biblical parable, his gorgeous brick mansion didn't fare as well as the homely church when the ground shook. Jarrot was guilty of one of the greatest seismic sins, building with unreinforced masonry (sometimes abbreviated URM). Brick walls withstand compression but have almost no shear strength. Unless reinforced with bracing or steel rods, masonry will tumble like a stack of sugar cubes during any prolonged shaking.

The Jarrot Mansion has since been rebuilt and stands waiting to be destroyed by the next quake. The squat little church, designed for the worst a Norman climate can throw at it, will probably outlive humanity.

In the church parking lot we rendezvous with a car and van from Northern Illinois University, up in DeKalb. The passengers have the haunted, vacant look of people who have just taken an Illinois road trip. Their arrival brings our cohort to thirteen: five geologists, a geodynamicist, a professor of emergency management and one of his students, three graduate students in geology, a geographer, and me.

Phyllis hands out our trip packets and gives us directions to our stop for the night, the town of Chester, Illinois, fifty miles to our south. Lacking a bus, we agree to rotate across cars and vans so that everyone has a chance to chat with one another. The group is gratifyingly tolerant of the geologic novices in their midst, but there are moments during the next few days when I feel distinctly out of my depth. Not a dozen miles out of Cahokia, our front passenger points at a row of low hills and says, with a big smile on her face, “Karsty!”. The car shakes with laughter.

Chester, IL

Chester is home to a maximum-security prison, a maximum-security mental institution, the Gilster flour mill, and E. C. Segar, creator of Popeye the Sailor Man. The town elders have weighed their options and decided to promote Popeye. There are little statues of him, Olive Oyl and Bluto throughout town. The garbage cans are oil drums painted to look like cans of spinach.

We settle into a chain hotel with a handsome Greek collonade and assemble in the lobby that night for a briefing about central US earthquakes. Unbeknownst to us, at that very moment a magnitude 2.2 quake is ripping through New Madrid. Phyllis breaks out her powerpoint deck and briefs us on the oddities of Midwestern earthquakes.

The first thing to know is that earthquake energy propagates much farther in the central United States than it does out West. Living in California, I always attributed this to Midwesterners being a more seismically sensitive people, perhaps due to their vast bulk, but the difference is a matter of objective fact. Bedrock east of the Rockies is older, colder, more rigid, and (to use the lovely term of art) more competent than the shattered pile of rubble under California. This rigid Midwestern rock transmits energy efficiently across long distances. The Berkeley seismic blog shows a lovely example of how much farther an earthquake of similar energy is felt in the central United States.

Shaking intensity for 2011 Oklahoma quake, M 5.6.

Shaking intensity for 2007 Calaveras earthquake, M 5.4. Maps are to same scale.

Phyllis stresses the distinction between magnitude and intensity. Magnitude is the measure of total energy released in an earthquake, a single (large) number that we cannot directly measure. Intensity is what we feel on the surface, and it is sensitive to distance, soil type, local geology, how deep the hypocenter was, and many other factors. Since 1999, the USGS has been running a structured online questionnaire called 'Did you feel it?' that lets them collect very specific data about intensity for earthquakes. Although it uses subjective reporting by untrained observers, the reports correlate well with more objective measures of intensity, like ground acceleration, while providing far wider coverage.

The second big fact about Midwestern quakes is that sediments amplify shaking. The rigid bedrock that transmits all that seismic energy lies under a deep blanket of mush laid down by the great Midwestern rivers. Just as tsunami waves will slow in speed but grow in amplitude as they enter shallower water, seismic waves slow and amplify in the kinds of alluvial deposits that cover much of the central US. The sediment filters out high-frequency components, but amplifies the kind of low-frequency waves that can shake buildings apart.

Christchurch, New Zealand comes up a lot in Phyllis's talk. Both the geology and types of buildings there are very similar to what exists in the American midwest. This makes me uneasy, as I've just been to Christchurch and wandered through the condemned central business district, block after block of seemingly intact buildings that are nevertheless abandoned and completely uninhabitable, waiting their turn for an overworked and overwhelmed local government to tear them down.

Christchurch is a good example of why earthquake magnitude isn't the whole story. While the terrible second quake in 2011 was "only" a 6.3, the peak ground acceleration in some suburban areas was over 2.2g—in other words, the ground shook hard enough to throw people in the air. Much of the sewer system rose toward the surface due to soil liquefaction, like a zombie rising from the earth, and became unusable. You can still see above-ground PVC pipes running along roads in Christchurch as a makeshift replacement.

Because of these two factors—sediment amplification and how far earthquake energy can propagate-models of earthquake damage in the NMSZ are not very sensitive to where the earthquake is centered. The NMSZ covers a fairly large area, but an earthquake anywhere along the fault system (or in the nearby Wabash seismic zone) would devastate the region.

The next morning, we cross the Mississippi over a highway bridge that has been carefully anchored in rock on the Illinois side and propped up on a sand berm on the Missouri side, possibly to make life easier for lazy writers searching for a metaphor.

It's a truism that in earthquakes, structures tend to fail at the connection points, and this holds for abstract political structures just as much as highway bridges. The New Madrid Seismic Zone sits at the junction of seven states and four FEMA districts. As far as the authorities are concerned, there's no center here, only periphery. When the big earthquake comes, eleven large bureaucracies, along with the Army Corps of Engineers who mind the river, will have to coordinate efforts in an atmosphere of chaos and scarcity.

Kaskaskia, IL

Our first stop past the river Kaskaskia, the former capital of Illinois. A change of bed by the restless Mississippi has left it stranded as an exclave on the far side of the river. The town has a Missouri ZIP code, but the Illinois Department of Transportation comes over the bridge to fix potholes.

Kaskaskia was completely submerged in the flood of 1993, which didn't improve its chances of bouncing back as state capital. Thirty-three people were still living in the village before the flood; only nine decided to move back afterwards. The place is rather eerie. There are no signs of life, but the buildings are tidy and there are several parked cars that suggest a human presence. A sign on the pecan tree asks us to please not pick the pecans, as they belong to the local church. One of the remaining residents, perhaps responding to a flood insurance requirement, has elevated his trailer on cartoon-like stilts. Phyllis looks them over and frowns at the lack of adequate cross-bracing. This structure would fall right over in a quake. Everyone's got their own disaster in mind.

In 1875, the hydrological engineer James Eads boasted about our understanding of the Mississippi:

If the profession of engineer were not based upon exact science, I might tremble for the result, in view of the immensity of the interests dependent on my success. But every atom that moves onward in the river, from the moment it leaves its home among the crystal springs or mountain snows, throughout the fifteen hundred leagues of its devious pathway, until it is finally lost in the vast waters of the Gulf, is controlled by laws as fixed and certain as those which direct the majestic march of the heavenly spheres. Every phenomenon and apparent eccentricity of the river—its scouring and depositing action, its caving banks, the formation of the bars at its mouth, the effect of the waves and tides of the sea upon its current and deposits—is controlled by law as immutable as the Creator, and the engineer need only to be insured that he does not ignore the existence of any of these laws, to feel positively certain of the results he aims at.

We have learned to rue making statements like that in the century since. Sometimes knowing the rules doesn't get you far. Stokes and Navier formulated the equations governing moving water in 1822, but there's still a million dollar bounty waiting for the first person who can make them tractable. Those heavenly spheres turn out to be far more predictable in their motions than the smallest trickle of water. Randomness and chaos are built too deeply into the natural world for us to make any headway against the Mississippi. Our efforts to model the river have worked about as well as efforts to contain it—mostly successful, but spectacular when they fail.

The levees on the river are built to a master plan called the 'project design flood', a Frankenstein monster of past flooding events stitched together into a hypothetical three-day storm with the enchanting name 'Hypo-Flood 58A'. The project design flood is supposed to represent the worst imaginable flooding incident that could occur in the watershed.

Left: Historic course of the Mississippi River

Right: Project Design Flood

Nature has had fun with the project design flood. Everyone still remembers the five-hundred-year flood in 1993, which was the biggest flood since the one in 1827. Then there was five-hundred-year flood in 2008, followed by the five-hundred-year flood in 2011. Given the frequency of these five-hundred-year floods, you can hardly fault the model for failing to keep up. For all our high-tech visibility into the Mississippi watershed, we find ourselves constantly filling sandbags.

If that's the situation on the surface, where we can see the water moving and know all the rules, you can imagine how much worse it gets underground.

In places like California or Seattle, we pretty much understand why earthquakes happen. Adjoining tectonic plates try to slide past each other, or under one another, and snag like rough skin on silk. Wherever one of the snags let go, there's a little release of pent-up energy, an earthquake. The bigger the area that ruptures, the more powerful the shaking. We know the relative motions of the moving plates (nothing makes a science writer happier than to remind you that Los Angeles is moving towards San Francisco at the same speed your fingernails grow), and by sticking sensitive GPS devices into the ground we can even measure the accumulating strain.

But this is a fundamentally kinematic, not dynamic, description of the world. We talk about motions without being able to explain the underlying forces. The most basic questions about plate tectonics remain open. What is the motor pushing these restless plates around? Are they being pushed or pulled? Why do they move at different speeds, and sometimes abruptly change direction? What causes the hot spots that seem to stay motionless for hundreds of millions of years while tectonic plates slide above them?

When it comes to intra-plate earthquakes, unfortunately, there's no substitute for understanding the "how". The nearest plate boundaries are thousands of kilometers away, so it is not obvious what mechanism could be putting strain on the faults. These are zones that, according to our theories, should be seismically dead. And yet the earth moves.

(And now for the exciting 7,000 word conclusion!)

14 Jun 18:03

A review of Neal Stephenson’s Seveneves

by sil

On Bad Voltage we review things: normally technology products, but occasionally other stuff that we like. In the most recent show I reviewed Neal Stephenson’s recently-released book Seveneves, and I thought I’d excerpt the review for here to give it a more permanent home for people who want to read it.

.oOo.

Neal Stephenson isn’t good at endings. Anyone who’s read any of his stuff knows this. He is good at ideas, and they’re what his books are about. The Diamond Age wasn’t about its plot, it was about nanotechnology. Anathem was about Platonic epistemology. And Seveneves is about orbital mechanics.

Basically, the moon blows up. Nobody’s very sure why. Because this is sci-fi rather than a Michael Bay film, the moon isn’t instantly vapourised into nothingness; all the rock is still there, so instead of a moon you’ve got a cloud of boulders the size of the moon, drifting around where the moon was. Then a popular scientist bloke on Earth, who is called Dubois Harris but really ought to be called Duneil DeGrasse Tyson, points out that all those rocks that make up the moon are going to come out of orbit and land on the earth. Specifically, earth is going to spend five thousand years being bombarded by rocks from the sky, which will cause some problems. Specifically specifically, it will destroy everything. Everybody’s dead, everybody is dead, everybody’s dead, Dave.

So the plan is set to stick a few thousand chosen people on the international space station so they survive and humanity continues to exist, in the two years before rocks fall and everyone dies. That’s the first third of the book. There are some quite emotional scenes of people singing in St. Paul’s Cathedral as the bombardment starts; Stephenson glosses over but makes you aware of the unbelieveable Niagara of politics which is going on back on Earth to decide who gets to live and who doesn’t. The second third of the book is the story of these last remaining humans up in space, and this is where the orbital mechanics comes in; loving, pages-deep detail is devoted to how the international space station rotates its angle of perigee and moves to a higher plane of rotation or something. I have no idea whether this is true or not, but I assume it is. In American Psycho (the book, that is), Bret Easton Ellis went into huge stupid detail about the cravats and suits and pocket squares that the characters all wear, but secretly if anyone had actually worn the things he described they’d have looked stupid… because Ellis knew that everyone reading would just gloss over the actual brand names and have a picture in their heads of a bunch of jumped-up 80s yuppies. It is possible that what Stephenson describes is actually the space station doing insane loop-the-loops, as some sort of extremely erudite joke on the reader destined only for the astronauts among us. This is not helped by how the International Space Station gets re-christened “Izzy”.

Anyway, those of you who are imagining that this becomes some sort of peace-and-flowers Star Trek world where everyone comes together would probably be better off reading something else. It’s basically Lord of the Flies but in space. Now why didn’t I see that coming? Oh, wait, I did. It’s all quite believeably told, mind you, even if I just couldn’t bear to actually read a chapter or two in the middle where a venial ex-President incites a schism. And we end up with there being only seven woman left from the cast of thousands, and everybody else is dead. Dave.

The third part of the book is… five thousand years later. Humanity has recovered and built cities in space and is returning to the earth… and is divided into seven separate tribes, based on which of the seven Eves they descended from. It’s all rather Brave New World in feel, assuming that Huxley had stopped every two pages to lovingly describe how a space elevator works. And then it ends. Anathem had a proper ending, so Stephenson is getting better at this stuff, but Seveneves backslides a bit.

It’s all rather 60s sci-fi in approach. Back when the star of the story was some cool new idea you had about space, like solar sails or geosynchronous satellites or whatever, and the ridiculous lantern-jawed spacer hero was really only there to stand around and explain the cool physics. Seveneves is like that. If you like that sort of thing, you’ll like this. If you like Stephenson, you’ll like this. If you like space engineering, you’ll like this.

The Bad Voltage verdict? If you like things like this, you’ll like this thing. Especially if you already know what a perihelion is.

06 Jul 08:19

Free Software Foundation Europe (FSFE): Slovenski FSFE/Fellowship sestanek & posebni gost: predsednik FSFE

Tokratno mesečno srečanje podpornikov Prostega Programja [Free Software] in Odprtih Standardov bo dodatno popestreno z obiskom Karstena Gerloffa, predsednika FSFE.

Pozor: Zaradi obiska bo sestanek Slovenskega FSFE / Fellowship izjemoma prestavljen na sredo 9. Julija in bo v malce bolj ležerni obliki trajal od 17h naprej do večernih ur ter pretežno potekal v angleškem jeziku (možno je amatersko simultano prevajanje).

Ti sestanki so namenjeni debati in načrtovanju kako naj Slovenija in slovenska družba napredujeta z uporabo več Prostega Programja (odprte kode; ang. Free Software) ter Odprtih Standardov.

Agenda tega meseca (v izdelavi).

FSFE [Free Software Foundation Europe] je pan-Evropska neprofitna nevladna organizacija, ki se bori za napredek Prostega Programja [Free Software] in se prek tega bori za svobodo v digitalni družbi. Programi so tisti, ki določajo kdo lahko dostopa do moderne digitalne družbe in kdo ne. Upravičenja do uporabe, preučevanja, širjenja in izboljševanja programov [use, study, share, and improve] so tista, ki omogočajo enako participacijo in so s tem eno poglavitnih tem moderne družbe.