aboutsummaryrefslogtreecommitdiff
path: root/dhall
diff options
context:
space:
mode:
authorXe Iaso <me@christine.website>2023-02-02 08:05:34 -0500
committerXe Iaso <me@christine.website>2023-02-02 08:05:34 -0500
commitc117eae7c5af977d0299d34169e4a403f77e2afa (patch)
tree83438cf5abc605e0ec174aa4a3f0e4b91b640008 /dhall
parent757cee6fdd13502eb62305f77e73698878b01aa2 (diff)
downloadxesite-c117eae7c5af977d0299d34169e4a403f77e2afa.tar.xz
xesite-c117eae7c5af977d0299d34169e4a403f77e2afa.zip
add stream VOD page
Signed-off-by: Xe Iaso <me@christine.website>
Diffstat (limited to 'dhall')
-rw-r--r--dhall/package.dhall1
-rw-r--r--dhall/streamVOD.dhall74
-rw-r--r--dhall/types/Config.dhall4
-rw-r--r--dhall/types/StreamVOD.dhall19
-rw-r--r--dhall/types/package.dhall1
5 files changed, 99 insertions, 0 deletions
diff --git a/dhall/package.dhall b/dhall/package.dhall
index a8a4cc8..3b93cbf 100644
--- a/dhall/package.dhall
+++ b/dhall/package.dhall
@@ -83,4 +83,5 @@ in Config::{
]
, pronouns = ./pronouns.dhall
, characters = ./characters.dhall
+ , vods = ./streamVOD.dhall
}
diff --git a/dhall/streamVOD.dhall b/dhall/streamVOD.dhall
new file mode 100644
index 0000000..19fdc36
--- /dev/null
+++ b/dhall/streamVOD.dhall
@@ -0,0 +1,74 @@
+let xesite = ./types/package.dhall
+
+let VOD = xesite.StreamVOD
+
+in [ VOD::{
+ , title = "Fixing Xesite in reader mode and RSS readers"
+ , slug = "reader-mode-css"
+ , description =
+ ''
+ When you are using reader mode in Firefox, Safari or Google Chrome, the browser rends control of the website's design and renders its own design. This is typically done in order to prevent people's bad design decisions from making webpages unreadable and also to strip away advertisements from content. As a website publisher, I rely on the ability to control the CSS of my blog a lot. This stream covers the research/implementation process for fixing some long-standing issues with the Xesite CSS and making a fix to XeDN so that the site renders acceptably in reader mode.
+
+ This stream covers the following topics:
+
+ * Understanding complicated CSS rules and creating fixes for issues with them
+ * Using content distribution networks (CDNs) to help reduce page load time for readers
+ * Implementing image resizing capabilities into an existing CDN program (XeDN)
+ * Design with end-users in mind
+ ''
+ , date = "2022-01-21"
+ , cdnPath = "talks/vod/2023/01-21-reader-mode"
+ , tags = [ "css", "xedn", "imageProcessing", "scalability", "bugFix" ]
+ }
+ , VOD::{
+ , title = "Implementing the Pronouns service in Rust and Axum"
+ , slug = "pronouns-service"
+ , description =
+ ''
+ In this stream I implemented the [pronouns](https://pronouns.within.lgbt) service and deployed it to the cloud with [fly.io](https://fly.io). This was mostly writing a bunch of data files with [Dhall](https://dhall-lang.org) and then writing a simple Rust program to query that 'database' and then show results based on the results of those queries.
+
+ This stream covers the following topics:
+
+ * Starting a new Rust project from scratch with Nix flakes, Axum, and Maud
+ * API design for human and machine-paresable outputs
+ * DevOps deployment to the cloud via [fly.io](https://fly.io)
+ * Writing Terraform code for the pronouns service
+ * Building Docker images with Nix flakes and `pkgs.dockerTools.buildLayeredImage`
+ * Writing API documentation
+ * Writing [the writeup](https://xeiaso.net/blog/pronouns-service) on the service
+ ''
+ , date = "2022-01-07"
+ , cdnPath = "talks/vod/2023/01-07-pronouns"
+ , tags = [ "rust", "axum", "terraform", "nix", "flyio", "docker" ]
+ }
+ , VOD::{
+ , title = "Modernizing hlang with the nguh compiler"
+ , slug = "hlang-nguh-compiler"
+ , description =
+ ''
+ This stream was the last stream of 2022 and focused on modernizing the [hlang](https://xeiaso.net/blog/series/h) compiler. In this stream I reverse-engineered how WebAssembly modules work and wrote my own compiler for a trivial esoteric programming language named h. The existing compiler relied on legacy features of WebAssembly tools that don't work anymore.
+
+ This stream covers the following topics:
+
+ * Reverse-engineering the WebAssembly module format based on the specification and other reverse-engineering tools
+ * Adapting an existing compiler to output WebAssembly directly
+ * Deploying a new service to my NixOS machines in the cloud
+ * Building a Nix flake and custom NixOS module to build and deploy the new hlang website
+ * Terraform DNS config
+ * Writing [the writeup on the new compiler](https://xeiaso.net/blog/hlang-nguh)
+ ''
+ , date = "2022-12-31"
+ , cdnPath = "talks/vod/2022/12-31-nguh"
+ , tags =
+ [ "hlang"
+ , "go"
+ , "wasm"
+ , "philosophy"
+ , "devops"
+ , "terraform"
+ , "aws"
+ , "route53"
+ , "nixos"
+ ]
+ }
+ ]
diff --git a/dhall/types/Config.dhall b/dhall/types/Config.dhall
index 21e541a..eb9db9f 100644
--- a/dhall/types/Config.dhall
+++ b/dhall/types/Config.dhall
@@ -12,6 +12,8 @@ let NagMessage = ./NagMessage.dhall
let SeriesDescription = ./SeriesDescription.dhall
+let VOD = ./StreamVOD.dhall
+
let PronounSet = ./PronounSet.dhall
let Prelude = ../Prelude.dhall
@@ -37,6 +39,7 @@ in { Type =
, contactLinks : List Link.Type
, pronouns : List PronounSet.Type
, characters : List Character.Type
+ , vods : List VOD.Type
}
, default =
{ signalboost = [] : List Person.Type
@@ -53,5 +56,6 @@ in { Type =
, contactLinks = [] : List Link.Type
, pronouns = [] : List PronounSet.Type
, characters = [] : List Character.Type
+ , vods = [] : List VOD.Type
}
}
diff --git a/dhall/types/StreamVOD.dhall b/dhall/types/StreamVOD.dhall
new file mode 100644
index 0000000..af6ea64
--- /dev/null
+++ b/dhall/types/StreamVOD.dhall
@@ -0,0 +1,19 @@
+let Link = ./Link.dhall
+
+in { Type =
+ { title : Text
+ , slug : Text
+ , date : Text
+ , description : Text
+ , cdnPath : Text
+ , tags : List Text
+ }
+ , default =
+ { title = ""
+ , slug = ""
+ , date = ""
+ , description = ""
+ , cdnPath = ""
+ , tags = [] : List Text
+ }
+ }
diff --git a/dhall/types/package.dhall b/dhall/types/package.dhall
index 4d6377b..38fdf1d 100644
--- a/dhall/types/package.dhall
+++ b/dhall/types/package.dhall
@@ -13,4 +13,5 @@
, SeriesDescription = ./SeriesDescription.dhall
, Stock = ./Stock.dhall
, StockKind = ./StockKind.dhall
+, StreamVOD = ./StreamVOD.dhall
}