diff --git a/src/routes/_posts/hitchikers-guide-to-mesh-vpns.svx b/src/routes/_posts/hitchikers-guide-to-mesh-vpns.svx index ed58bce..d84d2d8 100644 --- a/src/routes/_posts/hitchikers-guide-to-mesh-vpns.svx +++ b/src/routes/_posts/hitchikers-guide-to-mesh-vpns.svx @@ -28,6 +28,7 @@ All of which is to say, in a somewhat meandering way, that we decided pretty ear So for us, the boxes that a VPN needed to tick were: * Mesh topology + * NAT holepunching * With ACLs * User-friendly enough that we could feasibly expect people to install it on their own machines @@ -55,7 +56,7 @@ Also you can self-host the network controller, although I think you lose the shi ### Nebula -[Nebula](https://github.com/slackhq/nebula) is one of the newer crop of mesh VPNs that seem to be popping up like weeds lately. It ticks most of our boxes (mesh, ACLs, NAT holepunching) but does so in ways that all seem just _ever_ so slightly sub-optimal (for us, at least). It's based on the Noise protocol frameworkDon't ask me to explain that more fully. I don't know. Something something ChaCha Poly1305 elliptic curves?, on which Wireguard is also based, making them... sibling protocols, I guess? +[Nebula](https://github.com/slackhq/nebula) is one of the newer crop of mesh VPNs that seem to be popping up like weeds lately. It ticks most of our boxes (mesh, ACLs, NAT holepunching) but does so in ways that all seem just _ever_ so slightly sub-optimal (for us, at least). It's based on the Noise protocol frameworkWhich I understand at only the most basic level. Something something ChaCha Poly1305 elliptic curves?, on which Wireguard is also based, making them... sibling protocols, I guess? Nebula was developed by Slack to support their... somewhat _interesting_ [architecture](https://slack.engineering/building-the-next-evolution-of-cloud-networks-at-slack/),Look, I don't work at Slack, I'm not terribly familiar with their requirements... but is it really the simplest solution to use _hundreds of AWS accounts_ to manage your resources? At that scale, can't you just... rent a bunch of bare metal servers and hook them into a big cluster with, like, Nomad and Consul or something? I dunno. Maybe it's all justified, I'm just not convinced. and seems like a pretty solid piece of work. It's completely self-hostable, which I consider a plus, it uses modern cryptography, and it probably works very well for the use case for which it was designed. Unfortunately for our use case, it's not really designed to be used directly by end-users, e.g. the only way to configure it seems to be through its main config file, and the only way to operate it is through the CLI. Not a problem when all you need to do is hook together a bunch of cloud VMs and the odd dev machine or two, but not great if you want Janice over in HR to be able to talk to the network share. @@ -127,7 +128,7 @@ Of course, it's not _perfect_. What ever is? I have a few (minor) nitpicks: ### Headscale -Of course, no discussion of Tailscale would be complete without mentioning [Headscale](https://github.com/juanfont/headscale), a community-driven re-implementation of the Tailscale control plane. You can point the official Tailscale clients at it, although they may require [a bit of hackery](https://github.com/juanfont/headscale/blob/main/docs/windows-client.md) to work properly. And the Tailscale people have said that although it's not officially supported, they are personally in favor of its existence, which I take to mean that they _probably_ won't intentionally break its functionality with an update within the immediate future. +No discussion of Tailscale would be complete without mentioning [Headscale](https://github.com/juanfont/headscale), a community-driven re-implementation of the Tailscale control plane. You can point the official Tailscale clients at it, although they may require [a bit of hackery](https://github.com/juanfont/headscale/blob/main/docs/windows-client.md) to work properly. And the Tailscale people have said that although it's not officially supported, they are personally in favor of its existence, which I take to mean that they _probably_ won't intentionally break its functionality with an update within the immediate future. It solves the cost issue of Tailscale, although it introduces the cost of having to maintain it yourself, which may or may not be something you'd worry about. It does introduce a UX penalty, and I doubt that's going to change any time soon - the Tailscale people don't seem to mind its existence, but I can't see them going very far out of their way to make it easier for something that exists specifically so that people can avoid paying for their service. Still, if you _really really_ want Tailscale, but you simply can't justify the cost, or you're _especially_ paranoid about the control plane, it's worth a shot. diff --git a/src/routes/_posts/imagining-a-passwordless-future.svx b/src/routes/_posts/imagining-a-passwordless-future.svx index 89b4394..1f1d276 100644 --- a/src/routes/_posts/imagining-a-passwordless-future.svx +++ b/src/routes/_posts/imagining-a-passwordless-future.svx @@ -2,10 +2,12 @@ title: Imagining A Passwordless Future description: Can we replace passwords with something more user-friendly? date: 2021-04-30 +draft: true --- + Passwords are the *worst*. How many times have you groaned becuase *yet another* password-related thing diff --git a/src/routes/_posts/simpler-socketio.svx b/src/routes/_posts/simpler-socketio.svx index 1bdbe3f..bb592ad 100644 --- a/src/routes/_posts/simpler-socketio.svx +++ b/src/routes/_posts/simpler-socketio.svx @@ -1,10 +1,10 @@ --- title: Let's Design A Simpler SocketIO date: 2021-10-16 -description: >- - SocketIO is packed with features. - But do we really need all of them all the time? +description: SocketIO is packed with features. But do we really need all of them all the time? +draft: true --- + Listen, don't get me wrong. SocketIO is great. It provides tons of features, fantastic platform support, is widely deployed by a hugely diverse set of companies, and has been around long enough that it probably has most of the diff --git a/src/routes/_posts/sufficiently-advanced-technology-magic.svx b/src/routes/_posts/sufficiently-advanced-technology-magic.svx new file mode 100644 index 0000000..a575723 --- /dev/null +++ b/src/routes/_posts/sufficiently-advanced-technology-magic.svx @@ -0,0 +1,40 @@ +--- +title: Sufficiently Advanced Technology Is Often Distinguishable From Magic +description: I see what Arthur C. Clarke was getting at, but I don't think I agree. +date: 2022-05-14 +draft: true +--- + + +Clarke's LawActually it's Clarke's Third Law, there are two others. Shows what I know. I will, however, continue to refer to it as "Clarke's Law" for the time being, since it's easier to type and I'm lazy., i.e. "Sufficiently advanced technology is indistinguishable from magic," is a well-known dictum in fiction. I've never had a significant reason to disagree with it in the past, but recently I read _Elder Race_ by Adrian Tchaikovsky and it got me thinking. The upshot is, I've come to the conclusion that (within the world of fiction, of course) sufficiently advanced technology actually _is_ distinguishable from magic, in fact almost always so. Moreover, the distinction is really quite simple: Does the "magic" operate through _extrinsic_ or _intrinsic_ means? Does the magic-user act by operating a device that acts on the natural world, or does he simply exert his will and the world conforms to his desire? If the former, it's probably technology, and if the latter, it's probably magic. + +Before I get started though, the book: _Elder Race_ is quite enjoyable, and not very long either, so you should definitely read it if you're into either sci-fi _or_ fantasy, because it manages to be both. In the interest of avoiding too many spoilers I won't go into too much detail, but the main conceit of the book is spoiled by the jacket blurb anyway, so I won't worry too much about that one. In brief: _Elder Race_ is an enjoyable and fairly in-depth exploration of Clarke's Law. It spends a lot of time considering not just the basic aspects (Look, flying machines! Must be magic!) but deeper questions, like: how would you even go about explaining technology to someone from an un-technological society? + +Unsurprisingly, it comes away with more or less the conclusion that you can't really: the technologically unaware will continue to regard your flying machines as magical conveyances held aloft by arcane powers, your radio as deep wizardry that allows you to commune with distant spirits, and so on. You can try to explain it all you like, but if you say "science" your listener will hear "magic," and if you say "it's just an understanding of natural forces built up over generations" they will hear "it's just hidden knowledge of the secrets of the universe, handed down from the ancients." There is a communications barrier that is, according to this view, insurmountable without starting at the very beginning and working your way up. + +Now, this may or may not be true, but I'd like to take issue with the more general formulation of Clarke's Law. I've always taken the "indistinguishable" bit to mean that _no one_ can distinguish the two, not just that _those unfamiliar with technology_ can distinguish. I don't think that's the case, though. I think that you _can_ distinguish between magic and technology, and that the distinction is trivial in most cases. The question you can usually ask, and often get a clear answer to, is: "Does the [magic/technology] operate by means of devices, or does it rely on internal powers of the user?" if the former, it's technology. If the latter, it's magic. + +Let's take some examples. On the magic side, think of some of the classic swords-and-sorcery canon: _Earthsea_, _Wheel of Time_Much as I dislike it, it's undeniably genre-defining., _Prydain Chronicles_, _Chronicles of Amber_, _Belgariad_, and so on.You might notice that I've skipped LOTR here: don't worry, it will show up later. All of these have in common that magic is effected by a _direct act of will_. There is no mediating device or artifice, the magician simply exerts his will on the universe. There may be techniques involved, or limits to what the magic can accomplish, but there's fundamentally just some direct connection between the wizard's will and the natural world that other people don't have, and that's what makes him a wizard. + +On the other hand, we have sci-fi. Note that a sci-fi story's position on the technology/magic scale is distinct from where it sits on the "sci-fi hardness" scale, although the two are often correlated: sci-fi that incorporates magic, as defined here, tends to be on the softer side. Still, I can name some examples of sci-fi that's unquestionably pure technology. A lot of Heinlein's stuff qualifies, for example _The Moon is a Harsh Mistress_. Bujold's "Vorkosiverse" (I don't think that's the official name) also qualifies, as far as I can remember, and serves as a good example of the distinction between "soft" sci-fi and "magical" sci-fi: it's very soft, but doesn't incorporate any magic. _Ender's Game_. _Snow Crash_ (ok, that one wasn't too hard, most near-future sci-fi is necessarily free of magic.) Plenty of short stories, although for some reason I can't think of any right now except for _Nerves_. + +I'm cherry-picking here, of course. That's ok though, I'm not intending these examples to be an argument, more a set of examples that you can nod your head to and think "Yes, these clearly deal with magic/technology." But there are plenty of things that aren't so clear-cut, so let's take a look at those and see what we make of them. + +# Built-in technology + +What do you call it when the magic-or-technology operates by means of something that _is_ a natural part of the person or animal? What if there was a massive multi-generational genetic engineering effort that resulted in a race of psionic people? Is that magic, or technology? + +This one's tough, but I think I have to come down on the side of "it's still technology." + +Sci-fi, but actually magic + - Psi in Federation stories + - MCU + - Star Wars + - Cloak of Aesir + - Madeleine L'Engle stuff + - The Stars My Destination / The Demolished Man + +Magic, but really technology + - Harry Potter? diff --git a/src/routes/posts.js b/src/routes/posts.js index b7992b5..06fc717 100644 --- a/src/routes/posts.js +++ b/src/routes/posts.js @@ -1,8 +1,14 @@ +import { dev } from '$app/env'; const posts = import.meta.globEager('./_posts/*.svx'); export let postData = []; for (const path in posts) { + // skip draft posts in production mode + if (!dev && posts[path].metadata.draft) { + continue; + } + const slug = path.slice(9, -4) posts[path].metadata.slug = slug; postData.push(posts[path].metadata); diff --git a/src/routes/posts.svelte b/src/routes/posts.svelte index 5b39c9c..aca4260 100644 --- a/src/routes/posts.svelte +++ b/src/routes/posts.svelte @@ -1,11 +1,40 @@ - @@ -21,10 +55,19 @@
-

All Posts

+

All Posts

{#each postData as post} -

-

{post.title}

-

+
+ +
+ +

{post.title}

+ + {#if post.draft} + Draft + {/if} +

+

{post.description}

+
{/each}