diff --git a/assets/images/FTL.jpg b/assets/images/FTL.jpg new file mode 100644 index 0000000..82f2eeb Binary files /dev/null and b/assets/images/FTL.jpg differ diff --git a/assets/images/alphacol.jpg b/assets/images/alphacol.jpg new file mode 100644 index 0000000..4aec0d2 Binary files /dev/null and b/assets/images/alphacol.jpg differ diff --git a/assets/images/apioform.jpg b/assets/images/apioform.jpg new file mode 100644 index 0000000..955f180 Binary files /dev/null and b/assets/images/apioform.jpg differ diff --git a/assets/images/csproblem.jpg b/assets/images/csproblem.jpg new file mode 100644 index 0000000..b6f7388 Binary files /dev/null and b/assets/images/csproblem.jpg differ diff --git a/assets/images/emu-war.jpg b/assets/images/emu-war.jpg new file mode 100644 index 0000000..6a9290a Binary files /dev/null and b/assets/images/emu-war.jpg differ diff --git a/assets/images/flight.jpg b/assets/images/flight.jpg new file mode 100644 index 0000000..d1e8652 Binary files /dev/null and b/assets/images/flight.jpg differ diff --git a/assets/images/fractalart.jpg b/assets/images/fractalart.jpg new file mode 100644 index 0000000..d8a0957 Binary files /dev/null and b/assets/images/fractalart.jpg differ diff --git a/assets/images/gol.jpg b/assets/images/gol.jpg new file mode 100644 index 0000000..0259229 Binary files /dev/null and b/assets/images/gol.jpg differ diff --git a/assets/images/guihacker.jpg b/assets/images/guihacker.jpg new file mode 100644 index 0000000..dccc7f9 Binary files /dev/null and b/assets/images/guihacker.jpg differ diff --git a/assets/images/heavscp.jpg b/assets/images/heavscp.jpg new file mode 100644 index 0000000..17ae386 Binary files /dev/null and b/assets/images/heavscp.jpg differ diff --git a/assets/images/ideas.jpg b/assets/images/ideas.jpg new file mode 100644 index 0000000..620d5c6 Binary files /dev/null and b/assets/images/ideas.jpg differ diff --git a/assets/images/incdec.jpg b/assets/images/incdec.jpg new file mode 100644 index 0000000..321f351 Binary files /dev/null and b/assets/images/incdec.jpg differ diff --git a/assets/images/infipage.jpg b/assets/images/infipage.jpg new file mode 100644 index 0000000..fef2eea Binary files /dev/null and b/assets/images/infipage.jpg differ diff --git a/assets/images/joe.jpg b/assets/images/joe.jpg new file mode 100644 index 0000000..2af80d8 Binary files /dev/null and b/assets/images/joe.jpg differ diff --git a/assets/images/lorem.jpg b/assets/images/lorem.jpg new file mode 100644 index 0000000..b9e66c7 Binary files /dev/null and b/assets/images/lorem.jpg differ diff --git a/assets/images/nemc.jpg b/assets/images/nemc.jpg new file mode 100644 index 0000000..2f3bb66 Binary files /dev/null and b/assets/images/nemc.jpg differ diff --git a/assets/images/new-website.jpg b/assets/images/new-website.jpg new file mode 100644 index 0000000..19a5eb9 Binary files /dev/null and b/assets/images/new-website.jpg differ diff --git a/assets/images/osbill.jpg b/assets/images/osbill.jpg new file mode 100644 index 0000000..cc01f07 Binary files /dev/null and b/assets/images/osbill.jpg differ diff --git a/assets/images/osmarkscalculator.jpg b/assets/images/osmarkscalculator.jpg new file mode 100644 index 0000000..931cb90 Binary files /dev/null and b/assets/images/osmarkscalculator.jpg differ diff --git a/assets/images/otherstuff.jpg b/assets/images/otherstuff.jpg new file mode 100644 index 0000000..d00bd7d Binary files /dev/null and b/assets/images/otherstuff.jpg differ diff --git a/assets/images/phones.jpg b/assets/images/phones.jpg new file mode 100644 index 0000000..fda7e56 Binary files /dev/null and b/assets/images/phones.jpg differ diff --git a/assets/images/points.jpg b/assets/images/points.jpg new file mode 100644 index 0000000..86620e8 Binary files /dev/null and b/assets/images/points.jpg differ diff --git a/assets/images/rpncalc2.jpg b/assets/images/rpncalc2.jpg new file mode 100644 index 0000000..f46649d Binary files /dev/null and b/assets/images/rpncalc2.jpg differ diff --git a/assets/images/rpncalc3.jpg b/assets/images/rpncalc3.jpg new file mode 100644 index 0000000..c35c6ff Binary files /dev/null and b/assets/images/rpncalc3.jpg differ diff --git a/assets/images/rpncalc4.jpg b/assets/images/rpncalc4.jpg new file mode 100644 index 0000000..ad80664 Binary files /dev/null and b/assets/images/rpncalc4.jpg differ diff --git a/assets/images/rssgood.jpg b/assets/images/rssgood.jpg new file mode 100644 index 0000000..b21e1cc Binary files /dev/null and b/assets/images/rssgood.jpg differ diff --git a/assets/images/scorer.jpg b/assets/images/scorer.jpg new file mode 100644 index 0000000..1af2874 Binary files /dev/null and b/assets/images/scorer.jpg differ diff --git a/assets/images/stack.jpg b/assets/images/stack.jpg new file mode 100644 index 0000000..7a82a1e Binary files /dev/null and b/assets/images/stack.jpg differ diff --git a/assets/images/themes.jpg b/assets/images/themes.jpg new file mode 100644 index 0000000..8f8ea70 Binary files /dev/null and b/assets/images/themes.jpg differ diff --git a/assets/images/tictactoe.jpg b/assets/images/tictactoe.jpg new file mode 100644 index 0000000..5b894c0 Binary files /dev/null and b/assets/images/tictactoe.jpg differ diff --git a/assets/images/whorl.jpg b/assets/images/whorl.jpg new file mode 100644 index 0000000..8918065 Binary files /dev/null and b/assets/images/whorl.jpg differ diff --git a/assets/images/wsterm.jpg b/assets/images/wsterm.jpg new file mode 100644 index 0000000..5169db9 Binary files /dev/null and b/assets/images/wsterm.jpg differ diff --git a/assets/js/h4xx0r.js b/assets/js/h4xx0r.js index f993fc5..bc76f7c 100644 --- a/assets/js/h4xx0r.js +++ b/assets/js/h4xx0r.js @@ -81,6 +81,7 @@ function jargon() { } else { var raw = thing + " " + choose(jargonWords.participles) .replace("writing", "wrote") + .replace("breaking", "broken") .replace("overriding", "overriden") .replace("shutting", "shut") .replace("ying", "ied") diff --git a/assets/sw.js b/assets/sw.js index 14bb5d9..88a6222 100644 --- a/assets/sw.js +++ b/assets/sw.js @@ -71,7 +71,7 @@ const getResponse = async req => { } try { console.log("Requesting", req.url) - const response = await fetchWithTimeout(req.clone(), 5000) + const response = await fetchWithTimeout(req.clone(), 10000) if (response.status < 400) { console.log("Caching request to", req.url) cache.put(req, response.clone()) diff --git a/blog/other-stuff.md b/blog/other-stuff.md index 015ad64..388fb1f 100644 --- a/blog/other-stuff.md +++ b/blog/other-stuff.md @@ -38,7 +38,8 @@ Obviously this is just stuff *I* like; you might not like it, which isn't really * [Schlock Mercenary](https://www.schlockmercenary.com/), a *very* long-running space opera webcomic. It's been running for something like 20 years, and the art and such improve over time. * [Freefall](http://freefall.purrsia.com/), a hard-science-fiction webcomic. * [Mage Errant](https://www.goodreads.com/series/252085-mage-errant) - a moderately-long-by-now fantasy series with a very vibrant world, and which actually considers the geopolitical implications of there being beings around ("Great Powers") able to act as one-man armies. -* [Arcane Ascension](https://www.goodreads.com/series/201441-arcane-ascension) - fun progression fantasy series with (... like most of these, actually) worldbuilding I like and good characters. I have only read the first two, since I'm writing this just as the third came out +* [Arcane Ascension](https://www.goodreads.com/series/201441-arcane-ascension) - fun progression fantasy series with (... like most of these, actually) worldbuilding I like and good characters. I have only read the first two, since I got distracted and have not read much of the third. Somewhat overly long at times. +* [Void Star](https://www.goodreads.com/book/show/29939057-void-star) - somewhat weird and good. The prose is very... poetic is probably the best word (it contains phrases like "isoclines of commitment and dread", "concentric and innumerable" and "high empyrean")... which I enjoyed, but it is polarizing. The setting seems like a generally reasonable extrapolation of a bunch of ongoing trends into the future, although it's unclear exactly *when* it is (some of the book implies 2150 or so, but this seems implausible). Its most interesting characteristic is that it absolutely does not tell you what's going on ever: an interview I read said it was written out of order, and that makes sense (another fun quirk of it is that the chapters are generally very short). I think I know most of what happens now, but it has taken a while. Special mentions (i.e. "I haven't gotten around to reading these but they are well-reviewed and sound interesting") to: * [The Divine Cities](https://www.goodreads.com/series/159695-the-divine-cities) by Robert Jackson Bennet. diff --git a/blog/rssgood.md b/blog/rssgood.md new file mode 100644 index 0000000..383bab7 --- /dev/null +++ b/blog/rssgood.md @@ -0,0 +1,29 @@ +--- +title: "RSS: good and useful" +description: RSS/Atom are protocols for Internet-based newsletter/feed services. They're surprisingly well-supported and you should consider using them. +created: 14/05/2022 +--- +RSS stands for Really Simple Syndication, and it's an underappreciated protocol for generally "following" things on the internet. +Most people do this via proprietary platforms with feed/notification functionality, the problems of which are obvious, or email. +Email, though, is push-based - you subscribe to a service and it communicates with your email server whenever a new item is published. +While this allows new content to be received in near-real-time, it has the significant disadvantage that unsubscription can be difficult and nonstandardized, and your address can be used by anyone else to send you unwanted mails. + +RSS inverts this; an RSS reader application periodically checks a list of RSS feeds by downloading them from their servers and displays all new content it finds. +This makes it a lot easier to manage a lot of feeds or items as an end user, particularly since lots of reader software will also let you categorize feeds to better manage content. +It's also easier for site admins: because of rampant spam running your own email server (without email from it being immediately discarded) is tricky, so it's generally required to integrate some external, paid service instead. +RSS only requires serving an XML file, which is very easy to do on top of an existing website, which is probably why it's still pretty widely implemented. + +Yes, despite RSS's relative lack of use nowadays, a surprisingly large amount of sites still support it (some might use Atom, a slightly different protocol, but good reader applications support both transparently): + +* WordPress, a very popular platform for blogs, has RSS support enabled by default (just go to `/feed/`). +* YouTube has RSS feeds for channels' videos: `https://www.youtube.com/feeds/videos.xml?channel_id=[ID of channel to follow]`. +* Some web fiction sites (e.g. Royal Road, Archive Of Our Own) have per-story RSS feeds. +* osmarks.net has an RSS feed, linked on the main page somewhere: [https://osmarks.net/rss.xml](https://osmarks.net/rss.xml) - this does only cover blog posts and not experiments, as those aren't actually timestamped. +* Blogspot blogs have feeds at `/rss.xml`. +* The BBC has RSS feeds described here: [https://www.bbc.com/news/10628494](https://www.bbc.com/news/10628494). +* Otherwise, you can ctrl+F for "RSS" or "Atom" or "feed" or "subscribe" and might be successful, or try URLs like `/feed`, `/feed.xml`, `/feed.atom`, `/index.xml`, `/rss` or `/rss.xml`. + +As for RSS readers to use these with, there are many implementations available. +I use [Miniflux](https://miniflux.app/), since it's self-hosted and accessible on multiple devices via the web, and has nice features like keyboard controls, scraping websites which omit some content from RSS feeds, and an integration API which I use to plug it into my convoluted mess of custom scripting. +The [Awesome Self-Hosted list](https://github.com/awesome-selfhosted/awesome-selfhosted#feed-readers) has many other reader applications like this. +If you prefer something which runs locally as a desktop application, [Wikipedia has a list](https://en.wikipedia.org/wiki/Comparison_of_feed_aggregators) (I haven't actually checked this space myself). \ No newline at end of file diff --git a/experiments/flight/index.html b/experiments/flight/index.html new file mode 100644 index 0000000..daa75ca --- /dev/null +++ b/experiments/flight/index.html @@ -0,0 +1,240 @@ +--- +title: Flying Thing +description: Fly an ominous flying square around above some ground! Includes special relativity! +--- + +