Signed-off-by: Xe Iaso <me@christine.website>
This commit is contained in:
Cadey Ratio 2022-01-10 18:09:31 -05:00
parent c7b2db9d54
commit b46138c03d
19 changed files with 158 additions and 101 deletions

View File

@ -1,7 +1,7 @@
[package]
name = "xesite"
version = "2.3.0"
authors = ["Christine Dodrill <me@christine.website>"]
authors = ["Xe Iaso <me@christine.website>"]
edition = "2018"
build = "src/build.rs"
repository = "https://github.com/Xe/site"

View File

@ -0,0 +1,105 @@
---
title: You Win, Broken Database Schemas
date: 2022-01-10
tags:
- rant
---
There is [no software that correctly handles
names](https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/)
that exists on this planet. One of the major things I have bashed my head into
as of late is the assumption that people have a first and a last name. The first
name is usually what identifies the person, and the last name usually identifies
the family.
I have wanted to use `Xe` as my name places (no last name, like Socrates), but
everyone has broken database schemas that make it impossible. These schemas
usually look like this:
```sql
CREATE TABLE IF NOT EXISTS people
( id VARCHAR PRIMARY KEY DEFAULT (uuid4())
, first_name VARCHAR NOT NULL
, last_name VARCHAR NOT NULL
-- draw the rest of the owl
);
```
And as a result things like `Xe` (no last name) cannot fit into this schema. I
have found out the depth of this shitshow while trying to use my handle as my
name on newly registered account things and the amount of stuff that breaks or
works in weird ways is _staggering_. Email salutations look like this:
> Hello Xe ,
Forms will break if I don't put a last name in the field. The assumptions about
names are _so deep_ that it's rapidly becoming not worth it to only have my name
as `Xe`. Not to mention [overzealous journalists that will argue with you over
what your name is due to name
collisions](https://twitter.com/theprincessxena/status/1479197000667181061?s=20).
You win, broken database schemas. I give up trying to deal with you to encode my
name correctly. You just don't let me and I am tired of fighting it, opening
support tickets and arguing with people over what my name is. I give in. I'm
going to use a last name for my handle, which is absolutely ridiculous, but here
we are.
It took me a few hours to dig through ideas over the weekend and today, but I
think I have found something satisfactory enough that I can keep it for the long
haul: [Iaso](https://en.wikipedia.org/wiki/Iaso) (ai-uh-so, /aɪ.ə.soʊ/), the
minor Greek goddess of recovering from illness.
Hopefully I don't have to deal with professional issues as a result of me trying
to be more true to myself about my identity. At the very least I want very
little to do with the last name that I was born into. Some day that name will be
removed from the last database with it set, but today is not that day.
If you work on systems that handle names, please, please, please take the time
to reconsider if you actually need to deal with a last name for more reason than
it's the cultural standard. There are valid reasons to have a mononym, and by
supporting mononyms you will make people's lives easier.
Until then, I am `Xe Iaso`. Let's see where this phase of the identity
experiment goes. It's still really complicated. Anyone who claims to have their
identity figured out is either in denial or stopped digging into it for the time
being. The rabbit hole truly never ends.
The main thing I don't like about this name is how ambiguous it shows up in
sans-serif fonts:
<div style="font-family:sans-serif">
Xe Iaso
</div>
It looks like `Xe laso`. I've edited my email signature to try and compensate
for this:
```
Xe Iaso (zi ai-uh-so)
https://christine.website
.i la budza pu cusku lu
<<.i ko snura .i ko kanro
.i ko panpi .i ko gleki
```
Let's see if that helps. It will probably look bad when things are put into
sans-serif fonts, but what can you do lol.
---
Also I would _prefer_ you call me `Xe` from now on when possible. This conflicts
with and supercedes suggestions I made in [this article](/blog/xe-2021-08-07). I
consider most of that experiment to have worked out and I am going into the next
phase, albeit less "pure" than I wanted.
Thank you for sticking with this blog. This started out as a place for me to get
better at writing but has rapidly turned into something that has helped me
explore my identity in ways that I never would have thought it would. Thanks for
following the rabbit hole. Thank you for supporting me being more authentic to
myself about who I am. Your support means more than you possibly will know.
I wonder if my SEO craft is strong enough to get me high on the list of google
results for `Iaso`.

View File

@ -3,6 +3,16 @@ title: "Xe"
date: 2021-08-07
---
EDIT(2022-01-10):
If you are a journalist and using this article as evidence for not calling me
by the name I am asking you to, please reconsider your actions and strongly
consider the idea that I am the expert and only person that can create true
statements about what my name is and how I want my identity to be presented
professionally. Also don't [compare it to Blackwater IN ANY
WAY](https://twitter.com/theprincessxena/status/1479197000667181061). See [this
article](/blog/broken-database-schemas-2022-01-10) for more information.
## Or: Identity is Complicated
You might have noticed that I have changed my listed name on this website to Xe.

View File

@ -45,7 +45,7 @@ let Config =
{ signalboost = [] : List Person.Type
, authors =
[ Author::{
, name = "Xe"
, name = "Xe Iaso"
, handle = "xe"
, picUrl = Some "/static/img/avatar.png"
, link = Some "https://christine.website"

View File

@ -1,7 +1,7 @@
[package]
name = "cfcache"
version = "0.1.0"
authors = ["Christine Dodrill <me@christine.website>"]
authors = ["Xe Iaso <me@christine.website>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,7 @@
[package]
name = "go_vanity"
version = "0.2.0"
authors = ["Christine Dodrill <me@christine.website>"]
authors = ["Xe Iaso <me@christine.website>"]
edition = "2018"
build = "src/build.rs"

View File

@ -1,5 +1,5 @@
[package]
authors = ["Paul Woolcock <paul@woolcock.us>", "Christine Dodrill <me@christine.website>"]
authors = ["Paul Woolcock <paul@woolcock.us>", "Xe Iaso <me@christine.website>"]
description = "Parser for the JSONFeed (http://jsonfeed.org) specification\n"
documentation = "https://docs.rs/jsonfeed"
homepage = "https://github.com/pwoolcoc/jsonfeed"

View File

@ -1,7 +1,7 @@
[package]
name = "mi"
version = "0.1.0"
authors = ["Christine Dodrill <me@christine.website>"]
authors = ["Xe Iaso <me@christine.website>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,7 @@
[package]
name = "patreon"
version = "0.1.0"
authors = ["Christine Dodrill <me@christine.website>"]
authors = ["Xe Iaso <me@christine.website>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPrz5T/RdragJF6StZm92JZKPMJinYdw5fYnV4osiY8Q Christine Dodrill <me@christine.website>
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPg9gYKVglnO2HQodSJt4z4mNrUSUiyJQ7b+J798bwD9 Xe Iaso <me@christine.website>

View File

@ -6,7 +6,7 @@
"display": "standalone",
"scope": "/",
"start_url": "/",
"description": "Blog and Resume for Christine Xe",
"description": "Blog and Resume for Xe Iaso",
"orientation": "any",
"icons": [
{

View File

@ -1,8 +1,8 @@
# Christine Dodrill
# Xe Iaso
#### Full-stack Engineer
##### Montreal, QC &emsp; [christine.website][homepage]
##### Ottawa, ON &emsp; [christine.website][homepage]
`Docker`, `Git`, `Go`, `Rust`, `C`, `Stenography`, `DevOps`, `Heroku`, `Continuous
Integration/Delivery`, `WebAssembly`, `Lua`, `Mindfulness`, `HTTP/2`, `Alpine
@ -22,6 +22,8 @@ Linux`, `Ubuntu`, `Linux`, `GraphViz`, `Progressive Web Apps`, `yaml`, `SQL`,
- Go programming
- Nix and NixOS
- SQL integrations
- End-user facing blog content and customer support
### Lightspeed - Expert principal en fiabilité du site &emsp; <small>*2019 - 2020*</small>
@ -132,86 +134,26 @@ Linux`, `Ubuntu`, `Linux`, `GraphViz`, `Progressive Web Apps`, `yaml`, `SQL`,
- Built new base image for Deis components
- Research and development on a new builder component
## Portfolio Highlights
### [Olin](https://github.com/Xe/olin)
An embeddable userspace kernel for executing WebAssembly programs.
The main goal of this is to allow for an easier migration to another CPU
architecture (such as RISC-V, aarch64 or ppc64be) without having to recompile
existing code.
I have written multiple blogposts on this project:
- https://christine.website/blog/olin-1-why-09-1-2018
- https://christine.website/blog/olin-2-the-future-09-5-2018
- https://christine.website/blog/olin-progress-2019-12-14
As of March 21, 2019, Olin is able to run binaries compiled with [Go 1.12.x
WebAssembly support](https://github.com/golang/go/wiki/WebAssembly). Olin also
is known to work on big-endian systems with no changes needed to source code or
binaries.
It also supports security policies similar to a combination of the OSX sandbox
profiles and OpenBSD's pledge() system call. This allows users to limit the
scope of what resources an Olin program can access, including file URLs, the
amount of ram that can be used or the number of WebAssembly instructions that
can be executed.
### [Wasmcloud](https://tulpa.dev/within/wasmcloud)
Wasmcloud is a Heroku or AWS Lambda-like functions as a service backend and
platform for event-driven architecture built on top of WebAssembly. It wraps
[Olin](https://github.com/Xe/olin) and provides a lot of higher-level
conveniences for users. I have written [a
blogpost](https://christine.website/blog/wasmcloud-progress-2019-12-08) on my
progress and where I'm wanting to go with this project.
### [ilo Kesi](https://github.com/Xe/x/tree/master/discord/ilo-kesi)
A chatbot that parses its commands through the grammar of the constructed
language [Toki Pona](http://tokipona.org), then figures out what the user is
asking for using a lookup table and executes that request.
### When Then Zen
[When Then Zen](https://when-then-zen.christine.website) is meditation instructions translated into Gherkin, a-la:
```
Feature: Anapana (mindfulness via breathing) meditation
Background:
Given no assumption about meditation background
And a willingness to learn
And no significant problems with breathing through the body's nose
And I am seated or laying down comfortably
And no music is playing
Scenario Outline: mindfulness of breathing
As a meditator
In order to be mindful of the body's breath
When I <verb> through the body's nose
Then I focus on the sensations of breath
Then I focus on the feelings of breath through the nasal cavity
Then I focus on the feelings of breath interacting with the nostrils
Then I repeat until done
Examples:
| verb |
| inhale |
| exhale |
```
This has been well-recieved by coworkers, friends and others. I have written more on the subject [here](https://christine.website/blog/when-then-zen-anapana-2018-08-15).
## Writing
> Articles listed below will be either personal or professional and do not reflect the views of any company or group I am affiliated with. The writing is my own, with the help of others to make things legible.
> Articles listed below will be either personal or professional and do not
> reflect the views of any company or group I am affiliated with. The writing is
> my own, with the help of others to make things legible.
- [My Blog](https://christine.website/blog)
- [I Put Words on This Webpage so You Have to Listen to Me Now](https://christine.website/blog/experimental-rilkef-2018-11-30)
- [NAS 101: An intro chat about Network Attached
Storage](https://tailscale.com/blog/nas-101/)
- [The Sisyphean Task Of DNS Client Config on
Linux](https://tailscale.com/blog/sisyphean-dns-client-linux/)
I have gotten to the front page of [Hacker News](https://news.ycombinator.com) several times. Here are a few of the comment threads:
- ["Open Source" is Broken](https://news.ycombinator.com/item?id=29522941)
- [The Surreal Horror of PAM](https://news.ycombinator.com/item?id=29167560)
- [Systemd: The Good Parts](https://news.ycombinator.com/item?id=27175960)
- [I Implemented /dev/printerfact in
Rust](https://news.ycombinator.com/item?id=26845355)
- [A Model for Identity in Software](https://news.ycombinator.com/item?id=25978511)
- [I Put Words on This Webpage so You Have to Listen to Me now](https://news.ycombinator.com/item?id=18577758)
- [TempleOS: 1 - Installation](https://news.ycombinator.com/item?id=19961082)
- [WebAssembly on the Server: How System Calls Work](https://news.ycombinator.com/item?id=20066204)

View File

@ -9,7 +9,7 @@
<title>Xe's Blog</title>
<updated>@Utc::now().to_rfc3339()</updated>
<author>
<name>Xe</name>
<name>Xe Iaso</name>
<email>me@@christine.website</email>
</author>
<link href="https://christine.website/blog.atom" rel="self"/>

View File

@ -18,7 +18,7 @@
<!-- Description -->
<meta name="description" content="@post.front_matter.title - Xe's Blog" />
<meta name="author" content="Xe">
<meta name="author" content="Xe Iaso">
@if post.front_matter.redirect_to.is_none() {
<link rel="canonical" href="https://christine.website/@post.link">
@ -40,12 +40,12 @@
@},
"author": @{
"@@type": "Person",
"name": "Xe",
"name": "Xe Iaso",
"alternateName": "Christine Dodrill"
@},
"publisher": @{
"@@type": "Person",
"name": "Xe",
"name": "Xe Iaso",
"alternateName": "Christine Dodrill"
@}
@}

View File

@ -17,7 +17,7 @@
<li><a href="https://keybase.io/xena">Keybase</a></li>
<li><a href="https://ko-fi.com/A265JE0">Ko-fi</a></li>
<li><a href="https://www.patreon.com/cadey">Patreon</a></li>
<li><a href="https://www.facebook.com/chrissycade1337">Facebook</a></li>
<li><a href="https://twitch.tv/princessxen">Twitch</a></li>
<li><a href="https://pony.social/@@cadey">@@cadey@@pony.social</a></li>
<li>Fortnite: Within Reason</li>
<li><a href="irc://irc.libera.chat/#xeserv">Liberachat: #xeserv</a></li>

View File

@ -2,7 +2,7 @@
</div>
<hr />
<footer>
<blockquote>Copyright 2022 Xe (Christine Dodrill). Any and all opinions listed here are my own and not representative of my employers; future, past and present.</blockquote>
<blockquote>Copyright 2012-2022 Xe Iaso (Christine Dodrill). Any and all opinions listed here are my own and not representative of my employers; future, past and present.</blockquote>
<p>Like what you see? Donate on <a href="https://www.patreon.com/cadey">Patreon</a> like <a href="/patrons">these awesome people</a>!</p>
<p>Looking for someone for your team? Take a look <a href="/signalboost">here</a>.</p>
<p>Served by @env!("out")/bin/xesite</a>, see <a href="https://github.com/Xe/site">source code here</a>.</p>

View File

@ -18,7 +18,7 @@
<!-- Description -->
<meta name="description" content="@post.front_matter.title - Xe's Blog" />
<meta name="author" content="Xe">
<meta name="author" content="Xe Iaso">
<link rel="canonical" href="https://christine.website/@post.link">
@ -36,12 +36,12 @@
@},
"author": @{
"@@type": "Person",
"name": "Xe",
"name": "Xe Iaso",
"alternateName": "Christine Dodrill"
@},
"publisher": @{
"@@type": "Person",
"name": "Xe",
"name": "Xe Iaso",
"alternateName": "Christine Dodrill"
@}
@}

View File

@ -11,7 +11,7 @@
@{
"@@context": "http://schema.org/",
"@@type": "Person",
"name": "Xe",
"name": "Xe Iaso",
"alternateName": "Cadey, Christine Dodrill, Xena",
"url": "https://christine.website",
"image": "https://christine.website/static/img/avatar_large.png",
@ -29,17 +29,17 @@
<!-- Twitter -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@@theprincessxena" />
<meta name="twitter:title" content="Xe" />
<meta name="twitter:title" content="Xe Iaso" />
<meta name="twitter:description" content="Full-stack Engineer" />
<!-- Facebook -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Xe" />
<meta property="og:title" content="Xe Iaso" />
<meta property="og:site_name" content="Full-stack Engineer" />
<!-- Description -->
<meta name="description" content="Full-stack Engineer" />
<meta name="author" content="Xe, Christine Dodrill">
<meta name="author" content="Xe Iaso, Christine Dodrill">
<div class="grid">
<div class="cell -3of12 content">

View File

@ -17,8 +17,8 @@
<meta property="og:site_name" content="Xe's Blog" />
<!-- Description -->
<meta name="description" content="@post.front_matter.title - Christine Dodrill's Blog" />
<meta name="author" content="Xe">
<meta name="description" content="@post.front_matter.title - Xe's Blog" />
<meta name="author" content="Xe Iaso">
<link rel="canonical" href="https://christine.website/@post.link">
@ -36,12 +36,12 @@
@},
"author": @{
"@@type": "Person",
"name": "Xe",
"name": "Xe Iaso",
"alternateName": "Christine Dodrill"
@},
"publisher": @{
"@@type": "Person",
"name": "Xe",
"name": "Xe Iaso",
"alternateName": "Christine Dodrill"
@}
@}