mirror of
https://git.sr.ht/~seirdy/seirdy.one
synced 2024-11-10 00:12:09 +00:00
Compare commits
5 commits
6042b0bdaf
...
d3ad0e7382
Author | SHA1 | Date | |
---|---|---|---|
|
d3ad0e7382 | ||
|
16bf64f009 | ||
|
010ada8292 | ||
|
1cbc635525 | ||
|
acfffd3754 |
8 changed files with 36 additions and 28 deletions
|
@ -7,6 +7,7 @@ outputs:
|
||||||
- gemtext
|
- gemtext
|
||||||
description: "Get to know Rohan Kumar, also known as Seirdy. Contact info, my projects, interests, online accounts, etc."
|
description: "Get to know Rohan Kumar, also known as Seirdy. Contact info, my projects, interests, online accounts, etc."
|
||||||
---
|
---
|
||||||
|
<div itemscope="" itemprop="about" itemtype="https://schema.org/Person" itemid="https://seirdy.one/#seirdy" class="h-card vcard">
|
||||||
|
|
||||||
I'm known as Rohan and as Seirdy. There are some differences between these personas, but the line between the two is blurry. It's fine to mix them up.
|
I'm known as Rohan and as Seirdy. There are some differences between these personas, but the line between the two is blurry. It's fine to mix them up.
|
||||||
|
|
||||||
|
@ -58,7 +59,7 @@ Social (Fediverse)
|
||||||
: [@Seirdy<wbr />@lemmy<wbr />.ml](https://lemmy.ml/u/Seirdy "{rel='me'}") (Lemmy)
|
: [@Seirdy<wbr />@lemmy<wbr />.ml](https://lemmy.ml/u/Seirdy "{rel='me'}") (Lemmy)
|
||||||
|
|
||||||
Social (centralized)
|
Social (centralized)
|
||||||
: [apioforum](https://a.gh0.pw/user/Seirdy "{rel='me'}")
|
: [apioforum](https://a.gh0.pw/user/Seirdy "{rel='me'}")
|
||||||
: [Tildes.net](https://tildes.net/user/Seirdy "{rel='me'}")
|
: [Tildes.net](https://tildes.net/user/Seirdy "{rel='me'}")
|
||||||
: "Seirdy" on Linux Weekly News
|
: "Seirdy" on Linux Weekly News
|
||||||
: [Lobsters](https://lobste.rs/u/Seirdy "{rel='me'}")
|
: [Lobsters](https://lobste.rs/u/Seirdy "{rel='me'}")
|
||||||
|
@ -69,14 +70,13 @@ Email
|
||||||
: [seirdy<wbr />@seirdy.one](mailto:seirdy@seirdy.one "{class='u-email' itemprop='email' rel='me'}")
|
: [seirdy<wbr />@seirdy.one](mailto:seirdy@seirdy.one "{class='u-email' itemprop='email' rel='me'}")
|
||||||
|
|
||||||
PGP public key
|
PGP public key
|
||||||
: [`1E892DB2A5F84479`](../publickey.asc "{rel='pgpkey authn' type='application/pgp-keys' class='u-key'}") (also availabel via Web Key Directory)
|
: [`1E892DB2A5F84479`](../publickey.asc "{rel='pgpkey authn' type='application/pgp-keys' class='u-key'}") (also available via Web Key Directory)
|
||||||
|
|
||||||
Chat
|
Chat
|
||||||
: IRC: "Seirdy" on many networks (Liberachat, Snoonet, OFTC, Tilde.Chat, apionet, some others)
|
: IRC: "Seirdy" on many networks (Liberachat, Snoonet, OFTC, Tilde.Chat, apionet, some others)
|
||||||
: Matrix: [@seirdy<wbr />:seirdy.one](matrix:u/seirdy:seirdy.one "class='u-impp u-url' rel='me'")
|
: Matrix: [@seirdy<wbr />:seirdy.one](matrix:u/seirdy:seirdy.one "class='u-impp u-url' rel='me'")
|
||||||
|
|
||||||
At least two platforms listed in the "Social (centralized)" category are not endorsed, and I'm trying to wind down my use of them.
|
At least two platforms listed in the "Social (centralized)" category are not endorsed, and I'm trying to wind down my use of them. If you find a "Seirdy" somewhere else and don't know whether or not it's me, please contact me and ask instead of assuming that it must be me.
|
||||||
If you find a "Seirdy" somewhere else and don't know whether or not it's me, please contact me and ask instead of assuming that it must be me.
|
|
||||||
|
|
||||||
I used to have the Matrix ID `@seirdy:envs.net`. I sometimes use `@seirdy:fairydust.space` for technical reasons (seirdy.one runs a Conduit server but certain features only work in Synapse rooms).
|
I used to have the Matrix ID `@seirdy:envs.net`. I sometimes use `@seirdy:fairydust.space` for technical reasons (seirdy.one runs a Conduit server but certain features only work in Synapse rooms).
|
||||||
|
|
||||||
|
@ -155,5 +155,3 @@ Content on this site also appears on <a rel="alternate" href="gemini://seirdy.on
|
||||||
|
|
||||||
I have a [Tor hidden Web service](http://wgq3bd2kqoybhstp77i3wrzbfnsyd27wt34psaja4grqiezqircorkyd.onion/ "{rel='alternate' class='u-syndication'}") which mirrors this site's contents, except for the fact that it replaces some SVGs with PNGs.
|
I have a [Tor hidden Web service](http://wgq3bd2kqoybhstp77i3wrzbfnsyd27wt34psaja4grqiezqircorkyd.onion/ "{rel='alternate' class='u-syndication'}") which mirrors this site's contents, except for the fact that it replaces some SVGs with PNGs.
|
||||||
|
|
||||||
<div itemscope="" itemtype="https://schema.org/Person" itemid="https://seirdy.one/#seirdy" class="h-card vcard">
|
|
||||||
|
|
||||||
|
|
|
@ -12,3 +12,5 @@ The only engines I know of that run JavaScript are Google, Bing, and maybe Petal
|
||||||
It's common practice for sites to give a JavaScript-lite version to search engines, though if the content differs heavily you run the risk of hitting a manual action. I'd imagine that search-crawler-exclusive editions would become the norm if crawlers stopped handling JavaScript.
|
It's common practice for sites to give a JavaScript-lite version to search engines, though if the content differs heavily you run the risk of hitting a manual action. I'd imagine that search-crawler-exclusive editions would become the norm if crawlers stopped handling JavaScript.
|
||||||
|
|
||||||
Marginalia actually seems to penalize its use.
|
Marginalia actually seems to penalize its use.
|
||||||
|
|
||||||
|
<p><ins>Update: Yep (formerly FairSearch) also seems to evaluate JavaScript</ins></p>
|
||||||
|
|
|
@ -10,7 +10,7 @@ replyAuthorURI: "https://www.librepunk.club/@penryn"
|
||||||
|
|
||||||
I was referring to crawlers that build indexes for search engines to use. DuckDuckGo does have a crawler---DuckDuckBot---but it's only used for fetching favicons and scraping certain sites for infoboxes ("instant answers", the fancy widgets next to/above the classic link results).
|
I was referring to crawlers that build indexes for search engines to use. DuckDuckGo does have a crawler---DuckDuckBot---but it's only used for fetching favicons and scraping certain sites for infoboxes ("instant answers", the fancy widgets next to/above the classic link results).
|
||||||
|
|
||||||
DuckDuckGo and other engines that use Bing's commercial API have contractual arrangements that typically include a clause that says something like "don't you dare change our results, we don't want to create a competitor to Bing that has better results than us)". Very few companies manage to negotiate an exception; DuckDuckGo is not one of those companies, to my knowledge.
|
DuckDuckGo and other engines that use Bing's commercial API have contractual arrangements that typically include a clause that says something like "don't you dare change our results, we don't want to create a competitor to Bing that has better results than us". Very few companies manage to negotiate an exception; DuckDuckGo is not one of those companies, to my knowledge.
|
||||||
|
|
||||||
So to answer your question: it's irrelevant. "html.duckduckgo.com" is a JS-free front-end to DuckDuckGo's backend, and mostly serves as a proxy to Bing results.
|
So to answer your question: it's irrelevant. "html.duckduckgo.com" is a JS-free front-end to DuckDuckGo's backend, and mostly serves as a proxy to Bing results.
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ Pale Moon's inception pre-dates Firefox 57 by many years; before its notoriety f
|
||||||
|
|
||||||
I hate that Pale Moon is so behind on security because it also has nice stuff that Mozilla axed. Some things were axed for good reason, like extensions with the ability to alter browser functionality. Others were axed without good reason, like built-in RSS/Atom support.
|
I hate that Pale Moon is so behind on security because it also has nice stuff that Mozilla axed. Some things were axed for good reason, like extensions with the ability to alter browser functionality. Others were axed without good reason, like built-in RSS/Atom support.
|
||||||
|
|
||||||
WebExtensions that fill in missing functionality often require content injection which is problematic for a variety of reasons. To name a few: try visiting a page that has a <samp>sandbox</samp> CSP directive without <samp>allow-same-origin</samp> or <samp>allow-scripts</samp> and see how well it works, saving a page and noticing it has extra scripts or iframes, or seeing addon scripts activate too late when your underpowered machine is under load). It's better than giving them access to browser functionality but nothing beats having features in the actual browser.
|
WebExtensions that fill in missing functionality often require content injection which is problematic for a variety of reasons. To name a few: try visiting a page that has a <samp>sandbox</samp> CSP directive without <samp>allow-same-origin</samp> or <samp>allow-scripts</samp> and see how well it works, saving a page and noticing it has extra scripts or iframes, or seeing addon scripts activate too late when your underpowered machine is under load. It's better than giving them access to browser functionality but nothing beats having features in the actual browser.
|
||||||
|
|
||||||
I still wouldn't recommend it due to extremely weak sandboxing and a naive approach to security. The devs respond to sandboxing queries by saying it's secure because "it separates the content and application" which tells you how little they care or understand; untrusted content needs isolation not just from the browser but from other untrusted content. Given the scope of a browser, even Firefox isn't where it should be (even given their commendable progress on Fission, RLBox, and their utility process overhaul), let alone caught up to the mitigations in Chromium's Blink or WebKit's JavaScriptCore but I digress.
|
I still wouldn't recommend it due to extremely weak sandboxing and a naive approach to security. The devs respond to sandboxing queries by saying it's secure because "it separates the content and application" which tells you how little they care or understand; untrusted content needs isolation not just from the browser but from other untrusted content. Given the scope of a browser, even Firefox isn't where it should be (even given their commendable progress on Fission, RLBox, and their utility process overhaul), let alone caught up to the mitigations in Chromium's Blink or WebKit's JavaScriptCore but I digress.
|
||||||
|
|
||||||
|
|
|
@ -4,24 +4,26 @@
|
||||||
<ol>
|
<ol>
|
||||||
{{- range .Results }}
|
{{- range .Results }}
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ .URL }}">
|
<h2>
|
||||||
<h2>
|
<a href="{{ .URL }}">
|
||||||
{{ if .Title -}}
|
{{ if .Title -}}
|
||||||
{{- .Title }}
|
{{- .Title }}
|
||||||
{{ else -}}
|
{{ else -}}
|
||||||
{{- .URL }}
|
{{- .URL }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
</h2>
|
</a>
|
||||||
</a>
|
</h2>
|
||||||
<p>{{ printf "%.200s" .Desc }}</p>
|
<p>{{ printf "%.200s" .Desc }}</p>
|
||||||
<p>
|
<p>
|
||||||
{{ $isMatch := false }}
|
<q cite="{{ .URL }}">
|
||||||
{{ range .Frag }}
|
{{- $isMatch := false -}}
|
||||||
{{ if $isMatch }}<strong>{{ end -}}
|
{{- range .Frag -}}
|
||||||
{{ printf . }}
|
{{- if $isMatch }}<strong>{{ end -}}
|
||||||
{{- if $isMatch }}</strong>{{ end }}
|
{{- printf . -}}
|
||||||
{{ $isMatch = (not $isMatch) }}
|
{{- if $isMatch }}</strong>{{ end -}}
|
||||||
{{ end }}
|
{{- $isMatch = (not $isMatch) -}}
|
||||||
|
{{- end -}}
|
||||||
|
</q>
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<main itemprop="mainEntity" class="h-feed hfeed" itemscope="" itemtype="https://schema.org/DataFeed">
|
<main itemprop="mainEntity" class="h-feed hfeed" itemscope="" itemtype="https://schema.org/DataFeed">
|
||||||
<h1 class="p-name" itemprop="name headline" id="notes">Notes</h1>
|
<h1 class="p-name" itemprop="name headline" id="notes">Notes</h1>
|
||||||
<p>This is my microblog. These are my short informal entries, sorted by date (newest first). For longer entries, <a href="../posts/">see my blog</a>.</p>
|
<p>This is my microblog. These are my short informal entries, sorted by date (newest first). For longer entries, <a href="../posts/">see my blog</a>.</p>
|
||||||
<p>An <a href="./atom.xml">Atom</a> feed is availabe, containing the full text of all my notes. A legacy <a href="./index.xml">RSS</a> feed also exists.</p>
|
<p>An <a href="./atom.xml">Atom</a> feed is available, containing the full text of all my notes. A legacy <a href="./index.xml">RSS</a> feed also exists.</p>
|
||||||
<p role="doc-tip">
|
<p role="doc-tip">
|
||||||
Timestamp format: <code>YYYY-MM-DD HH:MM:SS</code>, as per <cite><a href="https://www.ietf.org/rfc/rfc3339.txt">RFC 3339</a></cite>
|
Timestamp format: <code>YYYY-MM-DD HH:MM:SS</code>, as per <cite><a href="https://www.ietf.org/rfc/rfc3339.txt">RFC 3339</a></cite>
|
||||||
</p>
|
</p>
|
||||||
|
@ -17,10 +17,12 @@
|
||||||
{{ .Title }}
|
{{ .Title }}
|
||||||
</a>
|
</a>
|
||||||
</h2>
|
</h2>
|
||||||
Noted <time itemprop="datePublished" class="dt-published published" datetime="{{ .Date.Format "2006-01-02 15:04:05Z07:00" }}">{{ .Date.Format "2006-01-02 15:04:05" }}</time>
|
<p>
|
||||||
{{- if gt (sub .Lastmod.Unix .Date.Unix) 3600 -}}
|
Noted <time itemprop="datePublished" class="dt-published published" datetime="{{ .Date.Format "2006-01-02 15:04:05Z07:00" }}">{{ .Date.Format "2006-01-02 15:04:05" }}</time>
|
||||||
, updated <time{{ if not (.Params.evergreen) }} itemprop="dateModified" class="dt-updated updated"{{ end }} datetime="{{ .Lastmod.Format "2006-01-02 15:04:05Z07:00" }}">{{ .Lastmod.Format "2006-01-02 15:04:05" }}</time>
|
{{- if gt (sub .Lastmod.Unix .Date.Unix) 3600 -}}
|
||||||
|
, updated <time{{ if not (.Params.evergreen) }} itemprop="dateModified" class="dt-updated updated"{{ end }} datetime="{{ .Lastmod.Format "2006-01-02 15:04:05Z07:00" }}">{{ .Lastmod.Format "2006-01-02 15:04:05" }}</time>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
</p>
|
||||||
<div class="e-content entry-content" itemprop="articleBody">
|
<div class="e-content entry-content" itemprop="articleBody">
|
||||||
{{- if .Params.replyURI -}}
|
{{- if .Params.replyURI -}}
|
||||||
{{- partial "reply-context" .Params -}}
|
{{- partial "reply-context" .Params -}}
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<main itemprop="mainEntity" class="h-feed hfeed" itemscope="" itemtype="https://schema.org/CompleteDataFeed">
|
<main itemprop="mainEntity" class="h-feed hfeed" itemscope="" itemtype="https://schema.org/CompleteDataFeed">
|
||||||
<h1 class="p-name" itemprop="name headline" id="posts">Posts</h1>
|
<h1 class="p-name" itemprop="name headline" id="posts">Posts</h1>
|
||||||
<p>These are all of my posts, sorted by date (newest first).</p>
|
<p>These are all of my posts, sorted by date (newest first).</p>
|
||||||
<p>An <a href="./atom.xml">Atom</a> feed is availabe, containing the full text of all my posts. A legacy <a href="./index.xml">RSS</a> feed also exists.</p>
|
<p>An <a href="./atom.xml">Atom</a> feed is available, containing the full text of all my posts. A legacy <a href="./index.xml">RSS</a> feed also exists.</p>
|
||||||
{{- else -}}
|
{{- else -}}
|
||||||
<section class="h-feed hfeed" itemprop="hasPart" itemscope="" itemtype="https://schema.org/DataFeed">
|
<section class="h-feed hfeed" itemprop="hasPart" itemscope="" itemtype="https://schema.org/DataFeed">
|
||||||
<h2 class="p-name" itemprop="name" id="posts">Posts</h2>
|
<h2 class="p-name" itemprop="name" id="posts">Posts</h2>
|
||||||
|
@ -39,10 +39,12 @@
|
||||||
{{- else -}}
|
{{- else -}}
|
||||||
</h3>
|
</h3>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
Posted <time itemprop="datePublished" class="dt-published published" datetime="{{ .Date.Format "2006-01-02 15:04:05Z07:00" }}">{{ .Date.Format "2006-01-02" }}</time>
|
<p>
|
||||||
{{- if lt .Date .Lastmod -}}
|
Posted <time itemprop="datePublished" class="dt-published published" datetime="{{ .Date.Format "2006-01-02 15:04:05Z07:00" }}">{{ .Date.Format "2006-01-02" }}</time>
|
||||||
, updated <time{{ if not (.Params.evergreen) }} itemprop="dateModified" class="dt-updated updated"{{ end }} datetime="{{ .Lastmod.Format "2006-01-02 15:04:05Z07:00" }}">{{ .Lastmod.Format "2006-01-02" }}</time>
|
{{- if lt .Date .Lastmod -}}
|
||||||
{{- end }}
|
, updated <time{{ if not (.Params.evergreen) }} itemprop="dateModified" class="dt-updated updated"{{ end }} datetime="{{ .Lastmod.Format "2006-01-02 15:04:05Z07:00" }}">{{ .Lastmod.Format "2006-01-02" }}</time>
|
||||||
|
{{- end }}
|
||||||
|
</p>
|
||||||
|
|
||||||
<p class="p-summary entry-summary" itemprop="description">{{ .Description }}</p>
|
<p class="p-summary entry-summary" itemprop="description">{{ .Description }}</p>
|
||||||
<p>{{- partial "wordcount.html" . -}}</p>
|
<p>{{- partial "wordcount.html" . -}}</p>
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
(.message == "Text not allowed in element “ol” in this context.")
|
(.message == "Text not allowed in element “ol” in this context.")
|
||||||
or
|
or
|
||||||
(.message == "Bad value “{{ .URL }}” for attribute “href” on element “a”: Illegal character in path segment: “{” is not allowed.")
|
(.message == "Bad value “{{ .URL }}” for attribute “href” on element “a”: Illegal character in path segment: “{” is not allowed.")
|
||||||
|
or
|
||||||
|
(.message == "Bad value “{{ .URL }}” for attribute “cite” on element “q”: Illegal character in path segment: “{” is not allowed.")
|
||||||
)
|
)
|
||||||
and (
|
and (
|
||||||
(.extract | test("{{"))
|
(.extract | test("{{"))
|
||||||
|
|
Loading…
Reference in a new issue