What I'm Watching: Dark

(Needed a little break from EVA which brings up both happy and terribly sad memories for me… So something "dark" instead)

Dark is a German Twin Peaks/12 Monkeys/La Jetée/Stranger Things/The Caves of Time CYOA mashup.

Kids go missing in the woods around a nuclear power plant.

Terrible English dubbing, often gravelly old people for the kids. But I find German harder to tolerate for long periods than most languages, even Dutch or Finnish, so I'm doing both dub and subtitles; the two are often hilariously unalike.

Is everyone in Germany supposed to be terminally depressed, or just this town? It's shot bleaker than any Scandinavian drama, everyone just stands around crying or staring blankly, with bursts of aggressive activity.

Guy leaves an office with, "Do you ever wonder where we took a wrong turn?" Dramatic non-sequiters abound.

Also wow these are some unattractive people. They've never seen the Sun, most are lined or lumpy before their apparent age, nasty looking hair. Cinéma Vérité is one thing, but this is going too far.

Senile old physicist doing the Log Lady routine. Drug dealing kid like Bobby in Twin Peaks. But there's nobody with any charisma or good looks.

Music ranges from '80s pop to some sorta dark atmospheric, both of which I love, to very gloomy, whiny incidental music which I could do without.

The actual plot so far—non-spoiler, this is all in the first couple episodes—seems to be someone using kids as guinea pigs for a time machine. But they do this in the most hamfisted way possible, creepy dude grabbing local kids instead of, say, taking strays in Berlin back to the Secret Underground Lab.

There's enough good parts, and more enough downbeat but interesting parts, that I'm still going in it, but I wouldn't call any of this compelling.

★★★☆☆

Neon Wednesday Music

Several of these /via xtheo, which is a fantastic synthwave & '80s tumbleblog/moodboard.

Note with Soundcloud, you need to hit the hamburger menu at the bottom right of the page, and turn off "Autoplay Station" or it'll randomly insert other artists. Which might be what you want other times, but not when listening to one artist. Bandcamp works like a sane thing.

Y C?

C has the great virtue that most computers have a C compiler installed or can get one from the vendor, and by typing:

% clang -o thing thing.c # or gcc if you must.

You get a binary that'll run on that platform. If you wrote your code sanely, you can recompile it on every major platform with no changes. If you find a place where a platform's different, you can add #if to fix that.

Contrast with every other systems language:

  • Do you have a compiler installed?
  • Is it portable?
  • Can you even fix non-portable areas?
  • Can you make a binary an end-user can run?
  • Can you call other libraries?

In C, the answer is always yes. In any other, it's "probably not, or only with great effort".

Someone was recommending Ada. It's not in standard gcc. You have to install something called "GNAT":

% sudo port install gnat-gcc
#  Ada is self hosted (http://en.wikipedia.org/wiki/Self-hosting)  #
#  You need to install an existing Ada compiler and then choose    #
#  an appropiate variant. For more info use:                       #
#  port variants gnat-gcc                                          #
% sudo port variants gnat-gcc
gnat-gcc has the variants:
   ada: Uses the MacPorts Ada (https://www.macports.org/) compiler to bootstrap!
   gnatgpl: Uses GNAT/GPL compiler (http://libre.adacore.com) to bootstrap!
   gnuada: Uses the GnuAda (http://gnuada.sourceforge.net/) compiler to
           bootstrap!
   macada: Uses MacAda compiler (http://www.macada.org) to bootstrap!
   odcctools: Use the odcctools instead of the system provided ones - does not
              work for x64 currently!

I dunno what to do here. MacAda hasn't been updated since OS X 10.4, which was 2005. I don't see any other ada in MacPorts. At this point I gave up and uninstalled everything. It's not a working language.

Go is fine except that it's a statically-compiled Java owned by Google, and every part of that is evil and wrong. The Rust Evangelism Task Force's constant whining has made me unwilling to even give all those &'s a chance, they're like digital Mormons. There's nothing really wrong with D Language except that it's not installed anywhere, and it's no safer than C for a lot of extra typing.

C isn't safe, but it's fast. It's pretty hard to use safely on large projects, but for small tools with static data buffers it's fine. You take some tradeoffs for any language.

For high-level programming, I love Scheme and JavaScript, and there's a ton of other good high-level languages. But if you need to write at the lowest level, and make it work everywhere, C's the only rational choice.