aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.toml2
-rw-r--r--blog/broken-database-schemas-2022-01-10.markdown105
-rw-r--r--blog/xe-2021-08-07.markdown10
-rw-r--r--config.dhall2
-rw-r--r--lib/cfcache/Cargo.toml2
-rw-r--r--lib/go_vanity/Cargo.toml2
-rw-r--r--lib/jsonfeed/Cargo.toml2
-rw-r--r--lib/mi/Cargo.toml2
-rw-r--r--lib/patreon/Cargo.toml2
-rw-r--r--static/id_ed25519.pub2
-rw-r--r--static/manifest.json2
-rw-r--r--static/resume/resume.md92
-rw-r--r--templates/blog_atom.rs.xml2
-rw-r--r--templates/blogpost.rs.html6
-rw-r--r--templates/contact.rs.html2
-rw-r--r--templates/footer.rs.html2
-rw-r--r--templates/gallerypost.rs.html6
-rw-r--r--templates/index.rs.html8
-rw-r--r--templates/talkpost.rs.html8
19 files changed, 158 insertions, 101 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 1f548c5..eb93c71 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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"
diff --git a/blog/broken-database-schemas-2022-01-10.markdown b/blog/broken-database-schemas-2022-01-10.markdown
new file mode 100644
index 0000000..05c1bca
--- /dev/null
+++ b/blog/broken-database-schemas-2022-01-10.markdown
@@ -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`.
diff --git a/blog/xe-2021-08-07.markdown b/blog/xe-2021-08-07.markdown
index 0dc52f4..bd7d36c 100644
--- a/blog/xe-2021-08-07.markdown
+++ b/blog/xe-2021-08-07.markdown
@@ -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.
diff --git a/config.dhall b/config.dhall
index 9b2b724..95ae077 100644
--- a/config.dhall
+++ b/config.dhall
@@ -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"
diff --git a/lib/cfcache/Cargo.toml b/lib/cfcache/Cargo.toml
index 8ca353d..73fa119 100644
--- a/lib/cfcache/Cargo.toml
+++ b/lib/cfcache/Cargo.toml
@@ -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
diff --git a/lib/go_vanity/Cargo.toml b/lib/go_vanity/Cargo.toml
index 6aaf748..e6bcf6d 100644
--- a/lib/go_vanity/Cargo.toml
+++ b/lib/go_vanity/Cargo.toml
@@ -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"
diff --git a/lib/jsonfeed/Cargo.toml b/lib/jsonfeed/Cargo.toml
index e85ee46..6b3b1d6 100644
--- a/lib/jsonfeed/Cargo.toml
+++ b/lib/jsonfeed/Cargo.toml
@@ -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"
diff --git a/lib/mi/Cargo.toml b/lib/mi/Cargo.toml
index ef4f1a2..ffc8d95 100644
--- a/lib/mi/Cargo.toml
+++ b/lib/mi/Cargo.toml
@@ -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
diff --git a/lib/patreon/Cargo.toml b/lib/patreon/Cargo.toml
index 5ad1524..ea2f115 100644
--- a/lib/patreon/Cargo.toml
+++ b/lib/patreon/Cargo.toml
@@ -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
diff --git a/static/id_ed25519.pub b/static/id_ed25519.pub
index 4f7861d..aa11ff5 100644
--- a/static/id_ed25519.pub
+++ b/static/id_ed25519.pub
@@ -1 +1 @@
-ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPrz5T/RdragJF6StZm92JZKPMJinYdw5fYnV4osiY8Q Christine Dodrill <me@christine.website> \ No newline at end of file
+ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPg9gYKVglnO2HQodSJt4z4mNrUSUiyJQ7b+J798bwD9 Xe Iaso <me@christine.website> \ No newline at end of file
diff --git a/static/manifest.json b/static/manifest.json
index e78006d..b4e177f 100644
--- a/static/manifest.json
+++ b/static/manifest.json
@@ -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": [
{
diff --git a/static/resume/resume.md b/static/resume/resume.md
index 60a00e8..48942c9 100644
--- a/static/resume/resume.md
+++ b/static/resume/resume.md
@@ -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)
diff --git a/templates/blog_atom.rs.xml b/templates/blog_atom.rs.xml
index a82364f..73c78a0 100644
--- a/templates/blog_atom.rs.xml
+++ b/templates/blog_atom.rs.xml
@@ -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"/>
diff --git a/templates/blogpost.rs.html b/templates/blogpost.rs.html
index 03e05c1..8ace300 100644
--- a/templates/blogpost.rs.html
+++ b/templates/blogpost.rs.html
@@ -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"
@}
@}
diff --git a/templates/contact.rs.html b/templates/contact.rs.html
index 423670c..9b6e70a 100644
--- a/templates/contact.rs.html
+++ b/templates/contact.rs.html
@@ -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>
diff --git a/templates/footer.rs.html b/templates/footer.rs.html
index f27c8ad..4f0147f 100644
--- a/templates/footer.rs.html
+++ b/templates/footer.rs.html
@@ -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>
diff --git a/templates/gallerypost.rs.html b/templates/gallerypost.rs.html
index 9feae1a..12d2289 100644
--- a/templates/gallerypost.rs.html
+++ b/templates/gallerypost.rs.html
@@ -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"
@}
@}
diff --git a/templates/index.rs.html b/templates/index.rs.html
index bbc8694..b6fb92d 100644
--- a/templates/index.rs.html
+++ b/templates/index.rs.html
@@ -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">
diff --git a/templates/talkpost.rs.html b/templates/talkpost.rs.html
index d2cf5bd..bd77577 100644
--- a/templates/talkpost.rs.html
+++ b/templates/talkpost.rs.html
@@ -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"
@}
@}