logo

drewdevault.com

[mirror] blog and personal website of Drew DeVault git clone https://hacktivis.me/git/mirror/drewdevault.com.git
commit: 93c09dd72d1d5694bc61685017811e6015300452
parent 5b15991b19b894dbf309e209d359caf744f33d59
Author: Drew DeVault <sir@cmpwn.com>
Date:   Mon, 11 Nov 2024 17:04:22 +0100

Fix up links to l.sr.ht

Diffstat:

Mcontent/blog/2022-01-15-The-RISC-V-experience.md4++--
Mcontent/blog/2023-04-24-Who-leads-us.md4++--
Mcontent/blog/2023-08-09-Hello-from-Ares.md2+-
Mcontent/blog/Alice-in-Wonderland.md2+-
Mcontent/blog/Cash-for-leftpad.md2+-
Mcontent/blog/Designing-a-replacement-part-for-my-truck.md12++++++------
Mcontent/blog/Himitsu.md4++--
Mcontent/blog/History-will-not-remember-us-fondly.md4++--
Mcontent/blog/How-to-store-data-forever.md2+-
Mcontent/blog/Hyprland-toxicity.md6+++---
Mcontent/blog/In-praise-of-Postgres.md2+-
Mcontent/blog/Kernel-hacking-with-Hare-part-1.md2+-
Mcontent/blog/Kernel-hacking-with-Hare-part-2.md2+-
Mcontent/blog/Language-design-considerations.md8++++----
Mcontent/blog/Organizing-my-thoughts.md2+-
Mcontent/blog/Our-self-hosted-parser-design.md4++--
Mcontent/blog/Reflection.md4++--
Mcontent/blog/Shell-literacy.md2+-
Mcontent/blog/Spamtoberfest.md6+++---
Mcontent/blog/Status-update-December-2021.md2+-
Mcontent/blog/Status-update-June-2021.md4++--
Mcontent/blog/Status-update-June-2022.md4++--
Mcontent/blog/Status-update-March-2022.md2+-
Mcontent/blog/Status-update-May-2022.md2+-
Mcontent/blog/Status-update-October-2020.md4++--
Mcontent/blog/Status-update-October-2022.md8++++----
Mcontent/blog/The-worlds-dumbest-IRC-bot.md2+-
Mcontent/blog/You-cant-capture-the-nuance.md2+-
Mcontent/blog/git-snail-mail.md4++--
Mcontent/blog/helios.md2+-
Mcontent/blog/io_uring-finger-server.md2+-
Mcontent/blog/pmOS-on-xiaomi-poco-f1.md4++--
Mcontent/blog/stalebot.md2+-
33 files changed, 59 insertions(+), 59 deletions(-)

diff --git a/content/blog/2022-01-15-The-RISC-V-experience.md b/content/blog/2022-01-15-The-RISC-V-experience.md @@ -79,8 +79,8 @@ raised on GitLab today because I cannot render GitLab properly on this browser. SourceHut mostly works, of course, but it's not exactly pleasant &mdash; I still haven't found time to improve the SourceHut UI for NetSurf. -<a href="https://l.sr.ht/jJWl.jpg"> - <img src="https://l.sr.ht/jJWl.jpg" alt="A picture of two computers stacked on on top of the other." style="max-width: 70%" /> +<a href="https://redacted.moe/f/6ad3d811.jpg"> + <img src="https://redacted.moe/f/6ad3d811.jpg" alt="A picture of two computers stacked on on top of the other." style="max-width: 70%" /> </a> <div class="text-center"><small>The lower computer is my typical x86_64 diff --git a/content/blog/2023-04-24-Who-leads-us.md b/content/blog/2023-04-24-Who-leads-us.md @@ -7,8 +7,8 @@ Consider these two people, each captured in the midst of delivering a technical talk. <div class="images"> - <img src="https://l.sr.ht/AB9J.jpg" alt="A picture of a young trans woman in a red dress" /> - <img src="https://l.sr.ht/uI9v.jpg" alt="A picture of a middle-aged white man in a red shirt" /> + <img src="https://redacted.moe/f/c34dbc20.jpg" alt="A picture of a young trans woman in a red dress" /> + <img src="https://redacted.moe/f/bd64d141.jpg" alt="A picture of a middle-aged white man in a red shirt" /> </div> <style>.images { display: flex; }</style> diff --git a/content/blog/2023-08-09-Hello-from-Ares.md b/content/blog/2023-08-09-Hello-from-Ares.md @@ -11,7 +11,7 @@ since I gave that talk on Helios at [FOSDEM] in February. [Ares OS]: https://ares-os.org [FOSDEM]: https://spacepub.space/w/wpKXfhqqr7FajEAf4B2Vc2 -![A picture of my ThinkPad while I was editing this blog post](https://l.sr.ht/Rx-V.jpg) +![A picture of my ThinkPad while I was editing this blog post](https://redacted.moe/f/68a47ef3.jpg) The talk I gave at FOSDEM was no doubt impressive, but it was a bit of a party trick. The system was running on a Raspberry Pi with one process which included diff --git a/content/blog/Alice-in-Wonderland.md b/content/blog/Alice-in-Wonderland.md @@ -11,7 +11,7 @@ children's hearts, over almost four generations. And it has been stolen from those generations, as part of the theft of one of these generations' greatest treasures: the public domain. -![](https://l.sr.ht/pMHw.jpg) +![](https://redacted.moe/f/5e5f11ef.jpg) I often use this film as an example when arguing about copyright. Almost everyone I speak to was born well after the film's release (in fact, this is diff --git a/content/blog/Cash-for-leftpad.md b/content/blog/Cash-for-leftpad.md @@ -14,7 +14,7 @@ We need to figure out a way to curb this reckless behavior, but how? I have an idea. Remember left-pad? That needs to happen more often. -![A LaTeX rendering of an equation which sets a reward (in dollars) to the logarithm of weekly downloads over lines of code in base 10 times one hundred](https://l.sr.ht/Fe7o.svg) +![A LaTeX rendering of an equation which sets a reward (in dollars) to the logarithm of weekly downloads over lines of code in base 10 times one hundred](https://redacted.moe/f/e2f3d3a4.svg) I'll pay you cold hard cash to delete your npm module. The exact amount will be determined on this equation, which is designed to offer higher payouts for diff --git a/content/blog/Designing-a-replacement-part-for-my-truck.md b/content/blog/Designing-a-replacement-part-for-my-truck.md @@ -34,7 +34,7 @@ was the turn signal lever snapping and becoming slack, which I fixed by pulling open the steering column, re-aligning the lever, and tightening an internal screw. The more interesting problem, however, was this: -![Picture of a broken latch on the window over the truck bay](https://l.sr.ht/OWVw.jpg) +![Picture of a broken latch on the window over the truck bay](https://redacted.moe/f/d798184b.jpg) This plastic part holds an arm in place, which is engaged by a lever in the center of the window which folds closed over the truck bay. It's used to hold @@ -49,27 +49,27 @@ pictures of it from several angles for later reference. I took some notes: [^1]: Oh man, I've always wanted a caliper, and now I have an excuse! -![Picture of my notes on the measurements of the part](https://l.sr.ht/20eR.jpg) +![Picture of my notes on the measurements of the part](https://redacted.moe/f/dc939c36.jpg) Then, I used solvespace to design the following part: -![Screenshot of the replacement part in solvespace](https://l.sr.ht/rVPV.png) +![Screenshot of the replacement part in solvespace](https://redacted.moe/f/49cc6bba.png) This was the third iteration &mdash; I printed one version, brought it out to the truck to compare with the broken part, made refinements to the design, then rinse and repeat. Here's an earlier revision being compared with the broken piece: -![A hand holds up a 3D printed part for comparison with the original](https://l.sr.ht/CUPM.jpg) +![A hand holds up a 3D printed part for comparison with the original](https://redacted.moe/f/7407f94b.jpg) Finally, I arrived at a design I liked and sent it to the printer. -![Picture of my 3D printer working on the part](https://l.sr.ht/xh9h.jpg) +![Picture of my 3D printer working on the part](https://redacted.moe/f/e37b2b5a.jpg) I took some pliers to the remaining plastic bits from the broken part, and sawed off the rivets. I attached the replacement with superglue and ta-da! -![Picture of the replacement part in place](https://l.sr.ht/3AGi.jpg) +![Picture of the replacement part in place](https://redacted.moe/f/681bff34.jpg) If the glue fails, I'll drill out what's left of the rivets and secure it with screws. This may require another revision of the design, which will also give me diff --git a/content/blog/Himitsu.md b/content/blog/Himitsu.md @@ -55,7 +55,7 @@ ask for the user's consent. $ hiq -d proto=web host user password! comment? ``` -![A screenshot of a GTK+ dialog confirming the operation](https://l.sr.ht/aTfn.png) +![A screenshot of a GTK+ dialog confirming the operation](https://redacted.moe/f/85eb1b52.png) ``` proto=web host=example.org user=jdoe password!=hunter2 @@ -105,7 +105,7 @@ Martijn Braam has written a nice GTK+ frontend called [keyring]: There's also a [Firefox add-on] which auto-fills forms for keys with proto=web: [Firefox add-on]: https://addons.mozilla.org/en-US/firefox/addon/himitsu-integration/ -![Screenshot of himitsu-firefox](https://l.sr.ht/eLcs.png) +![Screenshot of himitsu-firefox](https://redacted.moe/f/73328356.png) We also have a package called [himitsu-ssh] which provides an SSH agent: diff --git a/content/blog/History-will-not-remember-us-fondly.md b/content/blog/History-will-not-remember-us-fondly.md @@ -64,11 +64,11 @@ discriminatory laws against LGBT Poles, and conservative populism has taken hold of much of Italy, just to name a few more. Social and political systems are regressing worldwide. -<a href="https://l.sr.ht/Gd_r.png"> +<a href="https://redacted.moe/f/85f7d261.png"> <img style="max-width: 100%" alt="A visualization of democratic decline across Europe and Eurasia, showing that declines have outweighed gains in each of the past 10 years, demonstrating a persistent net decline in democracy." - src="https://l.sr.ht/Gd_r.png" /> + src="https://redacted.moe/f/85f7d261.png" /> </a> <small style="display: block; text-align: center">Source: <a href="https://freedomhouse.org/report/nations-transit/2020/dropping-democratic-facade">Freedom House</a></small> diff --git a/content/blog/How-to-store-data-forever.md b/content/blog/How-to-store-data-forever.md @@ -211,4 +211,4 @@ us. In summary: no matter what, definitely don't do this: -![Picture of a SATA card for RAIDing 10 microSD cards together](https://l.sr.ht/ig3R.jpg) +![Picture of a SATA card for RAIDing 10 microSD cards together](https://redacted.moe/f/802d6207.jpg) diff --git a/content/blog/Hyprland-toxicity.md b/content/blog/Hyprland-toxicity.md @@ -165,12 +165,12 @@ Discord. Consider that this lacks context and apply your grain of salt accordingly. ![Screenshot of a Discord channel with the initial reaction to this post. A user -called "slave labor" responds with "no way", "the computer reddit woke up"](https://l.sr.ht/1k-4.png) +called "slave labor" responds with "no way", "the computer reddit woke up"](https://redacted.moe/f/28580a3a.png) ![Screenshot of a Discord channel with Vaxry's initial reaction to this post. "Really, right as I wanted to take a day off because of health reasons I have to reply to this?". Another user responds "wow this is quite... shallow", "almost -as if it recycles very limited context to get more clicks"](https://l.sr.ht/9hS_.png) +as if it recycles very limited context to get more clicks"](https://redacted.moe/f/0d233e9f.png) I apologise to Vaxry for interrupting their rest, and wish them a speedy recovery. @@ -178,7 +178,7 @@ recovery. ![Screenshot of a Discord channel. Some notable quotes include "LGBTQ is fucking trash anyways" (someone else responds "fuck off" to this) and "for reclaiming polymc from the leftoids". The discussion as a whole lacks any sembelance of -professionalism.](https://l.sr.ht/RwC-.png) +professionalism.](https://redacted.moe/f/53c4bc32.png) [Here](https://paste.sr.ht/~sircmpwn/093af570609ec87e987af6cc69c59e9624c2b280) is a plain text log which includes some additional discussion. diff --git a/content/blog/In-praise-of-Postgres.md b/content/blog/In-praise-of-Postgres.md @@ -15,7 +15,7 @@ was in July of 1996. It used this logo: [^1]: The first release of Postgre**SQL**. Its lineage can be traced further back. -![A "logo" which depicts the word "PostgreSQL" in a 3D chrome font bursting through a brick wall from space. No, seriously.](https://l.sr.ht/Ye7j.jpg) +![A "logo" which depicts the word "PostgreSQL" in a 3D chrome font bursting through a brick wall from space. No, seriously.](https://redacted.moe/f/f36a9083.jpg) After 25 years of persistence, and a better logo design, Postgres stands today as one of the most significant pillars of profound achievement in free software, diff --git a/content/blog/Kernel-hacking-with-Hare-part-1.md b/content/blog/Kernel-hacking-with-Hare-part-1.md @@ -72,7 +72,7 @@ Here's an example of what the code shown in this article is going to produce: ![A 64 by 64 grid of cells representing a page of physical memory. The first set of cells are colored blue; the next set green; then purple; the remainder are -brown.](https://l.sr.ht/FpGq.png) +brown.](https://redacted.moe/f/ad558439.png) This is a single page of physical memory which has been allocated for the bootinfo data, where each cell is a byte. The bootinfo structure itself comes diff --git a/content/blog/Kernel-hacking-with-Hare-part-2.md b/content/blog/Kernel-hacking-with-Hare-part-2.md @@ -25,7 +25,7 @@ kernel. [0]: https://git.sr.ht/~sircmpwn/helios [1]: https://git.sr.ht/~sircmpwn/helios/tree/master/item/vulcan -![A picture of a laptop running Helios and showing the results of the Vulcan test suite](https://l.sr.ht/JIya.jpg) +![A picture of a laptop running Helios and showing the results of the Vulcan test suite](https://redacted.moe/f/a8018226.jpg) While I don't anticipate multi-threaded processes playing a huge role in the complete Ares system in the future, they do have a place. In the long term, I diff --git a/content/blog/Language-design-considerations.md b/content/blog/Language-design-considerations.md @@ -110,7 +110,7 @@ The grammar for this looks like the following:[^caveat] [^caveat]: Disregard the second case of "append-values"; it's not relevant here. -![A screenshot of the language spec showing the grammar for append expressions.](https://l.sr.ht/NinS.png) +![A screenshot of the language spec showing the grammar for append expressions.](https://redacted.moe/f/d37abdd8.png) So, the proposed "append(x, \[0...\], 10)" expression is *parsed* like this: @@ -136,7 +136,7 @@ append(x, [0...], 10); // New feature The grammar for this is much better: -![A screenshot of the revised grammar for this design.](https://l.sr.ht/s5qI.png) +![A screenshot of the revised grammar for this design.](https://redacted.moe/f/b0e56d79.png) Now we can distinguish between these cases while parsing, so the first example is parsed as: @@ -191,10 +191,10 @@ neatly solves all of our problems. We have arrived at design which: I daresay that, in addition to fulfilling the desired new feature, we have improved the other cases as well. The final grammar for this is the following: -![Formal grammar showing the final state of the design proposal](https://l.sr.ht/2nF0.png) +![Formal grammar showing the final state of the design proposal](https://redacted.moe/f/1d400f58.png) If you're curious to see more, I've extracted the relevant page of the -specification for you to read: [download it here](https://l.sr.ht/eeta.pdf). I +specification for you to read: [download it here](https://redacted.moe/f/9c48d5d4.pdf). I hope you found that interesting and insightful! *Note: Much of these details are subject to change, and we have future diff --git a/content/blog/Organizing-my-thoughts.md b/content/blog/Organizing-my-thoughts.md @@ -18,7 +18,7 @@ Well, like this (click for full size): [![A mock-up of an application. A4 pages are arranged ad-hoc on a grid. Handwritten notes and drawings appear in red across the grid and over the pages. -A flowchart is shown outside of a page.](https://l.sr.ht/4QOL.png)](https://l.sr.ht/4QOL.png) +A flowchart is shown outside of a page.](https://redacted.moe/f/920d5d58.png)](https://redacted.moe/f/920d5d58.png) I don't have the bandwidth to take on a new project of this scope, so I'll describe what I think this should look like in the hopes that it will inspire diff --git a/content/blog/Our-self-hosted-parser-design.md b/content/blog/Our-self-hosted-parser-design.md @@ -81,7 +81,7 @@ This gives us a reasonably clean path to writing a formal grammar (and specification) for the language, which is what we did next. ![A screenshot of a PDF file which shows a formal grammar similar to the sample -given above.](https://l.sr.ht/CFo0.png) +given above.](https://redacted.moe/f/00bba3bd.png) All of these samples describe a struct type. The following example shows what this grammar looks like in real code &mdash; starting from the word "struct" and @@ -523,7 +523,7 @@ fn peek( Let's say we're looking for a binding like our sample code to show up next. The grammar from the spec is as follows: -![](https://l.sr.ht/W2AY.png) +![](https://redacted.moe/f/f0e1d07d.png) And here's the code that parses that: diff --git a/content/blog/Reflection.md b/content/blog/Reflection.md @@ -104,8 +104,8 @@ is defined by the <span class="redacted">xxxx</span> specification and cannot be overridden by the program, so no further information is necessary. The relevant part of the spec is: -!["The precision of 'int' and 'uint' are implementation-defined. 'int' shall be signed, and 'uint' shall be unsigned. Both types shall be at least 32-bits in precision. The precision in bits shall be a power of two."](https://l.sr.ht/Sbcb.png) -![A table from the specification showing the precision ranges of each integer type](https://l.sr.ht/oZw4.png) +!["The precision of 'int' and 'uint' are implementation-defined. 'int' shall be signed, and 'uint' shall be unsigned. Both types shall be at least 32-bits in precision. The precision in bits shall be a power of two."](https://redacted.moe/f/9fb3b7e2.png) +![A table from the specification showing the precision ranges of each integer type](https://redacted.moe/f/f13236c9.png) More information is provided for more complex types, such as structs. diff --git a/content/blog/Shell-literacy.md b/content/blog/Shell-literacy.md @@ -18,7 +18,7 @@ detail is knowing when to drop it. My daily workflow involves several open terminals, generally one with Vim, another to run builds or daemons, and a third which just keeps a shell handy for anything I might ask of it. -[![Screenshot of my workspace](https://l.sr.ht/g_oL.png)](https://l.sr.ht/g_oL.png) +[![Screenshot of my workspace](https://redacted.moe/f/1bbaf26c.png)](https://redacted.moe/f/1bbaf26c.png) The shell I keep open allows me to perform complex tasks and answer complex questions as I work. I find interesting things with [git grep][git grep], diff --git a/content/blog/Spamtoberfest.md b/content/blog/Spamtoberfest.md @@ -21,7 +21,7 @@ of Service (DDoS) attack is ongoing, wasting the time of thousands of free software maintainers with an onslaught of meaningless spam. Bots are spamming [tens of thousands][1] of pull requests like this: -[![Screenshot of a spam pull request on GitHub which adds garbage to the README.md file](https://l.sr.ht/71VU.png)](https://github.com/hundredrabbits/100r.co/pull/39/files) +[![Screenshot of a spam pull request on GitHub which adds garbage to the README.md file](https://redacted.moe/f/fd88f606.png)](https://github.com/hundredrabbits/100r.co/pull/39/files) [1]: https://github.com/search?q=amazing+project+is:pr&type=Issues @@ -58,7 +58,7 @@ to maintainers, leaving them to clean up the spam. I've never been impressed with Hacktoberfest contributions, even the ones which aren't obviously written by a bot: -[![Screenshot of a pull request which needlessly comment a CSS file](https://l.sr.ht/F-sU.png)](https://github.com/whatwg/html/pull/5975/files) +[![Screenshot of a pull request which needlessly comment a CSS file](https://redacted.moe/f/970f2a31.png)](https://github.com/whatwg/html/pull/5975/files) Hacktoberfest is, and has always been, about one thing: marketing for Digital Ocean. @@ -84,7 +84,7 @@ like Google Summer of Code do this better. Programs where a marketing department spends $5,000 on T-Shirts to flood maintainers with garbage and clothe people in ads are doing the opposite: *hurting* open source. -[![Screenshot of a friend's notifications, 9 out of 11 of which are spam](https://l.sr.ht/KoFK.png)](https://l.sr.ht/KoFK.png) +[![Screenshot of a friend's notifications, 9 out of 11 of which are spam](https://redacted.moe/f/a50f2dfc.png)](https://redacted.moe/f/a50f2dfc.png) Check out [@shitoberfest on Twitter](https://twitter.com/shitoberfest) for more Hacktoberfest garbage. diff --git a/content/blog/Status-update-December-2021.md b/content/blog/Status-update-December-2021.md @@ -19,7 +19,7 @@ little tetromino game (audio warning): [libui]: https://github.com/andlabs/libui -<video src="https://l.sr.ht/PMwA.webm" controls></video> +<video src="https://redacted.moe/f/182e81ce.webm" controls></video> I am developing this to flesh out the SDL wrapper and get a feel for game development in the new language, but I also intend to take it on as a serious diff --git a/content/blog/Status-update-June-2021.md b/content/blog/Status-update-June-2021.md @@ -6,11 +6,11 @@ date: 2021-06-15 Hiya! Got another status update for you. First, let me share this picture that my dad and I took on our recent astronomy trip (click for full res): -[![A long-exposure picture of the night sky. Thousands of stars are visible, as well as the band of the milky way.](https://l.sr.ht/o750.jpg)](https://l.sr.ht/JRTV.jpg) +[![A long-exposure picture of the night sky. Thousands of stars are visible, as well as the band of the milky way.](https://l.sr.ht/o750.jpg)](https://redacted.moe/f/a3b37775.jpg) Bonus Venus: -![A bright white circle against a dark background](https://l.sr.ht/NHlj.png) +![A bright white circle against a dark background](https://redacted.moe/f/6574aa37.png) So, what's new? With SourceHut, there are a few neat goings-on. For one, thanks to Michael Forney putting the finishing touches on the patchset, the diff --git a/content/blog/Status-update-June-2022.md b/content/blog/Status-update-June-2022.md @@ -36,7 +36,7 @@ month ago (and to think it's only three months old!). [helios]: https://drewdevault.com/2022/06/13/helios.html -![A picture of Helios drawing to a framebuffer](https://l.sr.ht/KeMW.jpg) +![A picture of Helios drawing to a framebuffer](https://redacted.moe/f/7e43ce39.jpg) There was also a lot of progress on [Himitsu], which I plan on presenting in a video and blog post in a few days time. The Firefox add-on actually works now @@ -61,6 +61,6 @@ architectures for now. We now have complex number support, as well as improvements to encoding::json and net::uri. ![A screenshot of a fractal rendered with the aid of Hare's new complex number -support](https://l.sr.ht/Do-Q.png) +support](https://redacted.moe/f/737ed5b7.png) That's all for today. Until next time! diff --git a/content/blog/Status-update-March-2022.md b/content/blog/Status-update-March-2022.md @@ -16,7 +16,7 @@ stack traces on assertion failures and such. I understand that someone is working on DWARF support as well, so perhaps we'll soon be able to translate function name + offset into a file name and line number. -![A redacted screenshot of a kernel showing a simulated page fault](https://l.sr.ht/LHZ2.png) +![A redacted screenshot of a kernel showing a simulated page fault](https://redacted.moe/f/848da9ff.png) I also started working on a PNG decoder this weekend, which at the time of writing can successfully decode 77 of the 161 PNG test vectors. I am quite diff --git a/content/blog/Status-update-May-2022.md b/content/blog/Status-update-May-2022.md @@ -26,7 +26,7 @@ we have entered userspace. Next up is rigging up syscalls and scheduling, then we're going to start fleshing out an L4-inspired API and writing some drivers in userspace. -![A screenshot showing Helios booting and entering userspace](https://l.sr.ht/COLx.png) +![A screenshot showing Helios booting and entering userspace](https://redacted.moe/f/2c1f497a.png) [Helios]: https://sr.ht/~sircmpwn/helios diff --git a/content/blog/Status-update-October-2020.md b/content/blog/Status-update-October-2020.md @@ -57,7 +57,7 @@ viewing pleasure: [himitsu]: https://git.sr.ht/~sircmpwn/himitsu -![A GUI dialog asking a user to consent to allow an application to access their IMAP credentials](https://l.sr.ht/hr4G.png) +![A GUI dialog asking a user to consent to allow an application to access their IMAP credentials](https://redacted.moe/f/13c10c49.png) Bonus update: two new [BARE](https://baremessages.org) implementations have appeared: OCaml and Java. @@ -67,5 +67,5 @@ support! <details> <summary>...</summary> - <img src="https://l.sr.ht/y15d.png" alt="A screenshot of a page of a programming language specification detailing the syntax of tagged unions" /> + <img src="https://redacted.moe/f/26c6ba23.png" alt="A screenshot of a page of a programming language specification detailing the syntax of tagged unions" /> </details> diff --git a/content/blog/Status-update-October-2022.md b/content/blog/Status-update-October-2022.md @@ -35,7 +35,7 @@ faults to userspace supervisor processes: ![A screenshot of a thread on Helios causing a page fault, then its parent thread receives details of the fault and maps a page onto the address of the attempted write. The child thread is resumed and is surprised to find that the -write succeeded (because a page was mapped underneath the write).](https://l.sr.ht/YvMX.png) +write succeeded (because a page was mapped underneath the write).](https://redacted.moe/f/52ee4c38.png) ```hare @test fn task::pagefault() void = { @@ -75,9 +75,9 @@ real hardware: [0]: https://drewdevault.com/2022/10/02/Kernel-hacking-with-Hare-part-2.html -![A picture of a laptop showing 15 passing kernel tests](https://l.sr.ht/RMAS.jpg) +![A picture of a laptop showing 15 passing kernel tests](https://redacted.moe/f/3a293b79.jpg) -[Here's an ISO](https://l.sr.ht/NwsO.iso) you can boot on your own x86\_64 +[Here's an ISO](https://redacted.moe/f/f95549d6.iso) you can boot on your own x86\_64 hardware to see if it works for you, too. If you have problems, take a picture of the issue, boot Linux and [email me](mailto:sir@cmpwn.com) said picture, the output of lscpu, and any other details you deem relevant. @@ -98,7 +98,7 @@ Consequently, the first Mercury driver is up and running: [1]: https://git.sr.ht/~sircmpwn/mercury -![Demo of a working serial driver](https://l.sr.ht/PKZ6.png) +![Demo of a working serial driver](https://redacted.moe/f/4294d07e.png) This driver includes a simple driver manifest, which is embedded into its ELF file and processed by the driver loader to declaratively specify the diff --git a/content/blog/The-worlds-dumbest-IRC-bot.md b/content/blog/The-worlds-dumbest-IRC-bot.md @@ -64,7 +64,7 @@ This has not been an entirely smart move. ![I say "I hate C++ templates", and the bot responds by writing "yeah, fuck C++ templates!" with "C++ templates" displayed in rainbow colors. MartijnBraam follows up by asking "number of c++ programmers launched into the sun", which -wormy claims is 367880 people as of 2009.](https://l.sr.ht/OCyx.png) +wormy claims is 367880 people as of 2009.](https://redacted.moe/f/52eb4eba.png) One "feature", inspired by [Bryan Cantrill](https://www.youtube.com/watch?v=30jNsCVLpAE), records every time the diff --git a/content/blog/You-cant-capture-the-nuance.md b/content/blog/You-cant-capture-the-nuance.md @@ -44,7 +44,7 @@ This is just for English, by the way. I often type in Japanese, which has an entirely alien set of nuances. Here's what that looks like on Android (mobile is another beast entirely, too!): -<video src="https://l.sr.ht/u274.webm" muted autoplay loop controls> +<video src="https://redacted.moe/f/2f2f6815.webm" muted autoplay loop controls> If you're seeing this, your browser doesn't support HTML5 video, or webm, idk. </video> diff --git a/content/blog/git-snail-mail.md b/content/blog/git-snail-mail.md @@ -21,7 +21,7 @@ date: 2022-04-01 [0]: https://git-send-email.io -![A picture of a patch printed out on paper](https://l.sr.ht/w9hP.jpg) +![A picture of a patch printed out on paper](https://redacted.moe/f/fa9d0b95.jpg) At least, this is what I'd like to say, but I ended up cancelling the project before it was ready for April Fool's. After my friend kline (a staffer at Libera @@ -70,7 +70,7 @@ This is generated by my git snail-mail code and then run through pdflatex to produce a file [like this][1]. It pipes it into lp(1) to send it to your printer and ta-da! -[1]: https://l.sr.ht/2VXT.pdf +[1]: https://redacted.moe/f/3422cde8.pdf I chose not to make the commit selection work like git send-email, because I think that's one of the most confusing parts of git send-email. Instead I just diff --git a/content/blog/helios.md b/content/blog/helios.md @@ -13,7 +13,7 @@ it today. [Hare]: https://harelang.org [seL4]: https://sel4.systems -![A picture of a ThinkPad running Helios, demonstrating userspace memory allocation](https://l.sr.ht/gnrA.jpg) +![A picture of a ThinkPad running Helios, demonstrating userspace memory allocation](https://redacted.moe/f/4d2d7b25.jpg) Drawing some inspiration from seL4, Helios uses a capability-based design for isolation and security. The kernel offers primitives for allocating physical diff --git a/content/blog/io_uring-finger-server.md b/content/blog/io_uring-finger-server.md @@ -425,7 +425,7 @@ I/O they handle, plus a special case for error handling: 3. Reading from the plan file 4. Forwarding its contents to the client -![](https://l.sr.ht/p5yc.svg) +![](https://redacted.moe/f/2eb5650a.svg) Each circle in this diagram represents a point where we will submit some I/O to our io_uring instance and return to the event loop. If any I/O resulted in an diff --git a/content/blog/pmOS-on-xiaomi-poco-f1.md b/content/blog/pmOS-on-xiaomi-poco-f1.md @@ -105,8 +105,8 @@ generally useful thing to have around. I think I've lent it to others more than I've used it myself. [4]: https://gitlab.gnome.org/World/Phosh/phosh/-/issues/552 -[5]: https://l.sr.ht/TOL9.png -[6]: https://l.sr.ht/6SQX.png +[5]: https://redacted.moe/f/40dd2e96.png +[6]: https://redacted.moe/f/ce6414d5.png There are many other apps which work without issues. I found that [Foliate][7] works great for reading e-books and [Evince][8] works nicely for PDFs (two diff --git a/content/blog/stalebot.md b/content/blog/stalebot.md @@ -12,7 +12,7 @@ course of your work. This is a terrible, horrible, no good, very bad idea. -![A screenshot of an interaction with this bot](https://l.sr.ht/nNyI.png) +![A screenshot of an interaction with this bot](https://redacted.moe/f/e2f0d39c.png) I'm not sure what motivates maintainers to install this on their repository, other than the fact that GitHub recommends it to them. Perhaps it's motivated by