diff --git a/content/posts/floss-security.md b/content/posts/floss-security.md index 06dfa82..ec07841 100644 --- a/content/posts/floss-security.md +++ b/content/posts/floss-security.md @@ -5,6 +5,7 @@ outputs: - html - gemtext footnote_heading: Notes +featured: true title: "The right thing for the wrong reasons: FLOSS doesn't imply security" --- I find it quite easy to handle views different from my own. I feel more troubled when I see people agree with me for the wrong reasons. diff --git a/content/posts/keeping-platforms-open.md b/content/posts/keeping-platforms-open.md index cc955dc..8702892 100644 --- a/content/posts/keeping-platforms-open.md +++ b/content/posts/keeping-platforms-open.md @@ -9,6 +9,7 @@ tags: - free software - user domestication - platforms +featured: true title: Keeping platforms open --- This article is the second entry of series of posts exploring situations in which FLOSS alone isn't enough to secure user freedom. diff --git a/content/posts/search-engines-with-own-indexes.md b/content/posts/search-engines-with-own-indexes.md index 02dd331..aff0c60 100644 --- a/content/posts/search-engines-with-own-indexes.md +++ b/content/posts/search-engines-with-own-indexes.md @@ -10,6 +10,7 @@ sitemap: ChangeFreq: weekly Priority: 0.7 footnote_heading: Notes +featured: true title: A look at search engines with their own indexes --- This is a cursory review of all the indexing search engines I have been able to find. diff --git a/content/posts/website-best-practices.md b/content/posts/website-best-practices.md index 11810d0..f9cabdb 100644 --- a/content/posts/website-best-practices.md +++ b/content/posts/website-best-practices.md @@ -6,6 +6,7 @@ outputs: - gemtext footnote_heading: Notes toc: true +featured: true tags: - web - accessibility @@ -13,6 +14,7 @@ tags: sitemap: ChangeFreq: daily Priority: 0.7 +featured: true title: An opinionated list of best practices for textual websites ---
@@ -687,7 +689,7 @@ Some image optimization tools I use: : The reference WebP encoder; has dedicated lossless and lossy modes. Lossy WebP compression isn't always better than JPEG, but lossless WebP consistently beats PNG. `avifenc` -: The reference AVIF encoder, included in [libavif](https://github.com/AOMediaCodec/libavif)[^11]. AVIF lossless compression is typically useless, but its lossy compression is pretty unique in that it leans towards detail removal rather than introducing compression artifacts. Note that AVIF is not supported by Safari or most WebKit-based browsers. +: The reference AVIF encoder, included in [libavif](https://github.com/AOMediaCodec/libavif)[^10]. AVIF lossless compression is typically useless, but its lossy compression is pretty unique in that it leans towards detail removal rather than introducing compression artifacts. Note that AVIF is not supported by Safari or most WebKit-based browsers. I put together [a quick script](https://git.sr.ht/~seirdy/dotfiles/tree/3b722a843f3945a1bdf98672e09786f0213ec6f6/Executables/shell-scripts/bin/optimize-image) to losslessly optimize images using these programs. For lossy compression, I typically use [GNU Parallel](https://www.gnu.org/software/parallel/) to mass-generate images using different options before selecting the smallest image at the minimum acceptable quality. Users who'd rather avoid the command line while performing lossy compression can instead check out [Squoosh](https://squoosh.app/), a JavaScript app that bundles WebAssembly-compiled encoders; I've heard good things about it. @@ -886,7 +888,7 @@ Where long inline `` elements can trigger horizontal scrolling, consider a Soft hyphens are great for splitting up text, but some text should stay together. The phrase "10 cm", for instance, would flow poorly if "10" and "cm" appeared on separate lines. Splitting text becomes especially painful on narrow viewports. A non-breaking space keeps the surrounding text from being re-flowed. Use the ` ` HTML entity instead of a space: `10 cm`. -{{}}[^10] describes [where to use the non-breaking space](https://briefs.video/videos/is-progressive-enhancement-dead-yet/) in more detail +{{}}[^11] describes [where to use the non-breaking space](https://briefs.video/videos/is-progressive-enhancement-dead-yet/) in more detail One exception to the rules from Practical Typography: don't use a non-breaking space if it would trigger two-dimensional scrolling on a narrow viewport. Between broken text and two-dimensional scrolling, broken text is the lesser evil. I personally set a cutoff at 2.5 cm (1 inch) at 125% zoom. @@ -1347,12 +1349,12 @@ A special thanks goes out to GothAlice for the questions she answered in `#webde [^9]: Decoration is more than cosmetic. The [color overrides and accessibility](#color-overrides-and-accessibility) sub-section describes how some decorations, like borders, improve access­ibility. -[^10]: {{}} only renders invisible text without JavaScript. You can use a textual browser, screen reader, copy-paste the page contents elsewhere, use a reader-mode implemen­tation, or "view source" to read it without enabling scripts. All of these options will ironically override the carefully-crafted typography of this website about typography. +[^10]: libavif links against libaom, librav1e, and/or libsvtav1 to perform AVIF encoding and decoding. libaom is best for this use-case, particularly since libaom can link against libjxl to use its Butteraugli distortion metric. This lets libaom optimize the perceptual quality of lossy encodes much more accu­rately. + +[^11]: {{}} only renders invisible text without JavaScript. You can use a textual browser, screen reader, copy-paste the page contents elsewhere, use a reader-mode implemen­tation, or "view source" to read it without enabling scripts. All of these options will ironically override the carefully-crafted typography of this website about typography. I find Practical Typography quite useful for printed works, and incorporated a more moderate version of its advice on soft-hyphens into this page. With a few such exceptions, I generally find it to be poor advice for Web content. -[^11]: libavif links against libaom, librav1e, and/or libsvtav1 to perform AVIF encoding and decoding. libaom is best for this use-case, particularly since libaom can link against libjxl to use its Butteraugli distortion metric. This lets libaom optimize the perceptual quality of lossy encodes much more accu­rately. - [^12]:

Consider disabling the JIT for your normal browsing too; doing so removes whole classes of vulnera­bilities. In Firefox, navigate to about:config and toggle some flags under javascript.options.

Code snippet: Firefox prefs to turn off JIT compilation
javascript.options.ion
javascript.options.baselinejit
javascript.options.native_regexp
javascript.options.asmjs
javascript.options.wasm

In Chromium and derivatives, run the browser with `--js-flags='--jitless'`; in the Tor Browser, set the security level to "Safer". diff --git a/content/posts/whatsapp-and-the-domestication-of-users.md b/content/posts/whatsapp-and-the-domestication-of-users.md index 6c334b9..f38562f 100644 --- a/content/posts/whatsapp-and-the-domestication-of-users.md +++ b/content/posts/whatsapp-and-the-domestication-of-users.md @@ -11,6 +11,7 @@ tags: - user domestication - privacy - platforms +featured: true title: WhatsApp and the domestication of users --- diff --git a/layouts/partials/posts.html b/layouts/partials/posts.html index d68baf8..2f79bf9 100644 --- a/layouts/partials/posts.html +++ b/layouts/partials/posts.html @@ -1,13 +1,17 @@

+{{ $allPosts := false }} {{ if eq .RelPermalink "/posts.html" -}} + {{ $allPosts = true }}

Posts

{{ else -}}

Posts

+

Here's a selection of my best posts. To see the rest, visit my Posts page.

{{ end -}}

I edit some of these posts quite often; some are updated indefinitely. Check the "updated" timestamps.

Timestamp format: YYYY-MM-DD, as per RFC 3339 and ISO 8601

    {{- range where site.RegularPages "Type" "in" site.Params.mainSections }} + {{- if or ($allPosts) (.Params.featured) -}}
  1. @@ -21,5 +25,6 @@

  2. {{- end }} + {{- end }}