Week 19 of 2026
Development log of Tad Lispy website
4 items
Write "Who is a Normie?" post
On by
Thanks to Fana for proof-reading and spotting mistakes.
new file mode 100644
index 0000000..a597354
--- /dev/null
+++ b/content/blog/2026-05-04-who-is-a-normie/index.md
@@ -0,0 +1,26 @@
+---
+title: Who is a Normie?
+---
+
+For the past eight months together with a few friends I've been involved with something called [Better Tech Club](https://bettertechclub.eu/). In the beginning we called our activity "FOSS for Normies", and we had a rather nerdy logo. We've changed the name, but being "for normies" remains part of our mission.
+
+
+# Who is a Normie?
+
+With a bit of a wink 😉 I say that in the context of our work _a normie is a person for whom a computer is a mean to some other end_. They will use a computer to send an email, file taxes, prepare a presentation, watch a movie, or talk to a friend. But they don't particularly care about computers, as long as their job is done.
+
+This makes them different from nerds like me, and many of my friends from Better Tech Club. For us, computers are very interesting on their own. We like interacting with them just for the sake of "doing computer stuff" and seeing what's possible. It's fun. It's our hobby. So we think a lot about computers and have have many strong opinions about them. Normies typically don't[^0].
+
+Historically this made it difficult to make normies care about important, political aspects related to computers - like economic and social inequality, imperialism, and hegemony. Those real life problems, that should concern every intelligent and decent person, were easy to dismiss as "just another rant from those computer nerds and radicals; nobody understands what they say anyway".
+
+This changed with the second coming of Donald Trump[^1], and a noticeable drop in the quality of big tech software[^2]. People who just a few months earlier did not care about politics of technology, suddenly started asking questions about privacy, security, political misinformation, European independence, and complicity of USA big tech in war and genocide. They started asking, if they can install Linux on their iPhone[^3]! I'm thrilled about this, because for a meaningful political change we need them on our side.
+
+Now is the time for nerds and normies to unite!
+
+<center><big>🤜🤛</big></center>
+
+
+[^0]: Of course the boundary between a nerd and a normie is blurred at best. When exposed to cool stuff, many normies gradually become nerds. Seldom the other way around.
+[^1]: The big US American cry-baby and wannabe king of the world
+[^2]: Sometimes the quality is lowered on purpose (so called "enshittification"), but often due to incompetence. It's likely a result of decades long attack on education; hostile, and racist attitudes to migrants; and financialization of previously productive sectors of US American economy.
+[^3]: The answer is sadly "no". But maybe some nerd is already working on it.In blog posts use a description before a summary
On by
Previously a summary (the part of content before ) was used
to populate the content of meta summary tag. Now, if present, the
description field from frontmatter will be used. If not present, then
summary, and finally a fixed fallback.
I tried to write it in a more elegant way, but somehow it doesn't work like this:
{% set description =
page.description
| default(value=page.summary)
| default(value="From the infamous blog of Tad Lispy")
| striptags
%}
It always produces null and striptags is choking on it. Maybe I'm
doing something wrong; maybe it's a bug in tera, or zola. No time to
look into it right now.
index bdc1835..5e964a4 100644
--- a/templates/blog-post.html
+++ b/templates/blog-post.html
@@ -4,7 +4,14 @@
={{ super() }}
={% set page_class = "blog-post" %}
={% set title = page.title | markdown(inline=true) | striptags %}
-{% set description = page.summary | default(value="From the infamous blog of Tad Lispy") | striptags %}
+{% if page.description %}
+{# TODO: Why can't I do this with a chain of default filters? #}
+{% set description = page.description %}
+{% elif page.summary %}
+{% set description = page.summary | striptags %}
+{% else %}
+{% set description = "From the infamous blog of Tad Lispy" %}
+{% endif %}
={% endblock variables %}
=
=Add Open Graph meta tags for Fediverse
On by
Following advice from https://fedi.tips/how-do-i-get-a-link-preview-to-appear-in-my-post-on-mastodon/
I've also provided a description for the "Who is a Normie?" post (sharing this post on Mastodon was actually the impetus for the Open Graph setup), and improved the "Works" section description.
index a597354..46df37e 100644
--- a/content/blog/2026-05-04-who-is-a-normie/index.md
+++ b/content/blog/2026-05-04-who-is-a-normie/index.md
@@ -1,5 +1,7 @@
=---
=title: Who is a Normie?
+description: |
+ In the context of our work at Better Tech Club a "normie" is a person for whom a computer is a mean to some other end. Meanwhile for us nerds, computers are very interesting on their own. This difference often leads to misunderstandings. But for a meaningful political change, all decent and intelligent people need to work together. It may not be immediately obvious, but many normies are in fact intelligent and decent. So let's try to understand each other better.
=---
=
=For the past eight months together with a few friends I've been involved with something called [Better Tech Club](https://bettertechclub.eu/). In the beginning we called our activity "FOSS for Normies", and we had a rather nerdy logo. We've changed the name, but being "for normies" remains part of our mission.index 1cb38af..206c6a6 100644
--- a/content/works/_index.md
+++ b/content/works/_index.md
@@ -3,7 +3,7 @@ title: "Tad Works"
=sort_by: "weight"
=template: "works.html"
=page_template: "project.html"
-description: "Featured works of Tad Lispy"
+description: "I'm a software developer, trainer and coach with over 15 years of experience. Over those years I worked for many organizations, large and small. Check out some of my open-source projects and satisfied client testimonials."
=---
=
=index e52a21b..3519421 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -25,7 +25,15 @@
= <link rel="mask-icon" href="{{ get_url(path = '/safari-pinned-tab.svg') }}" color="#5bbad5">
= <meta name="msapplication-TileColor" content="#da532c">
= <meta name="theme-color" content="#ffffff">
-
+
+ <meta property="og:title" content="{{ title }}">
+ <meta property="og:site_name" content="Tad Lispy">
+ <meta property="og:description" content="{{ description }}">
+
+ {% block head_extra %}
+ <meta property="og:image" content="{{ get_url(path='tad-lispy-centered.png') }}">
+ {% endblock head_extra %}
+
= {% block rss %}
= {% endblock %}
=index 5e964a4..51df0c1 100644
--- a/templates/blog-post.html
+++ b/templates/blog-post.html
@@ -15,6 +15,13 @@
={% endblock variables %}
=
=
+{% block head_extra %}
+<meta property="og:type" content="article">
+<meta property="og:url" content="{{ page.permalink }}">
+<meta property="og:description" content="{{ description }}">
+<meta property="og:image" content="{{ get_url(path='tad-lispy-centered.png') }}">
+{% endblock head_extra %}
+
={% block content %}
=
=<header>index a4448d1..388764c 100644
--- a/templates/section.html
+++ b/templates/section.html
@@ -7,6 +7,13 @@
={% set description = section.summary | default(value="by Tad Lispy.") | striptags%}
={% endblock variables %}
=
+{% block head_extra %}
+<meta property="og:type" content="website">
+<meta property="og:url" content="{{ section.permalink }}">
+<meta property="og:description" content="{{ description }}">
+<meta property="og:image" content="{{ get_url(path='tad-lispy-centered.png') }}">
+{% endblock head_extra %}
+
={% block content %}
=<header>
= <nav aria-label="breadcrumb">Edit the "Who is a Normie" post a little
On by
index 46df37e..4e0cecc 100644
--- a/content/blog/2026-05-04-who-is-a-normie/index.md
+++ b/content/blog/2026-05-04-who-is-a-normie/index.md
@@ -4,12 +4,12 @@ description: |
= In the context of our work at Better Tech Club a "normie" is a person for whom a computer is a mean to some other end. Meanwhile for us nerds, computers are very interesting on their own. This difference often leads to misunderstandings. But for a meaningful political change, all decent and intelligent people need to work together. It may not be immediately obvious, but many normies are in fact intelligent and decent. So let's try to understand each other better.
=---
=
-For the past eight months together with a few friends I've been involved with something called [Better Tech Club](https://bettertechclub.eu/). In the beginning we called our activity "FOSS for Normies", and we had a rather nerdy logo. We've changed the name, but being "for normies" remains part of our mission.
+For the past eight months together with a few friends I've been involved with something called [Better Tech Club](https://bettertechclub.eu/). In the beginning we called our activity "FOSS for Normies", and we had a rather nerdy logo. We've changed the name and the logo, but being "for normies" remains part of our mission.
=
=
=# Who is a Normie?
=
-With a bit of a wink 😉 I say that in the context of our work _a normie is a person for whom a computer is a mean to some other end_. They will use a computer to send an email, file taxes, prepare a presentation, watch a movie, or talk to a friend. But they don't particularly care about computers, as long as their job is done.
+In the context of our work and with a bit of a wink 😉 I say that _a normie is a person for whom a computer is a mean to some other end_. They will use a computer to send an email, file taxes, prepare a presentation, watch a movie, or talk to a friend. But they don't particularly care about computers, as long as their job is done.
=
=This makes them different from nerds like me, and many of my friends from Better Tech Club. For us, computers are very interesting on their own. We like interacting with them just for the sake of "doing computer stuff" and seeing what's possible. It's fun. It's our hobby. So we think a lot about computers and have have many strong opinions about them. Normies typically don't[^0].
=