From b46138c03de42ec503a8c254ba3c51226a67a1cc Mon Sep 17 00:00:00 2001 From: Xe Iaso Date: Mon, 10 Jan 2022 18:09:31 -0500 Subject: [PATCH] Xe Iaso Signed-off-by: Xe Iaso --- Cargo.toml | 2 +- ...roken-database-schemas-2022-01-10.markdown | 105 ++++++++++++++++++ blog/xe-2021-08-07.markdown | 10 ++ config.dhall | 2 +- lib/cfcache/Cargo.toml | 2 +- lib/go_vanity/Cargo.toml | 2 +- lib/jsonfeed/Cargo.toml | 2 +- lib/mi/Cargo.toml | 2 +- lib/patreon/Cargo.toml | 2 +- static/id_ed25519.pub | 2 +- static/manifest.json | 2 +- static/resume/resume.md | 92 +++------------ templates/blog_atom.rs.xml | 2 +- templates/blogpost.rs.html | 6 +- templates/contact.rs.html | 2 +- templates/footer.rs.html | 2 +- templates/gallerypost.rs.html | 6 +- templates/index.rs.html | 8 +- templates/talkpost.rs.html | 8 +- 19 files changed, 158 insertions(+), 101 deletions(-) create mode 100644 blog/broken-database-schemas-2022-01-10.markdown 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 "] +authors = ["Xe Iaso "] 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: + +
+ +Xe Iaso + +
+ +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 "] +authors = ["Xe Iaso "] 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 "] +authors = ["Xe Iaso "] 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 ", "Christine Dodrill "] +authors = ["Paul Woolcock ", "Xe Iaso "] 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 "] +authors = ["Xe Iaso "] 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 "] +authors = ["Xe Iaso "] 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 \ No newline at end of file +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPg9gYKVglnO2HQodSJt4z4mNrUSUiyJQ7b+J798bwD9 Xe Iaso \ 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   [christine.website][homepage] +##### Ottawa, ON   [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   *2019 - 2020* @@ -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 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 @@ Xe's Blog @Utc::now().to_rfc3339() - Xe + Xe Iaso me@@christine.website 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 @@ - + @if post.front_matter.redirect_to.is_none() { @@ -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 @@
  • Keybase
  • Ko-fi
  • Patreon
  • -
  • Facebook
  • +
  • Twitch
  • @@cadey@@pony.social
  • Fortnite: Within Reason
  • Liberachat: #xeserv
  • 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 @@