diff --git a/content/posts/git-workflow-0.md b/content/posts/git-workflow-0.md index 565e833..19d70e4 100644 --- a/content/posts/git-workflow-0.md +++ b/content/posts/git-workflow-0.md @@ -16,7 +16,7 @@ Following the drama, I'm putting together a multi-part guide on how to leverage I'll update this post as I add articles to the series. At the moment, I've planned to write the following articles: -1. [Hydra Hosting](../../../2020/11/18/git-workflow-1.html): repository hosting. +1. [Hydra Hosting](/2020/11/18/git-workflow-1.html): repository hosting. 2. Community feedback (issues, support, etc.) 3. Community contributions (patches) 4. CI/CD @@ -45,5 +45,5 @@ Q: I'm not interested in trying anything new, no matter what the benefits are. A: First of all, that wasn't a question. Second, this series isn't for you. You should not read this. I recommend doing literally anything else. -Next: Resilient Git, Part 1: [Hydra Hosting](../../../2020/11/18/git-workflow-1.html) +Next: Resilient Git, Part 1: [Hydra Hosting](/2020/11/18/git-workflow-1.html) diff --git a/content/posts/keeping-platforms-open.md b/content/posts/keeping-platforms-open.md index 79c6c3d..ed04dd3 100644 --- a/content/posts/keeping-platforms-open.md +++ b/content/posts/keeping-platforms-open.md @@ -14,7 +14,7 @@ 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. -My previous article, [Whatsapp and the domestication of users](../../../2021/01/27/whatsapp-and-the-domestication-of-users.html), got more attention than I was expecting. Some responses gave me a lot to think about,[^1] especially regarding _actions_ we can take. I suggest reading that article first; it explained what "user domestication" is and why it's a problem. It enumerated three countermeasures: FLOSS, simplicity, and open platforms. +My previous article, [Whatsapp and the domestication of users](/2021/01/27/whatsapp-and-the-domestication-of-users.html), got more attention than I was expecting. Some responses gave me a lot to think about,[^1] especially regarding _actions_ we can take. I suggest reading that article first; it explained what "user domestication" is and why it's a problem. It enumerated three countermeasures: FLOSS, simplicity, and open platforms. Hard problems, by definition, lack easy solutions. Simply choosing (or creating) a platform that avoids user domestication isn't enough if that platform can change. The price of freedom is eternal vigilance; in addition to settling on the right platform, we must ensure that it honors its users in both the present _and the future_. Keeping a platform FLOSS and simple is more straightforward[^2] than keeping a platform "open". diff --git a/content/posts/password-strength.md b/content/posts/password-strength.md index d7e8dcd..19765e5 100644 --- a/content/posts/password-strength.md +++ b/content/posts/password-strength.md @@ -13,7 +13,7 @@ footnote_heading: References and endnotes --- This is a tale of the intersection between thermal physics, cosmology, and a tiny amount of computer science to answer a seemingly innocuous question: "How strong does a password need to be for it to be physically impossible to brute-force, ever?" -[TLDR]({{}}) at the bottom. +[TLDR](#conclusiontldr) at the bottom. _Note: this post contains equations. Since none of the equations were long or complex, I decided to just write them out in code blocks instead of using images or MathML the way Wikipedia does._ @@ -41,7 +41,7 @@ How strong should your password be for it to be safe from a brute-force attack b ### Quantifying password strength. -_A previous version of this section wasn't clear and accurate. I've since removed the offending bits and added a clarification about salting/hashing to the [Caveats and estimates]({{}}) section._ +_A previous version of this section wasn't clear and accurate. I've since removed the offending bits and added a clarification about salting/hashing to the [Caveats and estimates](#caveats-and-estimates) section._ A good measure of password strength is **entropy bits.** The entropy bits in a password is a base-2 logarithm of the number of guesses required to brute-force it.[^1] diff --git a/layouts/_default/_markup/render-link.rss.xml b/layouts/_default/_markup/render-link.rss.xml new file mode 100644 index 0000000..e81c9ea --- /dev/null +++ b/layouts/_default/_markup/render-link.rss.xml @@ -0,0 +1,12 @@ +{{- $parsedDest := urls.Parse (.Destination | absURL) -}} +{{- if (strings.HasPrefix .Destination "#") -}} + {{ .Text | safeHTML }} +{{- else if not (strings.HasPrefix .Destination $parsedDest.Scheme) -}} + {{- $baseURL := trim .Page.Site.BaseURL "/" -}} + {{- $fragment := "" -}} + {{- with $parsedDest.Fragment -}}{{- $fragment = printf "#%s" . -}}{{- end -}} + {{- $href := printf "%s%s%s" $baseURL $parsedDest.Path $fragment | absURL -}} + {{ .Text | safeHTML }} +{{- else -}} + {{ .Text | safeHTML }} +{{- end -}} diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml index 9d89ee4..fa78be5 100644 --- a/layouts/_default/rss.xml +++ b/layouts/_default/rss.xml @@ -24,7 +24,7 @@ {{.}}{{end}}{{ if not .Date.IsZero }} {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} {{ with .OutputFormats.Get "RSS" }} - {{ printf "" .Permalink .MediaType | safeHTML }} + {{ printf "" .Permalink .MediaType | safeHTML }} {{ end }} {{ range where .Site.Pages "Kind" "page" }} {{ if or (eq .Section "posts") (eq .Section "post") }}