Update
This commit is contained in:
parent
3fac90bff5
commit
93c711ef6c
38 changed files with 240 additions and 72 deletions
content
_index.md
blog
I-love-emacs.mdLLM-Note.md_index.mda-kind-view-of-business.mda-new-look.mdavoidance-in-business.mdbrain-lube-2.mdbrain-lube-3.mdbrain-lube.mdcall-it-a-day.mddemocracy.mdefficiency-typing.mdelisp-neat-tree.mdfoss-subscription-model.mdgames-yakuza.mdhaxe-vscode.mdhugo-setup-improvements.mdlists-self-promotion.mdloops-video-terms.mdmastering-emacs.mdmisskey-resetting-admin-password.mdmoving-to-hugo.mdmy-favorite-factorio-mods.mdnew-keyboard-layout-colemak-dh.mdon-llms.mdon-problems.mdovercoming-rsi.mdrealistic-deadlines.mdsaas-business-foss.mdshared-hosting-scam.mdshiny-objects-and-learning.mdvps-is-my-new-friend.mdvps-setup.mdwisdom-from-a-satyr.mdwords-in-a-moment-of-peace.mdzucc-may-be-lying.md
contact
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Home"
|
||||
layout = "index"
|
||||
lastmod = 2025-04-04T13:28:41+02:00
|
||||
lastmod = 2025-04-21T13:51:26+02:00
|
||||
draft = false
|
||||
[menu]
|
||||
[menu.nav]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "I really, really like Emacs"
|
||||
publishDate = 2022-10-01T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["orgmode"]
|
||||
categories = ["emacs", "tech"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3011
|
||||
weight = 3012
|
||||
identifier = "i-really-really-like-emacs"
|
||||
+++
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Note about LLM's and training data"
|
||||
publishDate = 2023-03-09T00:00:00+01:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["copyright", "thieves"]
|
||||
categories = ["llm", "tech"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3006
|
||||
weight = 3007
|
||||
identifier = "note-about-llm-s-and-training-data"
|
||||
+++
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
+++
|
||||
title = "Blog"
|
||||
lastmod = 2025-04-04T13:28:43+02:00
|
||||
lastmod = 2025-04-21T13:51:29+02:00
|
||||
draft = false
|
||||
meta = true
|
||||
type = "list"
|
||||
|
@ -16,6 +16,95 @@ type = "list"
|
|||
## Tech <span class="tag"><span class="_tech">@tech</span></span> {#tech}
|
||||
|
||||
|
||||
### Neat trees from org-ql to org-mode <span class="tag"><span class="_emacs">@emacs</span><span class="orgmode">orgmode</span><span class="elisp">elisp</span></span> {#elisp-neat-tree}
|
||||
|
||||
Over the past few weeks I've been working on a rather large inventory of items stored and held in org-mode.
|
||||
|
||||
For the purposes of this example, let's use the current buffer, `bajsicki.com.org`
|
||||
|
||||
I started using org-ql to grab the data I need, in the form of:
|
||||
|
||||
```elisp
|
||||
(let ((org-ql-cache (make-hash-table)))
|
||||
(org-ql-select "bajsicki.com.org"
|
||||
'(tags-local "@emacs")
|
||||
:action (lambda () (org-get-outline-path t))))
|
||||
```
|
||||
|
||||
So, this is neat. But notice how it's a list of lists, and there's a lot of repetition.
|
||||
|
||||
Suppose you wanted to see this in a more pleasant form, maybe even one that you can interact with in org-mode directly.
|
||||
|
||||
To that end, I ended up writing two functions.
|
||||
|
||||
1. Turn the list of lists we get from org-ql into a tree.
|
||||
|
||||
<!--listend-->
|
||||
|
||||
```elisp
|
||||
(defun phil/make-tree-from-nested-lists (lists)
|
||||
(if (not lists) ;; been an issue, isn't any more
|
||||
nil
|
||||
(let ((grouped-lists
|
||||
(seq-group-by #'car
|
||||
(cl-remove-if nil lists))))
|
||||
;;would occasionally return (nil nil) conses, so we filter them out
|
||||
(mapcar (lambda (group)
|
||||
(let ((key (car group))
|
||||
(sublists (mapcar #'cdr (cdr group))))
|
||||
(cons key (if (not (every #'null sublists))
|
||||
(phil/make-tree-from-nested-lists sublists)
|
||||
sublists))))
|
||||
grouped-lists))))
|
||||
```
|
||||
|
||||
1. Format and output that tree into org-mode.
|
||||
|
||||
<!--listend-->
|
||||
|
||||
```elisp
|
||||
(defun phil/org-list-from-tree (tree &optional indent)
|
||||
(let ((indent (or indent "")))
|
||||
(mapconcat (lambda (item) ;; actual org-mode indentation on output? In MY Emacs?
|
||||
(unless (eq item (cons nil nil))
|
||||
(when (consp item)
|
||||
(format "%s- %s\n%s" indent (car item)
|
||||
(phil/org-list-from-tree (cdr item) (concat indent " ")))
|
||||
(format "%s- %s\n" indent item))))
|
||||
tree "")))
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```elisp
|
||||
(let ((tree (phil/make-tree-from-nested-lists
|
||||
(let ((org-ql-cache (make-hash-table)))
|
||||
(org-ql-select (get-buffer "bajsicki.com.org") ;;the file I write my blog in
|
||||
'(and (tags-local "@emacs"))
|
||||
:action (lambda ()
|
||||
(-snoc ;;this gets the tag list as well, on top of the heading text itself
|
||||
(org-get-outline-path)
|
||||
(replace-regexp-in-string
|
||||
"^*+\s" "" ;; remove initial asterisks, since we're already indenting
|
||||
(buffer-substring-no-properties
|
||||
(line-beginning-position)
|
||||
(line-end-position))))))))))
|
||||
|
||||
(phil/org-list-from-tree tree))
|
||||
```
|
||||
|
||||
Pretty neat.
|
||||
|
||||
Now, this isn't ideal or even close to good. Here's known issues:
|
||||
|
||||
1. It's jank. I'm sure there's a cleaner way of doing this.
|
||||
2. It gets tags. If you don't want them, replace the entire `dash.el` `-snoc` form with just `(org-get-outline-path t)`.
|
||||
3. Sometimes `nil` would slip in, and so I'm just removing all nils to start with. This may cause unintended issues.
|
||||
4. This hasn't been extensively tested, and I only tested it with the `tags-local` org-ql predicate.
|
||||
|
||||
So yeah. There. I may end up wrapping these in a function of some sort, but for the time being this is entirely sufficient for my purposes. We'll see.
|
||||
|
||||
|
||||
### On LLMs <span class="tag"><span class="_llm">@llm</span><span class="_tech">@tech</span><span class="_mind">@mind</span><span class="ethics">ethics</span><span class="communication">communication</span><span class="avoidance">avoidance</span><span class="work">work</span></span> {#on-llms}
|
||||
|
||||
This topic [came up on Fedi](https://infosec.exchange/@david_chisnall/114278564411985648), and I thought it would be interesting to bring it up here to avoid my thinking getting lost in the sea.
|
||||
|
@ -304,8 +393,6 @@ So here's my request:
|
|||
|
||||
Anyway. What a freaking mess.
|
||||
|
||||
<span class="underline">[Join the FSF.](https://my.fsf.org/join)</span>
|
||||
|
||||
|
||||
### On Mark Zuckerberg's recent claims <span class="tag"><span class="copyright">copyright</span><span class="_llm">@llm</span><span class="zuckerberg">zuckerberg</span></span> {#zucc-may-be-lying}
|
||||
|
||||
|
@ -1472,8 +1559,6 @@ a drive to learn and understand the world around us.
|
|||
|
||||
There. Rant over.
|
||||
|
||||
<span class="underline">[Join the FSF.](https://my.fsf.org/join)</span>
|
||||
|
||||
|
||||
### A kind view of business <span class="tag"><span class="mindset">mindset</span><span class="rant">rant</span><span class="_business">@business</span></span> {#a-kind-view-of-business}
|
||||
|
||||
|
@ -1740,8 +1825,6 @@ In any case. I hope this has been helpful.
|
|||
|
||||
Thanks!
|
||||
|
||||
<span class="underline">[Join the FSF.](https://my.fsf.org/join)</span>
|
||||
|
||||
|
||||
### [Happy Holidays!] On posting lists for self-promotion <span class="tag"><span class="badmarketing">badmarketing</span><span class="linkedin">linkedin</span><span class="_business">@business</span></span> {#lists-self-promotion}
|
||||
|
||||
|
@ -2657,8 +2740,6 @@ For most, this is likely to be entirely overkill. The purpose of the vast majori
|
|||
|
||||
In any case! I may revisit this list in the future if I find something worth noting.
|
||||
|
||||
<span class="underline">[Join the FSF.](https://my.fsf.org/join)</span>
|
||||
|
||||
|
||||
### Heaps of fun (Yakuza) <span class="tag"><span class="yakuza">yakuza</span><span class="review">review</span><span class="_videogames">@videogames</span></span> {#games-yakuza}
|
||||
|
||||
|
@ -2683,5 +2764,3 @@ My only criticism is that at no point (well, we see this at ONE point at the beg
|
|||
Otherwise, I have nothing but good things to say about these games. The only other games I can say this about are _Metal Gear Solid 3: Snake Eater_, _Splinter Cell: Chaos Theory_, and _Deus Ex: Mankind Divided_. Off the top of my head, at least.
|
||||
|
||||
_Yakuza Kiwami 2_ is by far the best of the PC titles - the developers paid attention and introduced a number of quality of life changes that truly make it a joy to play.
|
||||
|
||||
[Join the FSF.](https://my.fsf.org/join)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "A kind view of business"
|
||||
publishDate = 2024-01-25T00:00:00+01:00
|
||||
lastmod = 2025-04-04T13:28:43+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
tags = ["mindset", "rant"]
|
||||
categories = ["business"]
|
||||
draft = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "A new look: ox-tufte"
|
||||
publishDate = 2023-10-23T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["orgmode", "web", "css", "tufte"]
|
||||
categories = ["emacs", "tech"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3012
|
||||
weight = 3013
|
||||
identifier = "a-new-look-ox-tufte"
|
||||
+++
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "On Avoidance in Business"
|
||||
publishDate = 2023-05-04T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:43+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
tags = ["psychology", "riskmanagement", "avoidance", "fear"]
|
||||
categories = ["business"]
|
||||
draft = false
|
||||
|
@ -104,5 +104,3 @@ It's an excellent way to start your day, or to take a break between tasks to rec
|
|||
In any case. I hope this has been helpful.
|
||||
|
||||
Thanks!
|
||||
|
||||
<span class="underline">[Join the FSF.](https://my.fsf.org/join)</span>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Trying out some brain supplements, pt. 2"
|
||||
publishDate = 2022-11-20T00:00:00+01:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
tags = ["supplements", "nootropics"]
|
||||
categories = ["mind"]
|
||||
draft = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Brain supplements: A two month summary"
|
||||
publishDate = 2023-01-06T00:00:00+01:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
tags = ["supplements", "nootropics"]
|
||||
categories = ["mind"]
|
||||
draft = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Trying out some brain supplements"
|
||||
publishDate = 2022-11-18T00:00:00+01:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
tags = ["supplements", "nootropics"]
|
||||
categories = ["mind"]
|
||||
draft = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "On the value of calling it a day (and how to get there)"
|
||||
publishDate = 2022-09-30T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:43+02:00
|
||||
lastmod = 2025-04-21T13:51:29+02:00
|
||||
tags = ["psychology", "work", "projectmanagement"]
|
||||
categories = ["business"]
|
||||
draft = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Democracy"
|
||||
publishDate = 2024-12-07T00:00:00+01:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
draft = false
|
||||
meta = true
|
||||
type = "list"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Efficient computer use"
|
||||
publishDate = 2022-11-12T00:00:00+01:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["ergonomics", "keyboards", "typing", "speed", "efficency"]
|
||||
categories = ["tech"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3010
|
||||
weight = 3011
|
||||
identifier = "efficient-computer-use"
|
||||
+++
|
||||
|
||||
|
|
99
content/blog/elisp-neat-tree.md
Normal file
99
content/blog/elisp-neat-tree.md
Normal file
|
@ -0,0 +1,99 @@
|
|||
+++
|
||||
title = "Neat trees from org-ql to org-mode"
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["orgmode", "elisp"]
|
||||
categories = ["tech", "emacs"]
|
||||
draft = false
|
||||
meta = true
|
||||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3001
|
||||
identifier = "neat-trees-from-org-ql-to-org-mode"
|
||||
+++
|
||||
|
||||
Over the past few weeks I've been working on a rather large inventory of items stored and held in org-mode.
|
||||
|
||||
For the purposes of this example, let's use the current buffer, `bajsicki.com.org`
|
||||
|
||||
I started using org-ql to grab the data I need, in the form of:
|
||||
|
||||
```elisp
|
||||
(let ((org-ql-cache (make-hash-table)))
|
||||
(org-ql-select "bajsicki.com.org"
|
||||
'(tags-local "@emacs")
|
||||
:action (lambda () (org-get-outline-path t))))
|
||||
```
|
||||
|
||||
So, this is neat. But notice how it's a list of lists, and there's a lot of repetition.
|
||||
|
||||
Suppose you wanted to see this in a more pleasant form, maybe even one that you can interact with in org-mode directly.
|
||||
|
||||
To that end, I ended up writing two functions.
|
||||
|
||||
1. Turn the list of lists we get from org-ql into a tree.
|
||||
|
||||
<!--listend-->
|
||||
|
||||
```elisp
|
||||
(defun phil/make-tree-from-nested-lists (lists)
|
||||
(if (not lists) ;; been an issue, isn't any more
|
||||
nil
|
||||
(let ((grouped-lists
|
||||
(seq-group-by #'car
|
||||
(cl-remove-if nil lists))))
|
||||
;;would occasionally return (nil nil) conses, so we filter them out
|
||||
(mapcar (lambda (group)
|
||||
(let ((key (car group))
|
||||
(sublists (mapcar #'cdr (cdr group))))
|
||||
(cons key (if (not (every #'null sublists))
|
||||
(phil/make-tree-from-nested-lists sublists)
|
||||
sublists))))
|
||||
grouped-lists))))
|
||||
```
|
||||
|
||||
1. Format and output that tree into org-mode.
|
||||
|
||||
<!--listend-->
|
||||
|
||||
```elisp
|
||||
(defun phil/org-list-from-tree (tree &optional indent)
|
||||
(let ((indent (or indent "")))
|
||||
(mapconcat (lambda (item) ;; actual org-mode indentation on output? In MY Emacs?
|
||||
(unless (eq item (cons nil nil))
|
||||
(when (consp item)
|
||||
(format "%s- %s\n%s" indent (car item)
|
||||
(phil/org-list-from-tree (cdr item) (concat indent " ")))
|
||||
(format "%s- %s\n" indent item))))
|
||||
tree "")))
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```elisp
|
||||
(let ((tree (phil/make-tree-from-nested-lists
|
||||
(let ((org-ql-cache (make-hash-table)))
|
||||
(org-ql-select (get-buffer "bajsicki.com.org") ;;the file I write my blog in
|
||||
'(and (tags-local "@emacs"))
|
||||
:action (lambda ()
|
||||
(-snoc ;;this gets the tag list as well, on top of the heading text itself
|
||||
(org-get-outline-path)
|
||||
(replace-regexp-in-string
|
||||
"^*+\s" "" ;; remove initial asterisks, since we're already indenting
|
||||
(buffer-substring-no-properties
|
||||
(line-beginning-position)
|
||||
(line-end-position))))))))))
|
||||
|
||||
(phil/org-list-from-tree tree))
|
||||
```
|
||||
|
||||
Pretty neat.
|
||||
|
||||
Now, this isn't ideal or even close to good. Here's known issues:
|
||||
|
||||
1. It's jank. I'm sure there's a cleaner way of doing this.
|
||||
2. It gets tags. If you don't want them, replace the entire `dash.el` `-snoc` form with just `(org-get-outline-path t)`.
|
||||
3. Sometimes `nil` would slip in, and so I'm just removing all nils to start with. This may cause unintended issues.
|
||||
4. This hasn't been extensively tested, and I only tested it with the `tags-local` org-ql predicate.
|
||||
|
||||
So yeah. There. I may end up wrapping these in a function of some sort, but for the time being this is entirely sufficient for my purposes. We'll see.
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Considerations on FOSS and subscription models"
|
||||
publishDate = 2022-10-02T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["business", "foss", "vendorlock", "proprietary", "saas", "scam"]
|
||||
categories = ["tech"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3009
|
||||
weight = 3010
|
||||
identifier = "considerations-on-foss-and-subscription-models"
|
||||
+++
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Heaps of fun (Yakuza)"
|
||||
publishDate = 2022-10-17T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:48+02:00
|
||||
lastmod = 2025-04-21T13:51:34+02:00
|
||||
tags = ["yakuza", "review"]
|
||||
categories = ["videogames"]
|
||||
draft = false
|
||||
|
@ -34,5 +34,3 @@ My only criticism is that at no point (well, we see this at ONE point at the beg
|
|||
Otherwise, I have nothing but good things to say about these games. The only other games I can say this about are _Metal Gear Solid 3: Snake Eater_, _Splinter Cell: Chaos Theory_, and _Deus Ex: Mankind Divided_. Off the top of my head, at least.
|
||||
|
||||
_Yakuza Kiwami 2_ is by far the best of the PC titles - the developers paid attention and introduced a number of quality of life changes that truly make it a joy to play.
|
||||
|
||||
[Join the FSF.](https://my.fsf.org/join)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Haxe, heaps, and VSCode (small rant)"
|
||||
publishDate = 2022-10-10T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["proprietary", "vscode", "vendorlock"]
|
||||
categories = ["software", "tech"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3007
|
||||
weight = 3008
|
||||
identifier = "haxe-heaps-and-vscode-small-rant"
|
||||
+++
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Some improvements for my ox-hugo set-up"
|
||||
publishDate = 2024-11-18T19:37:00+01:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["hugo", "web", "orgmode"]
|
||||
categories = ["tech", "emacs"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3015
|
||||
weight = 3016
|
||||
identifier = "some-improvements-for-my-ox-hugo-set-up"
|
||||
+++
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "[Happy Holidays!] On posting lists for self-promotion"
|
||||
publishDate = 2022-12-25T00:00:00+01:00
|
||||
lastmod = 2025-04-04T13:28:43+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
tags = ["badmarketing", "linkedin"]
|
||||
categories = ["business"]
|
||||
draft = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "loops.video"
|
||||
publishDate = 2025-01-17T00:00:00+01:00
|
||||
lastmod = 2025-04-04T13:28:41+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["loopsvideo", "tos"]
|
||||
categories = ["legal", "tech"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3002
|
||||
weight = 3003
|
||||
identifier = "loops-dot-video"
|
||||
+++
|
||||
|
||||
|
@ -244,5 +244,3 @@ So here's my request:
|
|||
- If you're @dansup, get your stuff together. Your [personal page](https://dansup.com/) says that PixelFed is ethical. Why can't loops.video be? User consent and letting users own their person, data and media is such a fundamental, easy thing to address, yet everything in your ToS screams 'give me more data to exploit at no cost.' FFS.
|
||||
|
||||
Anyway. What a freaking mess.
|
||||
|
||||
<span class="underline">[Join the FSF.](https://my.fsf.org/join)</span>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Weekend thoughts - Mastering Emacs by Mickey Petersen"
|
||||
publishDate = 2022-10-08T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:43+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
tags = ["emacs", "review"]
|
||||
categories = ["books"]
|
||||
draft = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "MissKey: Resetting Admin Password"
|
||||
publishDate = 2023-08-11T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["misskey", "admin", "postgres"]
|
||||
categories = ["tech"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3004
|
||||
weight = 3005
|
||||
identifier = "misskey-resetting-admin-password"
|
||||
+++
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Moving to Hugo"
|
||||
publishDate = 2024-09-28T00:54:00+02:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["hugo", "web", "orgmode", "css", "tufte"]
|
||||
categories = ["tech", "emacs"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3014
|
||||
weight = 3015
|
||||
identifier = "moving-to-hugo"
|
||||
+++
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "My favorite Factorio mods"
|
||||
publishDate = 2023-07-24T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:48+02:00
|
||||
lastmod = 2025-04-21T13:51:34+02:00
|
||||
tags = ["factorio", "mods"]
|
||||
categories = ["videogames"]
|
||||
draft = false
|
||||
|
@ -614,5 +614,3 @@ This is a more-or-less complete list of mods that I regularly play Factorio with
|
|||
For most, this is likely to be entirely overkill. The purpose of the vast majority of these mods is to save time and help me focus more on design and process, instead of spending vast amounts of time placing individual inserters, or waiting for sufficient belts to be produced.
|
||||
|
||||
In any case! I may revisit this list in the future if I find something worth noting.
|
||||
|
||||
<span class="underline">[Join the FSF.](https://my.fsf.org/join)</span>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Learning a new keyboard layout"
|
||||
publishDate = 2022-08-18T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
tags = ["ergonomics", "keyboard", "colemak", "typing"]
|
||||
categories = ["body"]
|
||||
draft = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "On LLMs"
|
||||
publishDate = 2025-04-04T13:21:00+02:00
|
||||
lastmod = 2025-04-04T13:28:41+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["ethics", "communication", "avoidance", "work"]
|
||||
categories = ["llm", "tech", "mind"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3001
|
||||
weight = 3002
|
||||
identifier = "on-llms"
|
||||
+++
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "On Problems"
|
||||
publishDate = 2022-11-21T00:00:00+01:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
tags = ["psychology", "problems"]
|
||||
categories = ["mind"]
|
||||
draft = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Overcoming typing-related RSI"
|
||||
publishDate = 2022-09-22T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
tags = ["ergonomics", "keyboard", "typing", "rsi", "health"]
|
||||
categories = ["body"]
|
||||
draft = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Realistic deadlines"
|
||||
publishDate = 2022-09-30T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:43+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
tags = ["projectmanagement", "work"]
|
||||
categories = ["business"]
|
||||
draft = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Some thoughts on SaaS and business applications of Free Software"
|
||||
publishDate = 2022-09-28T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:43+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
tags = ["saas", "scam", "vendorlock", "interoperability"]
|
||||
categories = ["business"]
|
||||
draft = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Shared hosting is a scam"
|
||||
publishDate = 2023-03-29T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["sharedhosting", "saas", "scam"]
|
||||
categories = ["tech"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3005
|
||||
weight = 3006
|
||||
identifier = "shared-hosting-is-a-scam"
|
||||
+++
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Shiny objects, and learning"
|
||||
publishDate = 2024-04-24T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:43+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
tags = ["mindset", "attitude", "rant"]
|
||||
categories = ["business"]
|
||||
draft = false
|
||||
|
@ -91,5 +91,3 @@ I personally don't believe so. The only cure to ignorance is self-awareness, and
|
|||
a drive to learn and understand the world around us.
|
||||
|
||||
There. Rant over.
|
||||
|
||||
<span class="underline">[Join the FSF.](https://my.fsf.org/join)</span>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "VPS is my new friend"
|
||||
publishDate = 2022-10-07T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["vps", "sysadmin", "servers", "ssh", "sshfs", "foss", "vendorlock"]
|
||||
categories = ["tech"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3008
|
||||
weight = 3009
|
||||
identifier = "vps-is-my-new-friend"
|
||||
+++
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "VPS set-up"
|
||||
publishDate = 2022-08-18T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["vps", "sysadmin", "servers"]
|
||||
categories = ["tech"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3013
|
||||
weight = 3014
|
||||
identifier = "vps-set-up"
|
||||
+++
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Wisdom from a Satyr"
|
||||
publishDate = 2023-03-30T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:28+02:00
|
||||
tags = ["ethics", "suffering", "buddhism"]
|
||||
categories = ["wisdom", "mind"]
|
||||
draft = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Some words in a moment of peace"
|
||||
publishDate = 2023-04-04T00:00:00+02:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["language", "words", "meaning", "clarity", "communication"]
|
||||
categories = ["mind"]
|
||||
draft = false
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "On Mark Zuckerberg's recent claims"
|
||||
publishDate = 2024-09-27T12:02:00+02:00
|
||||
lastmod = 2025-04-04T13:28:42+02:00
|
||||
lastmod = 2025-04-21T13:51:27+02:00
|
||||
tags = ["copyright", "zuckerberg"]
|
||||
categories = ["tech", "llm"]
|
||||
draft = false
|
||||
|
@ -9,7 +9,7 @@ meta = true
|
|||
type = "list"
|
||||
[menu]
|
||||
[menu.posts]
|
||||
weight = 3003
|
||||
weight = 3004
|
||||
identifier = "on-mark-zuckerberg-s-recent-claims"
|
||||
+++
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
+++
|
||||
title = "Contact"
|
||||
publishDate = 2023-06-20T00:35:00+02:00
|
||||
lastmod = 2025-04-04T13:28:41+02:00
|
||||
lastmod = 2025-04-21T13:51:26+02:00
|
||||
draft = false
|
||||
hidefromhome = true
|
||||
meta = false
|
||||
|
|
Loading…
Add table
Reference in a new issue