diff options
| author | Stephen Wade <stephen@stephenwade.me> | 2022-12-28 12:26:55 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-28 12:26:55 -0500 |
| commit | 7b1e0e83b06abb8908ca7800525ec098ea85f1df (patch) | |
| tree | 517a406b701103e5c8431f9052b4caa6cb7ce28a | |
| parent | 605ddfa919b13392afe5045eac098f90c8665a4e (diff) | |
| download | xesite-7b1e0e83b06abb8908ca7800525ec098ea85f1df.tar.xz xesite-7b1e0e83b06abb8908ca7800525ec098ea85f1df.zip | |
Broken links (#574)
* Replace broken link to wasmcloud.app
* Replace broken link to dumbotaku.com with the Wayback Machine
* Replace broken link to oddcode.daveamit.com with the Wayback Machine
* Fix broken link to tokipona.net
* Fix broken link to github.com/Xe/waifud
* Fix broken link to cloud.debian.org
* Replace broken link to rust-for-linux.github.io with the Wayback Machine
* Fix broken link to ohmyposh.dev
* Replace broken link to docs.vrchat.com with the Wayback Machine
* Replace broken link to learning-rust.github.io
* Fix broken links to tulpa.dev/cadey/printerfacts
* Fix broken links to github.com/Xe/nixos-configs
* Fix broken link to tulpa.dev/cadey/gitea-release
* Replace broken link to lojban.pw with the Wayback Machine
* Remove broken link to printerfacts.cetacean.club
* Remove broken links to home.cetacean.club
* Replace broken link to caddyserver.com with the Wayback Machine
| -rw-r--r-- | blog/TLDR-rust-2020-09-19.markdown | 14 | ||||
| -rw-r--r-- | blog/cloud-init-2021-06-04.markdown | 12 | ||||
| -rw-r--r-- | blog/convoluted-vrchat-gchat-setup-2021-02-24.markdown | 2 | ||||
| -rw-r--r-- | blog/dev-printerfact-2021-04-17.markdown | 12 | ||||
| -rw-r--r-- | blog/drone-kubernetes-cd-2020-07-10.markdown | 6 | ||||
| -rw-r--r-- | blog/gitea-release-tool-2020-05-31.markdown | 2 | ||||
| -rw-r--r-- | blog/how-i-start-rust-2020-03-15.markdown | 3 | ||||
| -rw-r--r-- | blog/i-was-wrong-about-nix-2020-02-10.markdown | 8 | ||||
| -rw-r--r-- | blog/lipu-pi-o-wawa-e-lukin-2018-10-14.markdown | 2 | ||||
| -rw-r--r-- | blog/reconlangmo-1-name-ctx-history-2020-05-05.markdown | 8 | ||||
| -rw-r--r-- | blog/rtmp-server-setup-2020-01-11.markdown | 23 | ||||
| -rw-r--r-- | blog/various-updates-2020-11-18.markdown | 5 | ||||
| -rw-r--r-- | blog/vtubing-linux-2021-01-15.markdown | 3 | ||||
| -rw-r--r-- | blog/waifud-plans-2021-06-19.markdown | 7 | ||||
| -rw-r--r-- | blog/why-i-use-suckless-tools-2020-06-05.markdown | 4 | ||||
| -rw-r--r-- | blog/windows-pain-2021-03-03.markdown | 2 | ||||
| -rw-r--r-- | talks/thinking-different-2018-11-03.markdown | 2 |
17 files changed, 58 insertions, 57 deletions
diff --git a/blog/TLDR-rust-2020-09-19.markdown b/blog/TLDR-rust-2020-09-19.markdown index 85382ef..489cb61 100644 --- a/blog/TLDR-rust-2020-09-19.markdown +++ b/blog/TLDR-rust-2020-09-19.markdown @@ -80,7 +80,7 @@ fn foo() -> i32 { if some_cond { 2 } - + 4 } ``` @@ -125,7 +125,7 @@ let val = if some_cond { 2 } else { 4 }; The [Result](https://doc.rust-lang.org/std/result/) type represents things that can fail with specific errors. The [eyre Result type](https://docs.rs/eyre) represents things that can fail -with any error. For readability, this post will use the eyre Result type. +with any error. For readability, this post will use the eyre Result type. [The angle brackets in the `Result` type are arguments to the type, this allows the Result type to work across any type you could imagine.](conversation://Mara/hacker) @@ -137,7 +137,7 @@ func divide(x, y int) (int, err) { if y == 0 { return 0, errors.New("cannot divide by zero") } - + return x / y, nil } ``` @@ -236,7 +236,7 @@ func doThing() (int, error) { if err != nil { return 0, err } - + return result, nil } ``` @@ -544,7 +544,7 @@ but at a high level most projects only uses a few of them: - String, an owned UTF-8 string - PathBuf, a filepath string (encoded in whatever encoding the OS running this code uses for filesystems) - + The strings are different types for safety reasons. See the linked blogpost for more detail about this. @@ -614,7 +614,7 @@ mod tests { // not required but it is good practice fn math_works() { assert_eq!(2 + 2, 4); } - + #[tokio::test] // needs tokio as a dependency async fn http_works() { let _ = get_html("https://within.website").await.unwrap(); @@ -626,7 +626,7 @@ Avoid the use of `unwrap()` outside of tests. In the wrong cases, using `unwrap()` in production code can cause the server to crash and can incur data loss. -[Alternatively, you can also use the <a href="https://learning-rust.github.io/docs/e4.unwrap_and_expect.html#expect">`.expect()`</a> method instead +[Alternatively, you can also use the <a href="https://doc.rust-lang.org/std/error/index.html#common-message-styles">`.expect()`</a> method instead of `.unwrap()`. This lets you attach a message that will be shown when the result isn't Ok.](conversation://Mara/hacker) diff --git a/blog/cloud-init-2021-06-04.markdown b/blog/cloud-init-2021-06-04.markdown index 9afb002..37f5818 100644 --- a/blog/cloud-init-2021-06-04.markdown +++ b/blog/cloud-init-2021-06-04.markdown @@ -20,7 +20,7 @@ Recently I wanted to test a a coworker wrote that allows users to automatically install Tailscale on every distro and version Tailscale supports. I wanted to try and avoid having to install each version of every distribution manually, so I started looking for -options. +options. [This may seem like overkill (and at some level it probably is), however as a side effect of going through this song and dance you can spin up a bunch of VMs @@ -80,7 +80,7 @@ users: groups: [ wheel ] sudo: [ "ALL=(ALL) NOPASSWD:ALL" ] shell: /bin/bash - ssh-authorized-keys: + ssh-authorized-keys: - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPYr9hiLtDHgd6lZDgQMkJzvYeAXmePOrgFaWHAjJvNU cadey@ontos write_files: @@ -94,7 +94,7 @@ write_files: Please make sure to change the username and swap out the SSH key as needed, unless you want to get locked out of your VM. For more information about what you can do from cloud-init, see the list of modules -[here](http://cloudinit.readthedocs.io/en/latest/topics/modules.html). +[here](http://cloudinit.readthedocs.io/en/latest/topics/modules.html). Now that you have the two yaml files you can make the seed image with this command (Linux): @@ -378,11 +378,11 @@ distros: one) - [CentOS 8](https://cloud.centos.org/centos/8-stream/x86_64/images/) (use the `GenericCloud` one) -- [Debian 9](http://cloud.debian.org/images/cloud/OpenStack/9.13.22-20210531/) +- [Debian 9](https://cloud.debian.org/images/cloud/OpenStack/current-9/) (use the `openstack` one) -- [Debian 10](http://cloud.debian.org/images/cloud/buster/20210329-591/) (use +- [Debian 10](https://cloud.debian.org/images/cloud/buster/latest/) (use the `generic` one) -- [Debian 11](http://cloud.debian.org/images/cloud/bullseye/daily/) (use the +- [Debian 11](https://cloud.debian.org/images/cloud/bullseye/latest/) (use the `generic` one) - [Fedora 34](https://alt.fedoraproject.org/cloud/) (use the Openstack image) - [OpenSUSE Leap diff --git a/blog/convoluted-vrchat-gchat-setup-2021-02-24.markdown b/blog/convoluted-vrchat-gchat-setup-2021-02-24.markdown index 007d809..2fd96fe 100644 --- a/blog/convoluted-vrchat-gchat-setup-2021-02-24.markdown +++ b/blog/convoluted-vrchat-gchat-setup-2021-02-24.markdown @@ -129,7 +129,7 @@ I ended up with this image: </center> Then with some clever use of the -[Chroma key filter in VRChat](https://docs.vrchat.com/docs/vrchat-201812) +[Chroma key filter in VRChat](https://web.archive.org/web/20180612173651/https://docs.vrchat.com/docs/vrchat-201812) I was able to get some basic compositing of my avatar onto the picture. I fiddled with the placement of things and then I was able to declare success with this image I posted to Twitter: diff --git a/blog/dev-printerfact-2021-04-17.markdown b/blog/dev-printerfact-2021-04-17.markdown index 62f94d2..898c27b 100644 --- a/blog/dev-printerfact-2021-04-17.markdown +++ b/blog/dev-printerfact-2021-04-17.markdown @@ -41,7 +41,7 @@ At a high level to do something like this you need to have a few things: - A way to run tests to ensure that kernel is behaving cromulently - A way to be able to _repeat_ these tests on another machine to be more certain that the thing you made works more than once - + To aid in that first step, the Rust for Linux team shipped a [Nix config](https://github.com/Rust-for-Linux/nix) to let you `nix-build -A kernel` yourself a new kernel whenever you wanted. So let's do that and see what @@ -182,7 +182,7 @@ $ du -hs /nix/store/yf2a8gvaypch9p4xxbk7151x9lq2r6ia-linux-5.11 ## Ensuring Cromulence > A noble spirit embiggens the smallest man. -> +> > I've never heard of the word "embiggens" before. > > I don't know why, it's a perfectly cromulent word @@ -361,7 +361,7 @@ impl FileOperations for RustFile { println!("user attempted to read from the file!"); Ok(0) - } + } } struct PrinterFacts { @@ -466,7 +466,7 @@ impl RustFile { fn get_fact(&self) -> KernelResult<&'static str> { let mut ent = [0u8; 1]; // Mara\ declare a 1-sized array of bytes kernel::random::getrandom(&mut ent)?; // Mara\ fill it with entropy - + Ok(FACTS[ent[0] as usize % FACTS.len()]) // Mara\ return a random fact } } @@ -556,7 +556,7 @@ a_tier = [] for chara in characters: if "a" in chara: a_tier.append(chara) - + print(a_tier) ``` @@ -619,7 +619,7 @@ machine # cat: /dev/printerfact: Invalid argument ``` Oh dear. It's failing. Let's take a closer look at that -[FileOperations](https://rust-for-linux.github.io/docs/kernel/file_operations/trait.FileOperations.html) +[FileOperations](https://web.archive.org/web/20210621170531/https://rust-for-linux.github.io/docs/kernel/file_operations/trait.FileOperations.html) trait and see if there are any hints. It looks like the `declare_file_operations!` macro is setting the `TO_USE` constant somehow. Let's see what it's doing under the hood: diff --git a/blog/drone-kubernetes-cd-2020-07-10.markdown b/blog/drone-kubernetes-cd-2020-07-10.markdown index b3bcc20..b549f62 100644 --- a/blog/drone-kubernetes-cd-2020-07-10.markdown +++ b/blog/drone-kubernetes-cd-2020-07-10.markdown @@ -48,7 +48,7 @@ let naersk = pkgs.callPackage sources.naersk { }; gruvbox-css = pkgs.callPackage sources.gruvbox-css { }; - + pfacts = naersk.buildPackage { inherit src; remapPathPrefix = true; @@ -117,7 +117,7 @@ Now that we have a way to make a docker image, let's look how I use Hub](https://hub.docker.com/repository/docker/xena/printerfacts/tags). I have a drone manifest that looks like -[this](https://tulpa.dev/cadey/printerfacts/src/branch/master/.drone.yml): +[this](https://tulpa.dev/cadey/printerfacts/src/commit/6d152cde84fc8a6424d438b6c75fe9216801c972/.drone.yml): ```yaml kind: pipeline @@ -280,7 +280,7 @@ The deploy step does two small things. First, it installs for generating the Kubernetes manifest (see [here](https://xeiaso.net/blog/dhall-kubernetes-2020-01-25)) and then runs -[`scripts/release.sh`](https://tulpa.dev/cadey/printerfacts/src/branch/master/scripts/release.sh): +[`scripts/release.sh`](https://tulpa.dev/cadey/printerfacts/src/commit/6d152cde84fc8a6424d438b6c75fe9216801c972/scripts/release.sh): ``` #!/usr/bin/env nix-shell diff --git a/blog/gitea-release-tool-2020-05-31.markdown b/blog/gitea-release-tool-2020-05-31.markdown index d45924a..e5c829d 100644 --- a/blog/gitea-release-tool-2020-05-31.markdown +++ b/blog/gitea-release-tool-2020-05-31.markdown @@ -126,7 +126,7 @@ steps: This allows me to bump the `VERSION` and `CHANGELOG.md`, then push that commit to git and a new release will automatically be created. You can see how the `CHANGELOG.md` file grows with the [CHANGELOG of -gitea-release](https://tulpa.dev/cadey/gitea-release/src/branch/master/CHANGELOG.md). +gitea-release](https://tulpa.dev/cadey/gitea-release/src/branch/main/CHANGELOG.md). Once the release is pushed to gitea, you can then use drone to trigger deployment commands. For example here is the deployment pipeline used to diff --git a/blog/how-i-start-rust-2020-03-15.markdown b/blog/how-i-start-rust-2020-03-15.markdown index eee9db5..f044172 100644 --- a/blog/how-i-start-rust-2020-03-15.markdown +++ b/blog/how-i-start-rust-2020-03-15.markdown @@ -443,8 +443,7 @@ $ ./target/debug/helloworld And [open the swagger UI](http://127.0.0.1:8000/swagger-ui/) in your favorite browser. This will show you a graphical display of all of the routes and the -data types in your service. For an example, see -[here](https://printerfacts.cetacean.club/swagger-ui/index.html). +data types in your service. ## Error responses diff --git a/blog/i-was-wrong-about-nix-2020-02-10.markdown b/blog/i-was-wrong-about-nix-2020-02-10.markdown index 858a48c..bfb112f 100644 --- a/blog/i-was-wrong-about-nix-2020-02-10.markdown +++ b/blog/i-was-wrong-about-nix-2020-02-10.markdown @@ -49,7 +49,7 @@ source code to the image, builds it (in a way that makes the resulting binary a [static executable][staticbin]), and creates the runtime environment for it. [godockerfile]: https://github.com/Xe/dockerfiles/blob/master/lang/go/Dockerfile -[staticbin]: https://oddcode.daveamit.com/2018/08/16/statically-compile-golang-binary/ +[staticbin]: https://web.archive.org/web/20220504183916/https://oddcode.daveamit.com/2018/08/16/statically-compile-golang-binary/ Let's let it build and see how big the result is: @@ -70,7 +70,7 @@ Investigating this image with [dive][dive], we see the following: binary was _statically linked_ to specifically avoid this) - Most of the files in the docker image are unrelated to my website's functionality and are involved with the normal functioning of Linux systems - + Granted, [Alpine Linux][alpine] does a good job at keeping this chaff to a minimum, but it is still there, still needs to be updated (causing all of my docker images to be rebuilt and applications to be redeployed) and still takes @@ -248,7 +248,7 @@ $ docker images | grep xena xena/christinewebsite latest 0d1ccd676af8 50 years ago 94.6MB ``` -And the output is 16 megabytes smaller. +And the output is 16 megabytes smaller. The image age might look weird at first, but it's part of the reproducibility Nix offers. The date an image was built is something that can change with time @@ -272,7 +272,7 @@ are: And that's it. This is _fantastic_. Nearly all of the disk usage has been eliminated. If someone manages to trick my website into executing code, that attacker cannot do anything but run more copies of my website (that will -immediately fail and die because the port is already allocated). +immediately fail and die because the port is already allocated). This strategy pans out to more complicated projects too. Consider a case where a frontend and backend need to be built and deployed as a unit. Let's create a new diff --git a/blog/lipu-pi-o-wawa-e-lukin-2018-10-14.markdown b/blog/lipu-pi-o-wawa-e-lukin-2018-10-14.markdown index 387f073..e8213e9 100644 --- a/blog/lipu-pi-o-wawa-e-lukin-2018-10-14.markdown +++ b/blog/lipu-pi-o-wawa-e-lukin-2018-10-14.markdown @@ -68,7 +68,7 @@ machine easier. --- -This post is written primarily in [toki pona](http://tokipona.net/tp/Default.aspx), +This post is written primarily in [toki pona](https://tokipona.org/), or the language of good. It is a constructed language that is minimal (only about 120 words in total) yet it is enough to express just about every practical day to day communication need. [It's also small enough there's tokenizers for it](https://github.com/Xe/x/blob/master/web/tokiponatokens/toki_pona.go). diff --git a/blog/reconlangmo-1-name-ctx-history-2020-05-05.markdown b/blog/reconlangmo-1-name-ctx-history-2020-05-05.markdown index 4a84815..fedb177 100644 --- a/blog/reconlangmo-1-name-ctx-history-2020-05-05.markdown +++ b/blog/reconlangmo-1-name-ctx-history-2020-05-05.markdown @@ -16,7 +16,7 @@ on out) are a simpler model of this. You might be familiar with [Klingon][tlhnganhol] from the Star Trek series, the [various forms of Elvish][elvish] as described by J. R. R. Tolkien or [Dothraki][dothraki] from Game of Thrones. This series will show an example of how one of those kinds of -languages are created. +languages are created. [conlangs]: https://en.wikipedia.org/wiki/Constructed_language [tlhnganhol]: https://en.wikipedia.org/wiki/Klingon_language @@ -68,7 +68,7 @@ features I plan to include are: - A decorative script that I'll turn into a font [seximal]: https://www.seximal.net -[lojban]: https://lojban.pw/cll/uncll-1.2.6/xhtml_section_chunks/chapter-tour.html#section-bridi +[lojban]: https://web.archive.org/web/20200928095138/https://lojban.pw/cll/uncll-1.2.6/xhtml_section_chunks/chapter-tour.html [salishan]: https://en.wikipedia.org/wiki/Salishan_languages [apriori]: https://en.wikipedia.org/wiki/Constructed_language#A_priori_and_a_posteriori_languages @@ -88,14 +88,14 @@ want to go through and take the time to learn the ins and outs of a tool I created for myself to archive my personal thoughts, they probably deserve to be able to read them. Otherwise, this would allow me to write my diary from pretty much anywhere, even in plain sight out in public. People can't shoulder-surf and -read what they literally cannot understand. +read what they literally cannot understand. --- I plan to continue going through this series as the prompts come out and will put my responses on my blog along with explanations, analysis and sample code (where relevant). I will probably also reformat these posts (and relevant -dictionary files) to an eBook and later into a reference grammar book. +dictionary files) to an eBook and later into a reference grammar book. Like I said though, this project is for myself. I do not expect this language to change the world for anyone but me. Let's see where this rabbit hole goes. diff --git a/blog/rtmp-server-setup-2020-01-11.markdown b/blog/rtmp-server-setup-2020-01-11.markdown index eeda915..f2ae8f6 100644 --- a/blog/rtmp-server-setup-2020-01-11.markdown +++ b/blog/rtmp-server-setup-2020-01-11.markdown @@ -7,8 +7,8 @@ tags: - live-streaming --- -I have set up my own [RTMP][rtmp] server that allows me to live stream to [my own -infrastructure][streampage]. This allows me to own my own setup and not need to +I have set up my own [RTMP][rtmp] server that allows me to live stream to my own +infrastructure. This allows me to own my own setup and not need to rely on other services such as Twitch or YouTube. As a side effect of doing this, I can enable people who use my streaming server to use picture-in-picture mode in iPadOS without having to hack the streaming app, among other things. @@ -17,7 +17,6 @@ This is part of my 2020 goal to reduce my dependencies on corporate social platforms as much as possible. [rtmp]: https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol -[streampage]: https://home.cetacean.club/stream I chose to do my setup with a few key parts: @@ -58,13 +57,13 @@ that's involved in RTMP. ## stream.html -I have a custom stream page set up [on my server][streampage] that has a +I have a custom stream page set up on my server that has a friendly little wrapper to the video player. [Here][streamhtml] is the source code for it. It's very short and easy to follow. I have these files at `/srv/http/home.cetacean.club` on my VPN server. This wraps [hls.js][hlsjs] so that users on every browser I care to support can -watch the stream as it happens. +watch the stream as it happens. ## Caddy @@ -76,7 +75,7 @@ home.cetacean.club { # Set up automagic Let's Encrypt tls me@xeiaso.net - # Proxy the playlist, stream data + # Proxy the playlist, stream data # and statistics to the rtmp server proxy /hls http://127.0.0.1:8080 proxy /live http://127.0.0.1:8080 @@ -84,7 +83,7 @@ home.cetacean.club { # make /stream.html show up as /stream ext .html - + # serve data out of /srv/http/home.cetacan.club # you can put your HTTP document root # anywhere you want, but I like it being @@ -96,10 +95,10 @@ home.cetacean.club { For more information on the Caddy configuration directives used here, see the following: -- [tls](https://caddyserver.com/v1/docs/tls) -- [proxy](https://caddyserver.com/v1/docs/proxy) -- [ext](https://caddyserver.com/v1/docs/ext) -- [root](https://caddyserver.com/v1/docs/root) +- [tls](https://web.archive.org/web/20200505225233/https://caddyserver.com/v1/docs/tls) +- [proxy](https://web.archive.org/web/20200505225233/https://caddyserver.com/v1/docs/proxy) +- [ext](https://web.archive.org/web/20200505225233/https://caddyserver.com/v1/docs/ext) +- [root](https://web.archive.org/web/20200505225233/https://caddyserver.com/v1/docs/root) ## Caveats @@ -114,7 +113,7 @@ automatically. I don't consider this a problem, as links can always be sent out manually on social media platforms. I hope this little overview of my setup was informative. I'll be -streaming [there][streampage] very irregularly, mostly as time permits/the +streaming there very irregularly, mostly as time permits/the spirit moves me. I plan to stream art, gaming and code. Thanks for reading, have a good day. diff --git a/blog/various-updates-2020-11-18.markdown b/blog/various-updates-2020-11-18.markdown index fed18c9..3e39001 100644 --- a/blog/various-updates-2020-11-18.markdown +++ b/blog/various-updates-2020-11-18.markdown @@ -201,7 +201,7 @@ which will implicitly pull from the Docker Hub. This can lead to bad things. If you would like to have a call with me for examining your process for building Docker images in CI and get a list of actionable suggestions for how to work around this, [contact me](/contact) so that we can discuss pricing and -scheduling. +scheduling. I have been using Docker for my entire professional career (way back since Docker required you to recompile your kernel to enable cgroup support in public @@ -216,7 +216,8 @@ something out. Here's hoping that the immigration purgatory ends soon. I'm lucky enough to have enough cash built up that I can weather this jobless month. I've been using this time to work on personal projects (like mi and -[wasmcloud](https://wasmcloud.app)) and better myself. I've also done a little +[wasmcloud](https://tulpa.dev/within/wasmcloud)) and better myself. +I've also done a little writing that I plan to release in the future after I clean it up. In retrospect I probably should have done [NaNoWriMo](https://nanowrimo.org/) diff --git a/blog/vtubing-linux-2021-01-15.markdown b/blog/vtubing-linux-2021-01-15.markdown index 3a21b39..a557dcd 100644 --- a/blog/vtubing-linux-2021-01-15.markdown +++ b/blog/vtubing-linux-2021-01-15.markdown @@ -75,7 +75,8 @@ setting various weird environment variables, setting build overrides, it was a catastrophe. Other people have reported that you need to use -[Lutris](https://dumbotaku.com/info/401) to install and use VSeeFace on Linux. +[Lutris](https://web.archive.org/web/20220830184802/https://dumbotaku.com/info/401) +to install and use VSeeFace on Linux. This did not work. This did not work at all. Trying to do it this way on a NixOS machine was an absolute waste of my time and was demoralizing and frustrating. diff --git a/blog/waifud-plans-2021-06-19.markdown b/blog/waifud-plans-2021-06-19.markdown index 364e437..4e39701 100644 --- a/blog/waifud-plans-2021-06-19.markdown +++ b/blog/waifud-plans-2021-06-19.markdown @@ -62,10 +62,11 @@ here](https://github.com/Xe/waifud). It is released under the terms of the permissive [Be Gay, Do Crimes](https://github.com/Xe/waifud/blob/main/LICENSE) license, which should sufficiently scare people away for now while I implement the service. The biggest thing in the repo right now is -[`mkvm`](https://github.com/Xe/waifud/tree/main/cmd/mkvm), which is essentially +[`mkvm`](https://github.com/Xe/waifud/tree/df8e362034e3923158813a9260cf9d3cf399ebf6/cmd/mkvm), +which is essentially the prototype of this project. It downloads a cloud template, injects it into a ZFS zvol and then configures libvirt to use that ZFS zvol as the root filesystem -of the virtual machine. +of the virtual machine. This tool works great and I use it very often both personally and in work settings, however one of the biggest problems that it has is that it assumes @@ -77,7 +78,7 @@ I'm still pondering options. I would also like to have some kind of web management interface for waifud. Historically frontend web development has been one of my biggest weaknesses. I -would like to use [Alpine.js](https://alpinejs.dev) to make an admin panel. +would like to use [Alpine.js](https://alpinejs.dev) to make an admin panel. At a high level, I want waifuctl to have the following features: diff --git a/blog/why-i-use-suckless-tools-2020-06-05.markdown b/blog/why-i-use-suckless-tools-2020-06-05.markdown index cf7ac49..a847422 100644 --- a/blog/why-i-use-suckless-tools-2020-06-05.markdown +++ b/blog/why-i-use-suckless-tools-2020-06-05.markdown @@ -138,8 +138,8 @@ arbitrarily, signals with dwmc and other overhead like that. The rest of my desktop environment is built up using a few other tools that build on top of dwm. You can see the NixOS modules I've made for it -[here](https://github.com/Xe/nixos-configs/blob/master/common/programs/dwm.nix) -and [here](https://github.com/Xe/nixos-configs/blob/master/common/users/cadey/dwm.nix): +[here](https://github.com/Xe/nixos-configs/blob/f9303523e0eacd75aef96c55626d6aac3c04007f/common/programs/dwm.nix) +and [here](https://github.com/Xe/nixos-configs/blob/f9303523e0eacd75aef96c55626d6aac3c04007f/common/users/cadey/dwm.nix): - [xrandr](https://wiki.archlinux.org/index.php/Xrandr) to set up my multiple monitors and rotation for them diff --git a/blog/windows-pain-2021-03-03.markdown b/blog/windows-pain-2021-03-03.markdown index 6b16e2b..94acde9 100644 --- a/blog/windows-pain-2021-03-03.markdown +++ b/blog/windows-pain-2021-03-03.markdown @@ -242,7 +242,7 @@ scripts. I personally went with `RemoteSigned`. I use stuff cribbed from [oh my fish](https://github.com/oh-my-fish/oh-my-fish) for my fish prompt. I googled "oh my powershell" and hoped I would get lucky with finding some nice batteries-included tools. -[I got lucky](https://ohmyposh.dev/docs/installation/). +[I got lucky](https://ohmyposh.dev/docs). After looking through the options I saw a theme named `sorin` that looks like this: diff --git a/talks/thinking-different-2018-11-03.markdown b/talks/thinking-different-2018-11-03.markdown index 29ccd5e..6aef553 100644 --- a/talks/thinking-different-2018-11-03.markdown +++ b/talks/thinking-different-2018-11-03.markdown @@ -6,6 +6,6 @@ slides_link: /static/talks/thinking-different.pdf # Thinking Different -A look over [ilo Kesi](https://github.com/Xe/x/tree/master/discord/ilo-kesi), a chatbot of mine that parses commands from the grammar of [Toki Pona](http://tokipona.org). +A look over [ilo Kesi](https://github.com/Xe/x/tree/master/discord/ilo-kesi), a chatbot of mine that parses commands from the grammar of [Toki Pona](https://tokipona.org). Originally presented privately at an internal work get-together for Heroku. |
