diff --git a/assets/sass/_content.scss b/assets/sass/_content.scss index 420579d..2af6c4d 100644 --- a/assets/sass/_content.scss +++ b/assets/sass/_content.scss @@ -78,8 +78,12 @@ code { // font-size: 1.2em; padding: 3px; background-color: #2b303b; - color: #cccccc; border-radius: 5px; + color: #cccccc; +} + +a code { + color: $link-color; } pre > code { diff --git a/content/about/_index.md b/content/about/_index.md index dc3ffba..4f97412 100644 --- a/content/about/_index.md +++ b/content/about/_index.md @@ -7,25 +7,31 @@ type = "generic" layout = "single" +++ -Hi there! I'm a recent CS grad from the University of Minnesota, currently -working as an associate researcher at SIFT. I've been doing web development for -a long time and now I'm looking into security, programming language -development, and software development! +Hi there! I'm a recently-graduated CS bachelor from the University of Minnesota, currently working as an associate researcher at [SIFT][11]. My computing-related interests lie in programming language design and analysis, systems security, cryptography, and distributed systems. Some of the projects I've been working on in my free time include: -In an effort to rely on less services, I started doing a lot of self-hosting -and rewriting of software. Check out some of the projects I'm doing over on my -public [Gitea][2]! +- [**Leanshot**][6], a Linux screen capture tool. +- [**Garbage**][7], a CLI interface to the trash can API. -I'm also a beatmap creator for the rhythm game [OSU][3]. Check out some of my -creations on my [OSU userpage][4]. +More can be found on my public [Gitea][2]. + +I've also started making an increased effort at using and supporting [FOSS][8], and other software that're not predatory towards users. As a part of this effort, I'm also self-hosting and rewriting some of the services and software that I use regularly. Find out what I'm using [here][9]. + +I'm also an avid rhythm game player and beatmap creator, mostly involved with the free-to-play game [osu!][3]. Check out some of my beatmaps on my [osu! userpage][4]. ## contact -- Email: (I sign all my Git commits with this email) -- PGP Key: [hosted on Keybase][1] -- IRC: michael on acm.umn.edu +- Email: `mail` @ [this domain] +- PGP Key: [`925ECC02890D5CDAE26180D4BDA47A31A3C8EE6B`][10] +- IRC: `mzh` on [libera.chat][5] [1]: https://keybase.io/michaelz/pgp_keys.asc?fingerprint=925ecc02890d5cdae26180d4bda47a31a3c8ee6b [2]: https://git.mzhang.io/explore [3]: https://osu.ppy.sh [4]: https://osu.ppy.sh/u/2688103 +[5]: https://libera.chat +[6]: https://git.mzhang.io/michael/leanshot +[7]: https://git.sr.ht/~iptq/garbage +[8]: https://en.wikipedia.org/wiki/Free_and_open-source_software +[9]: setup +[10]: pgp.txt +[11]: https://www.sift.net/ diff --git a/content/about/pgp.txt b/content/about/pgp.txt new file mode 100644 index 0000000..cf52f91 --- /dev/null +++ b/content/about/pgp.txt @@ -0,0 +1,78 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=8UOD +-----END PGP PUBLIC KEY BLOCK----- diff --git a/content/about/setup.md b/content/about/setup.md new file mode 100644 index 0000000..023a289 --- /dev/null +++ b/content/about/setup.md @@ -0,0 +1,41 @@ ++++ +title = "setup" ++++ + +# setup + +List of software and services I use and endorse, mostly FOSS. + +## desktop + +- [**Arch Linux**](https://archlinux.org/) OS with rolling releases. +- [**chezmoi**](https://www.chezmoi.io/) Dotfile manager that allows for variables across machines. +- [**Firefox**](https://www.mozilla.org/firefox) Browser. +- [**Evolution**](https://wiki.gnome.org/Apps/Evolution) Email + calendar client. + +## development + +- [**Sublime Text**](https://www.sublimetext.com/) Text editor. + +## server + +- [**NixOS**](https://nixos.org/) Declarative and reproducible operating system. +- [**Hugo**](https://gohugo.io/) Static site generator that powers this site. +- [**Gitea**](https://gitea.io) Self-hosted git. + +## mobile + +- [**DAVx5**](https://www.davx5.com/) CalDAV and CardDAV sync for Android. +- [**Shuttle**](https://www.shuttlemusicplayer.com/) Music player. +- [**Gadgetbridge**](https://gadgetbridge.org/) Smartwatch client. +- [**K-9 Mail**](https://k9mail.app/) Mail client. +- [**Feeder**](https://f-droid.org/packages/com.nononsenseapps.feeder/) RSS aggregator. + +## services + +- [**ProtonMail**](https://protonmail.com/) Encrypted email. +- [**Signal**](https://signal.org/) Encrypted chat. + +## games + +Mostly from Steam. diff --git a/scripts/check-broken-links.sh b/scripts/check-broken-links.sh index 46be578..6d33286 100755 --- a/scripts/check-broken-links.sh +++ b/scripts/check-broken-links.sh @@ -2,4 +2,3 @@ DEFAULT="http://localhost:1313" TARGET=${1:-$DEFAULT} wget --spider -r -nd -nv -H -l 1 $TARGET -