fixing up contact page
This commit is contained in:
parent
69ad864252
commit
4dd7b184bd
34 changed files with 132 additions and 225 deletions
|
@ -1,10 +1,9 @@
|
||||||
+++
|
+++
|
||||||
title = "Home"
|
title = "Use?"
|
||||||
layout = "single"
|
lastmod = 2024-09-28T01:49:39+02:00
|
||||||
lastmod = 2024-09-28T00:30:35+02:00
|
draft = true
|
||||||
draft = false
|
|
||||||
[menu]
|
[menu]
|
||||||
[menu.nav]
|
[menu.nav]
|
||||||
identifier = "home"
|
identifier = "use"
|
||||||
weight = 10
|
weight = 10
|
||||||
+++
|
+++
|
||||||
|
|
|
@ -1,87 +0,0 @@
|
||||||
+++
|
|
||||||
title = "About"
|
|
||||||
publishDate = 2023-06-20T00:35:00+02:00
|
|
||||||
lastmod = 2024-09-28T00:30:35+02:00
|
|
||||||
draft = false
|
|
||||||
hidefromhome = true
|
|
||||||
meta = false
|
|
||||||
[menu]
|
|
||||||
[menu.nav]
|
|
||||||
identifier = "about"
|
|
||||||
weight = 20
|
|
||||||
+++
|
|
||||||
|
|
||||||
Hello! I'm Phil. Among other things, I'm a sysadmin, information security analyst, Emacs addict, and exceedingly blunt.
|
|
||||||
|
|
||||||
<!--more-->
|
|
||||||
|
|
||||||
|
|
||||||
## Contact {#contact}
|
|
||||||
|
|
||||||
If you wish to contact me, the easiest way is through e-mail. See the title of this website, add .com, send.
|
|
||||||
|
|
||||||
If you're sending any sensitive information, please use PGP. E-mail is not secure - messages are sent in plain text (that is, anyone can read it if it goes through their network). Here's my [PGP PUBLIC KEY](../Phil-Bajsicki.asc), or you can copy the block below:
|
|
||||||
|
|
||||||
Last updated: <span class="timestamp-wrapper"><span class="timestamp">[2024-09-03 Tue 17:11]</span></span>
|
|
||||||
|
|
||||||
```pgp
|
|
||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
||||||
|
|
||||||
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
|
|
||||||
m0nb0yooPwfK
|
|
||||||
=j+uM
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
||||||
```
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "I really, really like Emacs"
|
title = "I really, really like Emacs"
|
||||||
publishDate = 2022-10-01T00:00:00+02:00
|
publishDate = 2022-10-01T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:40+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["orgmode"]
|
tags = ["orgmode"]
|
||||||
categories = ["emacs", "tech"]
|
categories = ["emacs", "tech"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Note about LLM's and training data"
|
title = "Note about LLM's and training data"
|
||||||
publishDate = 2023-03-09T00:00:00+01:00
|
publishDate = 2023-03-09T00:00:00+01:00
|
||||||
lastmod = 2024-09-28T00:30:39+02:00
|
lastmod = 2024-09-28T01:49:37+02:00
|
||||||
tags = ["copyright", "thieves"]
|
tags = ["copyright", "thieves"]
|
||||||
categories = ["llm", "tech"]
|
categories = ["llm", "tech"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
+++
|
+++
|
||||||
title = "Blog"
|
title = "Blog"
|
||||||
lastmod = 2024-09-28T01:22:47+02:00
|
lastmod = 2024-09-28T01:49:37+02:00
|
||||||
draft = false
|
draft = false
|
||||||
meta = true
|
meta = true
|
||||||
type = "list"
|
type = "list"
|
||||||
|
@ -13,107 +13,6 @@ type = "list"
|
||||||
## <span class="org-todo todo draft">draft</span> category {#category}
|
## <span class="org-todo todo draft">draft</span> category {#category}
|
||||||
|
|
||||||
|
|
||||||
### <span class="org-todo todo draft">draft</span> Moving to Hugo {#moving-to-hugo}
|
|
||||||
|
|
||||||
:EXPORT_HUGO_MENU: :menu nav :weight 30
|
|
||||||
:EXPORT_HUGO_SECTION: blog
|
|
||||||
:EXPORT_FILE_NAME: moving-to-hugo
|
|
||||||
:CREATED: <span class="timestamp-wrapper"><span class="timestamp"><2024-09-28 Sat 00:54></span></span>
|
|
||||||
:END:
|
|
||||||
|
|
||||||
It's been a long time since I started using the `ox-tufte` exporter to keep and maintain my website. However, I have had issues with it; one of the larger ones being that it's a pain in the butt to remember how it all works when I want to change the structure of it.
|
|
||||||
|
|
||||||
I also was a little tired of the look and layout; being presented with an endless table of contents isn't the best experience one could hope for online.
|
|
||||||
|
|
||||||
<!--more-->
|
|
||||||
|
|
||||||
Not to worry, I am in the midst of migrating most of my writing to Hugo!
|
|
||||||
|
|
||||||
Naturally, since I am a lover of prose and dearly enamored with sidenotes, I opted for [the hugo-tufte theme.](https://github.com/loikein/hugo-tufte) However, I immediately found some unpleasantness in it.
|
|
||||||
|
|
||||||
While I can and do appreciate whitespace, there is such a thing as too much. So I spent a number of hours fixing up the CSS (and a few minor things) more to my liking. at the same time, I realized that there are some limitations.
|
|
||||||
|
|
||||||
I won't bore you with the details, suffice to say I [forked the repo and started messing with it](https://git.bajsicki.com/phil/hugo-tufte). I'm not familiar or even remotely good with CSS/ HTML/ Hugo, so please don't expect miracles{{<sidenote>}}Also called 'clean code.'{{</sidenote>}}.
|
|
||||||
|
|
||||||
Most of my changes were minor; color scheme adjustments, decreasing the massive margins between the elements, getting some styling on the margin and side notes, and such.
|
|
||||||
|
|
||||||
One thing that I realized quickly was that the way sidenotes are implemented leads to them overlapping when they're close together; I have yet to find a solution for that, so for the time being, I am choosing to simply make the sidenote font smaller so they don't.
|
|
||||||
|
|
||||||
Other than that... I'm really happy with it.
|
|
||||||
|
|
||||||
Of course, I didn't stop there. Being the crazy person that I am, I wanted to automate deployment of my website through git.
|
|
||||||
|
|
||||||
And so I did. You can find the repo [here.](https://git.bajsicki.com/phil/bajsicki.com) The important bit lies on the server side.
|
|
||||||
|
|
||||||
I'm using a git hook to automatically purge and re-build the `/public` directory after each commit. I don't get enough traffic for this to be an inconvenience.
|
|
||||||
|
|
||||||
I used some of [this article](https://jasonmurray.org/posts/2020/githugogen/) by Jason Murray to help me understand how git hooks work. I'm running [Forgejo](https://forgejo.org/), and this is a much more elegant and simple solution when compared to running Actions or other CI/CD tools.
|
|
||||||
|
|
||||||
The post-receive hook is like so:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
#!/bin/bash
|
|
||||||
# Directory on the server where the website will be mapped.
|
|
||||||
export GIT_WORK_TREE=/srv/bajsicki.com
|
|
||||||
|
|
||||||
echo `pwd`
|
|
||||||
echo "post-receive: Generating https://bajsicki.com with Hugo..."
|
|
||||||
|
|
||||||
# Create the directory and all subdirectories if they don't exist.
|
|
||||||
mkdir -p $GIT_WORK_TREE
|
|
||||||
chmod 755 $GIT_WORK_TREE
|
|
||||||
|
|
||||||
# Remove any files already in the public directory, a fresh copy will be generated by hugo
|
|
||||||
rm -rf $GIT_WORK_TREE/public
|
|
||||||
|
|
||||||
# Generate the site with hugo
|
|
||||||
cd $GIT_WORK_TREE && ./update.sh
|
|
||||||
|
|
||||||
# Fix any permission problems.
|
|
||||||
find $GIT_WORK_TREE/public -type f -print | xargs -d '\n' chmod 644
|
|
||||||
find $GIT_WORK_TREE/public -type d -print | xargs -d '\n' chmod 755
|
|
||||||
|
|
||||||
echo "post-receive: Hugo site generation complete"
|
|
||||||
```
|
|
||||||
|
|
||||||
The `update.sh` script is as dead simple as things get.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
cd themes/hugo-tufte/
|
|
||||||
git reset --hard && git pull origin main -f
|
|
||||||
cd ../..
|
|
||||||
git reset --hard && git pull origin main -f
|
|
||||||
hugo
|
|
||||||
```
|
|
||||||
|
|
||||||
In short... it just works, and I can easily transition my blogging/ websites to Hugo without compromising on my `org-mode addiction`.
|
|
||||||
|
|
||||||
All thanks to [ox-hugo](https://ox-hugo.scripter.co/), which made the process very easy, since I already had all of my articles in org-mode format in the first place.
|
|
||||||
|
|
||||||
I guess the last thing to mention are the sidenotes and margin notes... sadly, the way to use them with ox-hugo is quite cumbersome. My current process is to keep these two snippets in the kill-ring{{<sidenote>}}I will be moving them to yasnippet... at some point.{{</sidenote>}}, so I can easily insert them when needed.
|
|
||||||
|
|
||||||
```text
|
|
||||||
@@hugo:{{<sidenote>}}
|
|
||||||
{{</sidenote>}}@@
|
|
||||||
```
|
|
||||||
|
|
||||||
Then an example of it would look like this{{<sidenote>}}Or maybe not, I'm not sure.{{</sidenote>}}.
|
|
||||||
|
|
||||||
```text
|
|
||||||
@@hugo:{{<sidenote>}}Or maybe not, I'm not sure.{{</sidenote>}}@@
|
|
||||||
```
|
|
||||||
|
|
||||||
The same formatting applies to `marginnote`.
|
|
||||||
|
|
||||||
As you may notice, there is an issue. For some reason the hugo-tufte theme doesn't treat the sidenote number/ indicator as only a character, but adds a whitespace after it as well. This can lead to some hanging punctuation, so if you see that on this website, that's why. And if you don't, there's a tiny chance I fixed it.
|
|
||||||
|
|
||||||
Still, all things considered, I am quite happy, and working on this website has been a great reprieve from bombarding my brain with infosec.
|
|
||||||
|
|
||||||
<span class="underline">[Join the FSF.](https://my.fsf.org/join)</span>
|
|
||||||
|
|
||||||
|
|
||||||
## Tech <span class="tag"><span class="_tech">@tech</span></span> {#tech}
|
## Tech <span class="tag"><span class="_tech">@tech</span></span> {#tech}
|
||||||
|
|
||||||
|
|
||||||
|
@ -630,6 +529,102 @@ For the most part, the set-up was straightforward. The sticky points were SSL be
|
||||||
Sum total: about 10-12 hours of work. In retrospect, I'm confident I could set this up again in much less time, and it was a healthy learning experience.
|
Sum total: about 10-12 hours of work. In retrospect, I'm confident I could set this up again in much less time, and it was a healthy learning experience.
|
||||||
|
|
||||||
|
|
||||||
|
### Moving to Hugo <span class="tag"><span class="hugo">hugo</span><span class="web">web</span><span class="orgmode">orgmode</span><span class="css">css</span><span class="tufte">tufte</span><span class="_emacs">@emacs</span></span> {#moving-to-hugo}
|
||||||
|
|
||||||
|
It's been a long time since I started using the `ox-tufte` exporter to keep and maintain my website. However, I have had issues with it; one of the larger ones being that it's a pain in the butt to remember how it all works when I want to change the structure of it.
|
||||||
|
|
||||||
|
I also was a little tired of the look and layout; being presented with an endless table of contents isn't the best experience one could hope for online.
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
Not to worry, I am in the midst of migrating most of my writing to Hugo!
|
||||||
|
|
||||||
|
Naturally, since I am a lover of prose and dearly enamored with sidenotes, I opted for [the hugo-tufte theme.](https://github.com/loikein/hugo-tufte) However, I immediately found some unpleasantness in it.
|
||||||
|
|
||||||
|
While I can and do appreciate whitespace, there is such a thing as too much. So I spent a number of hours fixing up the CSS (and a few minor things) more to my liking. at the same time, I realized that there are some limitations.
|
||||||
|
|
||||||
|
I won't bore you with the details, suffice to say I [forked the repo and started messing with it](https://git.bajsicki.com/phil/hugo-tufte). I'm not familiar or even remotely good with CSS/ HTML/ Hugo, so please don't expect miracles{{<sidenote>}}Also called 'clean code.'{{</sidenote>}}.
|
||||||
|
|
||||||
|
Most of my changes were minor; color scheme adjustments, decreasing the massive margins between the elements, getting some styling on the margin and side notes, and such.
|
||||||
|
|
||||||
|
One thing that I realized quickly was that the way sidenotes are implemented leads to them overlapping when they're close together; I have yet to find a solution for that, so for the time being, I am choosing to simply make the sidenote font smaller so they don't.
|
||||||
|
|
||||||
|
Other than that... I'm really happy with it.
|
||||||
|
|
||||||
|
Of course, I didn't stop there. Being the crazy person that I am, I wanted to automate deployment of my website through git.
|
||||||
|
|
||||||
|
And so I did. You can find the repo [here.](https://git.bajsicki.com/phil/bajsicki.com) The important bit lies on the server side.
|
||||||
|
|
||||||
|
I'm using a git hook to automatically purge and re-build the `/public` directory after each commit. I don't get enough traffic for this to be an inconvenience.
|
||||||
|
|
||||||
|
I used some of [this article](https://jasonmurray.org/posts/2020/githugogen/) by Jason Murray to help me understand how git hooks work. I'm running [Forgejo](https://forgejo.org/), and this is a much more elegant and simple solution when compared to running Actions or other CI/CD tools.
|
||||||
|
|
||||||
|
The post-receive hook is like so:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
#!/bin/bash
|
||||||
|
# Directory on the server where the website will be mapped.
|
||||||
|
export GIT_WORK_TREE=/srv/bajsicki.com
|
||||||
|
|
||||||
|
echo `pwd`
|
||||||
|
echo "post-receive: Generating https://bajsicki.com with Hugo..."
|
||||||
|
|
||||||
|
# Create the directory and all subdirectories if they don't exist.
|
||||||
|
mkdir -p $GIT_WORK_TREE
|
||||||
|
chmod 755 $GIT_WORK_TREE
|
||||||
|
|
||||||
|
# Remove any files already in the public directory, a fresh copy will be generated by hugo
|
||||||
|
rm -rf $GIT_WORK_TREE/public
|
||||||
|
|
||||||
|
# Generate the site with hugo
|
||||||
|
cd $GIT_WORK_TREE && chmod +x update.sh
|
||||||
|
cd $GIT_WORK_TREE && ./update.sh
|
||||||
|
|
||||||
|
# Fix any permission problems.
|
||||||
|
find $GIT_WORK_TREE/public -type f -print | xargs -d '\n' chmod 644
|
||||||
|
find $GIT_WORK_TREE/public -type d -print | xargs -d '\n' chmod 755
|
||||||
|
|
||||||
|
echo "post-receive: Hugo site generation complete"
|
||||||
|
```
|
||||||
|
|
||||||
|
The `update.sh` script is as dead simple as things get.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
cd themes/hugo-tufte/
|
||||||
|
git reset --hard && git pull origin main -f
|
||||||
|
cd ../..
|
||||||
|
git reset --hard && git pull origin main -f
|
||||||
|
hugo
|
||||||
|
```
|
||||||
|
|
||||||
|
In short... it just works, and I can easily transition my blogging/ websites to Hugo without compromising on my `org-mode addiction`.
|
||||||
|
|
||||||
|
All thanks to [ox-hugo](https://ox-hugo.scripter.co/), which made the process very easy, since I already had all of my articles in org-mode format in the first place.
|
||||||
|
|
||||||
|
I guess the last thing to mention are the sidenotes and margin notes... sadly, the way to use them with ox-hugo is quite cumbersome. My current process is to keep these two snippets in the kill-ring{{<sidenote>}}I will be moving them to yasnippet... at some point.{{</sidenote>}}, so I can easily insert them when needed.
|
||||||
|
|
||||||
|
```org
|
||||||
|
@@hugo:{{</*sidenote*/>}}
|
||||||
|
{{</*/sidenote*/>}}@@
|
||||||
|
```
|
||||||
|
|
||||||
|
Then an example of it would look like this{{<sidenote>}}Or maybe not, I'm not sure.{{</sidenote>}}.
|
||||||
|
|
||||||
|
```org
|
||||||
|
@@hugo:{{</*sidenote*/>}}Or maybe not, I'm not sure.{{</*/sidenote*/>}}@@
|
||||||
|
```
|
||||||
|
|
||||||
|
The same formatting applies to `marginnote`.
|
||||||
|
|
||||||
|
As you may notice, there is an issue. For some reason the hugo-tufte theme doesn't treat the sidenote number/ indicator as only a character, but adds a whitespace after it as well. This can lead to some hanging punctuation, so if you see that on this website, that's why. And if you don't, there's a tiny chance I fixed it.
|
||||||
|
|
||||||
|
Still, all things considered, I am quite happy, and working on this website has been a great reprieve from bombarding my brain with infosec.
|
||||||
|
|
||||||
|
<span class="underline">[Join the FSF.](https://my.fsf.org/join)</span>
|
||||||
|
|
||||||
|
|
||||||
## Mind <span class="tag"><span class="_mind">@mind</span></span> {#mind}
|
## Mind <span class="tag"><span class="_mind">@mind</span></span> {#mind}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "A kind view of business"
|
title = "A kind view of business"
|
||||||
publishDate = 2024-01-25T00:00:00+01:00
|
publishDate = 2024-01-25T00:00:00+01:00
|
||||||
lastmod = 2024-09-28T00:30:42+02:00
|
lastmod = 2024-09-28T01:49:39+02:00
|
||||||
tags = ["mindset", "rant"]
|
tags = ["mindset", "rant"]
|
||||||
categories = ["business"]
|
categories = ["business"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "A new look: ox-tufte"
|
title = "A new look: ox-tufte"
|
||||||
publishDate = 2023-10-23T00:00:00+02:00
|
publishDate = 2023-10-23T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:40+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["orgmode", "web", "css", "tufte"]
|
tags = ["orgmode", "web", "css", "tufte"]
|
||||||
categories = ["emacs", "tech"]
|
categories = ["emacs", "tech"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "On Avoidance in Business"
|
title = "On Avoidance in Business"
|
||||||
publishDate = 2023-05-04T00:00:00+02:00
|
publishDate = 2023-05-04T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:42+02:00
|
lastmod = 2024-09-28T01:49:39+02:00
|
||||||
tags = ["psychology", "riskmanagement", "avoidance", "fear"]
|
tags = ["psychology", "riskmanagement", "avoidance", "fear"]
|
||||||
categories = ["business"]
|
categories = ["business"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Trying out some brain supplements, pt. 2"
|
title = "Trying out some brain supplements, pt. 2"
|
||||||
publishDate = 2022-11-20T00:00:00+01:00
|
publishDate = 2022-11-20T00:00:00+01:00
|
||||||
lastmod = 2024-09-28T00:30:41+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["supplements", "nootropics"]
|
tags = ["supplements", "nootropics"]
|
||||||
categories = ["mind"]
|
categories = ["mind"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Brain supplements: A two month summary"
|
title = "Brain supplements: A two month summary"
|
||||||
publishDate = 2023-01-06T00:00:00+01:00
|
publishDate = 2023-01-06T00:00:00+01:00
|
||||||
lastmod = 2024-09-28T00:30:41+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["supplements", "nootropics"]
|
tags = ["supplements", "nootropics"]
|
||||||
categories = ["mind"]
|
categories = ["mind"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Trying out some brain supplements"
|
title = "Trying out some brain supplements"
|
||||||
publishDate = 2022-11-18T00:00:00+01:00
|
publishDate = 2022-11-18T00:00:00+01:00
|
||||||
lastmod = 2024-09-28T00:30:41+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["supplements", "nootropics"]
|
tags = ["supplements", "nootropics"]
|
||||||
categories = ["mind"]
|
categories = ["mind"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "On the value of calling it a day (and how to get there)"
|
title = "On the value of calling it a day (and how to get there)"
|
||||||
publishDate = 2022-09-30T00:00:00+02:00
|
publishDate = 2022-09-30T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:43+02:00
|
lastmod = 2024-09-28T01:49:39+02:00
|
||||||
tags = ["psychology", "work", "projectmanagement"]
|
tags = ["psychology", "work", "projectmanagement"]
|
||||||
categories = ["business"]
|
categories = ["business"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Efficient computer use"
|
title = "Efficient computer use"
|
||||||
publishDate = 2022-11-12T00:00:00+01:00
|
publishDate = 2022-11-12T00:00:00+01:00
|
||||||
lastmod = 2024-09-28T00:30:40+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["ergonomics", "keyboards", "typing", "speed", "efficency"]
|
tags = ["ergonomics", "keyboards", "typing", "speed", "efficency"]
|
||||||
categories = ["tech"]
|
categories = ["tech"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Considerations on FOSS and subscription models"
|
title = "Considerations on FOSS and subscription models"
|
||||||
publishDate = 2022-10-02T00:00:00+02:00
|
publishDate = 2022-10-02T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:39+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["business", "foss", "vendorlock", "proprietary", "saas", "scam"]
|
tags = ["business", "foss", "vendorlock", "proprietary", "saas", "scam"]
|
||||||
categories = ["tech"]
|
categories = ["tech"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Heaps of fun (Yakuza)"
|
title = "Heaps of fun (Yakuza)"
|
||||||
publishDate = 2022-10-17T00:00:00+02:00
|
publishDate = 2022-10-17T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:44+02:00
|
lastmod = 2024-09-28T01:49:39+02:00
|
||||||
tags = ["yakuza", "review"]
|
tags = ["yakuza", "review"]
|
||||||
categories = ["videogames"]
|
categories = ["videogames"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Haxe, heaps, and VSCode (small rant)"
|
title = "Haxe, heaps, and VSCode (small rant)"
|
||||||
publishDate = 2022-10-10T00:00:00+02:00
|
publishDate = 2022-10-10T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:39+02:00
|
lastmod = 2024-09-28T01:49:37+02:00
|
||||||
tags = ["proprietary", "vscode", "vendorlock"]
|
tags = ["proprietary", "vscode", "vendorlock"]
|
||||||
categories = ["software", "tech"]
|
categories = ["software", "tech"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "[Happy Holidays!] On posting lists for self-promotion"
|
title = "[Happy Holidays!] On posting lists for self-promotion"
|
||||||
publishDate = 2022-12-25T00:00:00+01:00
|
publishDate = 2022-12-25T00:00:00+01:00
|
||||||
lastmod = 2024-09-28T00:30:42+02:00
|
lastmod = 2024-09-28T01:49:39+02:00
|
||||||
tags = ["badmarketing", "linkedin"]
|
tags = ["badmarketing", "linkedin"]
|
||||||
categories = ["business"]
|
categories = ["business"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Weekend thoughts - Mastering Emacs by Mickey Petersen"
|
title = "Weekend thoughts - Mastering Emacs by Mickey Petersen"
|
||||||
publishDate = 2022-10-08T00:00:00+02:00
|
publishDate = 2022-10-08T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:42+02:00
|
lastmod = 2024-09-28T01:49:39+02:00
|
||||||
tags = ["emacs", "review"]
|
tags = ["emacs", "review"]
|
||||||
categories = ["books"]
|
categories = ["books"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "MissKey: Resetting Admin Password"
|
title = "MissKey: Resetting Admin Password"
|
||||||
publishDate = 2023-08-11T00:00:00+02:00
|
publishDate = 2023-08-11T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:38+02:00
|
lastmod = 2024-09-28T01:49:37+02:00
|
||||||
tags = ["misskey", "admin", "postgres"]
|
tags = ["misskey", "admin", "postgres"]
|
||||||
categories = ["tech"]
|
categories = ["tech"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
+++
|
+++
|
||||||
title = "Moving to Hugo"
|
title = "Moving to Hugo"
|
||||||
lastmod = 2024-09-28T01:32:25+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["hugo", "web", "orgmode", "css", "tufte"]
|
tags = ["hugo", "web", "orgmode", "css", "tufte"]
|
||||||
categories = ["tech", "emacs"]
|
categories = ["tech", "emacs"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "My favorite Factorio mods"
|
title = "My favorite Factorio mods"
|
||||||
publishDate = 2023-07-24T00:00:00+02:00
|
publishDate = 2023-07-24T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:43+02:00
|
lastmod = 2024-09-28T01:49:39+02:00
|
||||||
tags = ["factorio", "mods"]
|
tags = ["factorio", "mods"]
|
||||||
categories = ["videogames"]
|
categories = ["videogames"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Learning a new keyboard layout"
|
title = "Learning a new keyboard layout"
|
||||||
publishDate = 2022-08-18T00:00:00+02:00
|
publishDate = 2022-08-18T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:41+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["ergonomics", "keyboard", "colemak", "typing"]
|
tags = ["ergonomics", "keyboard", "colemak", "typing"]
|
||||||
categories = ["body"]
|
categories = ["body"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "On Problems"
|
title = "On Problems"
|
||||||
publishDate = 2022-11-21T00:00:00+01:00
|
publishDate = 2022-11-21T00:00:00+01:00
|
||||||
lastmod = 2024-09-28T00:30:41+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["psychology", "problems"]
|
tags = ["psychology", "problems"]
|
||||||
categories = ["mind"]
|
categories = ["mind"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Overcoming typing-related RSI"
|
title = "Overcoming typing-related RSI"
|
||||||
publishDate = 2022-09-22T00:00:00+02:00
|
publishDate = 2022-09-22T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:41+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["ergonomics", "keyboard", "typing", "rsi", "health"]
|
tags = ["ergonomics", "keyboard", "typing", "rsi", "health"]
|
||||||
categories = ["body"]
|
categories = ["body"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Realistic deadlines"
|
title = "Realistic deadlines"
|
||||||
publishDate = 2022-09-30T00:00:00+02:00
|
publishDate = 2022-09-30T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:42+02:00
|
lastmod = 2024-09-28T01:49:39+02:00
|
||||||
tags = ["projectmanagement", "work"]
|
tags = ["projectmanagement", "work"]
|
||||||
categories = ["business"]
|
categories = ["business"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Some thoughts on SaaS and business applications of Free Software"
|
title = "Some thoughts on SaaS and business applications of Free Software"
|
||||||
publishDate = 2022-09-28T00:00:00+02:00
|
publishDate = 2022-09-28T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:43+02:00
|
lastmod = 2024-09-28T01:49:39+02:00
|
||||||
tags = ["saas", "scam", "vendorlock", "interoperability"]
|
tags = ["saas", "scam", "vendorlock", "interoperability"]
|
||||||
categories = ["business"]
|
categories = ["business"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Shared hosting is a scam"
|
title = "Shared hosting is a scam"
|
||||||
publishDate = 2023-03-29T00:00:00+02:00
|
publishDate = 2023-03-29T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:38+02:00
|
lastmod = 2024-09-28T01:49:37+02:00
|
||||||
tags = ["sharedhosting", "saas", "scam"]
|
tags = ["sharedhosting", "saas", "scam"]
|
||||||
categories = ["tech"]
|
categories = ["tech"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Shiny objects, and learning"
|
title = "Shiny objects, and learning"
|
||||||
publishDate = 2024-04-24T00:00:00+02:00
|
publishDate = 2024-04-24T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:42+02:00
|
lastmod = 2024-09-28T01:49:39+02:00
|
||||||
tags = ["mindset", "attitude", "rant"]
|
tags = ["mindset", "attitude", "rant"]
|
||||||
categories = ["business"]
|
categories = ["business"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "VPS is my new friend"
|
title = "VPS is my new friend"
|
||||||
publishDate = 2022-10-07T00:00:00+02:00
|
publishDate = 2022-10-07T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:39+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["vps", "sysadmin", "servers", "ssh", "sshfs", "foss", "vendorlock"]
|
tags = ["vps", "sysadmin", "servers", "ssh", "sshfs", "foss", "vendorlock"]
|
||||||
categories = ["tech"]
|
categories = ["tech"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "VPS set-up"
|
title = "VPS set-up"
|
||||||
publishDate = 2022-08-18T00:00:00+02:00
|
publishDate = 2022-08-18T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:40+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["vps", "sysadmin", "servers"]
|
tags = ["vps", "sysadmin", "servers"]
|
||||||
categories = ["tech"]
|
categories = ["tech"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Wisdom from a Satyr"
|
title = "Wisdom from a Satyr"
|
||||||
publishDate = 2023-03-30T00:00:00+02:00
|
publishDate = 2023-03-30T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:41+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["ethics", "suffering", "buddhism"]
|
tags = ["ethics", "suffering", "buddhism"]
|
||||||
categories = ["wisdom", "mind"]
|
categories = ["wisdom", "mind"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Some words in a moment of peace"
|
title = "Some words in a moment of peace"
|
||||||
publishDate = 2023-04-04T00:00:00+02:00
|
publishDate = 2023-04-04T00:00:00+02:00
|
||||||
lastmod = 2024-09-28T00:30:40+02:00
|
lastmod = 2024-09-28T01:49:38+02:00
|
||||||
tags = ["language", "words", "meaning", "clarity", "communication"]
|
tags = ["language", "words", "meaning", "clarity", "communication"]
|
||||||
categories = ["mind"]
|
categories = ["mind"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
+++
|
+++
|
||||||
title = "On Mark Zuckerberg's recent claims"
|
title = "On Mark Zuckerberg's recent claims"
|
||||||
lastmod = 2024-09-28T00:30:38+02:00
|
lastmod = 2024-09-28T01:49:37+02:00
|
||||||
tags = ["copyright", "zuckerberg"]
|
tags = ["copyright", "zuckerberg"]
|
||||||
categories = ["tech", "llm"]
|
categories = ["tech", "llm"]
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
+++
|
+++
|
||||||
title = "Contact"
|
title = "Contact"
|
||||||
publishDate = 2023-06-20T00:35:00+02:00
|
publishDate = 2023-06-20T00:35:00+02:00
|
||||||
lastmod = 2024-09-28T01:47:35+02:00
|
lastmod = 2024-09-28T01:49:37+02:00
|
||||||
draft = false
|
draft = false
|
||||||
hidefromhome = true
|
hidefromhome = true
|
||||||
meta = false
|
meta = false
|
||||||
|
|
Loading…
Reference in a new issue