M _config.yml => _config.yml +0 -8
@@ 27,14 27,6 @@ plugins:
collections:
- programming:
- output: true
- software:
- output: true
- this-site:
- output: true
- emacs:
- output: true
micro:
output: true
permalink: /:collection/:year:month:day:hour:minute
D _emacs/index.md => _emacs/index.md +0 -13
@@ 1,13 0,0 @@
----
-layout: static
-title: Emacs
-date: 2020-10-07
----
-
-I have used [GNU Emacs](https://www.gnu.org/software/emacs/) as my text editor
-for over a decade. Emacs is a customizable, self-documenting display editor that
-you can program in Lisp.
-
-This section details everything I've written so far about Emacs.
-
- * [Working with Git and patches in Emacs]({% link _emacs/patches.md %})
D _includes/year-archive.html => _includes/year-archive.html +0 -9
@@ 1,9 0,0 @@
-<h2>Blog archive</h2>
-
-You can subscribe via <a href="/feed.xml">RSS</a>.
-
-<ul>
- {% for post in site.posts %}
- <li><a href="{{ post.url }}">{{ post.title }}</a> <em class="float-sm-right">{{ post.date | date: "%B %d, %Y" }}</em></li>
- {% endfor %}
-</ul>
M _layouts/default.html => _layouts/default.html +3 -3
@@ 46,13 46,13 @@
<footer>
<hr>
<address>
- {% assign changelog = site.pages | where: 'name', 'changelog.md' | first %}
+ {% assign changelog = site.pages | where: 'name', 'index.md' | first %}
{% if changelog %}
{% assign changed_date = changelog.last_modified_at | date: '%B %d, %Y' %}
{% endif %}
- © <a href="mailto:ane@iki.fi">Antoine Kalmbach</a>, see <a href="{% link _this-site/index.md %}#copying">copying</a>.
- Last updated on <a href="{% link changelog.md %}">{{ changed_date }}</a>.
+ © <a href="mailto:ane@iki.fi">Antoine Kalmbach</a>, see <a href="{% link about.md %}#copying">copying</a>.
+ Last updated on {{ changed_date }}.
</address>
</footer>
</div>
M _layouts/static.html => _layouts/static.html +0 -11
@@ 4,17 4,6 @@ layout: default
<article class="h-entry">
<header>
- <div>
- <a href="/">Home</a> /
- {% assign parts = page.path | split: '/' %}
- {% assign path = "" %}
- {% for part in parts %}
- {% unless forloop.last %}
- {% assign path = path | append: '/' | append: part %}
- <a href="{{ path | replace: '_', '' }}">{{ part | replace: '_', '' | replace: '-', ' ' | replace: '.md', '' | capitalize }}</a> /
- {% endunless %}
- {% endfor %}
- </div>
<h2 class="p-name" style="margin: 0.25rem 0;">
{{ page.title }}
</h2>
M _posts/2018-03-22-the-joy-of-asciidoc.adoc => _posts/2018-03-22-the-joy-of-asciidoc.adoc +2 -6
@@ 63,13 63,9 @@ So, the fix was to add `sudo: required` to the `.travis.yml` file, and add a PPA
that contains plantuml. This worked, but because I'm using sudo, my builds run
on a virtual machine. Without sudo I could run on a container which build really
fast. So building the site takes now about two minutes. That's not too bad, but
-with a container-based build that could be less than 30 seconds. So finally, I
-ended up with this:
+with a container-based build that could be less than 30 seconds.
-[source,yaml]
-----
-include::.travis.yml[]
-----
+**Update (July 2021)**: I don't use Jenkins CI for building the site, I use https://builds.sr.ht/[builds.sr.ht] now.
Anyway, after banging my head against the beast that is dependency management, I
am now happily running my own custom Jekyll build that is fully automated: I
M _posts/2020-09-09-rmail.md => _posts/2020-09-09-rmail.md +2 -0
@@ 2,6 2,8 @@
layout: post
title: Back to Rmail
date: 2020-09-09T13:55:56+03:00
+tags:
+ - emacs
---
While I initially [wrote about switching to mu4e]({% link _micro/11.md %}), I was initially
A _posts/2020-10-10-this-site.md => _posts/2020-10-10-this-site.md +122 -0
@@ 0,0 1,122 @@
+---
+layout: post
+date: 2020-10-03
+title: How I built this website
+---
+
+Sometimes people ask me (well, one person did) how I actually author content on
+this site and also how I maintain and host it. Essentially, it’s a
+run-of-the-mill [Jekyll](https://jekyllrb.com/) site hosted on [pages.sr.ht](https://srht.site). The following explains how
+all of this came together.
+
+### Origins
+
+About five years ago I realized I wanted to have a website again. Yes, *again*,
+this wasn't the first time I had had a website.
+
+I think I had my first website in the late 90s, it was hosted on [xoom.com](https://en.wikipedia.org/wiki/Xoom_(web_hosting)) and I
+had to upload content to it via [FTP](https://en.wikipedia.org/wiki/File_Transfer_Protocol) over a 56k modem, no broadband at that time
+yet. We had fast internet at our school so sometimes I edited the site
+there. Later on I switched to hosting provided by a Finnish computer magazine
+[MikroBitti](https://en.wikipedia.org/wiki/MikroBitti). I stopped maintaining that site around 2005 or so, I must have been
+17 or something and had more important things to worry about (like school and
+*World of Warcraft*... ok, mostly *World of Warcraft*).. It wasn't interesting
+anymore, it mostly contained some CSS website layouts I had made.
+
+Early 2015 I decided I wanted to write a blog. I had no idea what about, but
+everyone on the internet seemed to have some sort of verbal outlet for their
+computer things. So I joined the club, copied some Jekyll theme from somewhere,
+and wrote a couple of posts. Eventually I ended up [deleting those](https://github.com/ane/ane.github.io/commit/0e8fb2a3ab9ed9ed17c7dbabd0451eaea3fab799), and I had
+actually nothing on this site, but in January 2016 [I lowered the bar]({% post_url 2016-01-01-before-we-begin %}) and started
+again.
+
+It seems the most active year (up to now) was 2016, with the quietest period
+being the years 2018-2019. I had lots of things going on in my life around that
+time, and I was still holding the site to too high a standard. I was torn:
+because I was misusing blogging as a medium, I couldn’t blog as a *journal*
+instead I was blogging as a *magazine*. I’ve come to accept that if I am to blog
+often it needs to be an informal journal, otherwise I will set the posting
+standard too high and not post.
+
+Fast forward to 2020 I ended up revitalizing my interest on this site, and this
+happened almost by accident. I created a [created a microblog]({% link _micro/01.md %}) and then [ended it]({% post_url 2020-10-06-no-more-microblog %}),
+because I realized it made no sense to have a blog with an arbitrary minimum
+post length. Then I realized I need to actually have more than just blog posts,
+many of the blog posts I have are actually quite [gargantuan in size]({% post_url 2018-04-26-software-customization %}).
+
+So I started to transition the site towards the blog being, well, just an online
+journal of sorts. More structured content is grouped and assembled into the
+front page, you can read about that below. Eventually, most of the content will
+live outside the blog in various sections, because I think blogging as a medium
+should focus more on a streams-of-though type of posting instead of having
+informative content. I think combining the two makes it very confusing for
+readers.
+
+### Infrastructure ###
+
+This site is a fairly standard [Jekyll](http://jekyllrb.com) static website. The site is divided into
+two principal sections: content and [blog]({% link archive.html %}). Posts are written primarily in
+Markdown. The site is versioned using Git and hosted at
+[sourcehut](https://git.sr.ht/~ane/web), a [builds.sr.ht job](https://git.sr.ht/~ane/web/tree/master/item/.build.yml)
+builds the site after every commit and then pushes the contents to [pages.sr.ht](srht.site).
+
+An essential part of the content section is the [_link](https://jekyllrb.com/docs/liquid/tags/#links) function in Jekyll. All
+the hyperlinks to documents in the site are linked using that, absolute file
+references are not used. The link function ensures the files are there, this
+ensures that there are no dead links on the site. I don’t use [collections](https://jekyllrb.com/docs/collections/)
+anymore (I used them for the microblog), basic [pages](https://jekyllrb.com/docs/pages/) are sufficient to maintain
+the non-blog content on this site. They are not useful for my purposes, perhaps
+I’ll need them one day.
+
+I once tried to use [Org](http://orgmode.org/) to maintain this site, but it was slow and I saw very
+little gain in that. It was quite painful to configure as well. Jekyll is fairly
+easy to hack on and the templating language is quite sufficient.
+
+<figure style="float: right; margin: 1rem;">
+ <img src="{% link images/how.png %}" width="350px" />
+ <figcaption>What this paragraph looks like with markup hidden in Emacs</figcaption>
+</figure>
+
+For editing, I make heavy use of [markdown-mode](https://jblevins.org/projects/markdown-mode/ " ") and [web-mode](http://web-mode.org/). Both are [Emacs
+major modes](https://www.gnu.org/software/emacs/manual/html_node/emacs/Major-Modes.html) for editing markdown and HTML, respectively. web-mode in particular
+is essential for HTML editing since it can handle template engines and has great
+structural navigation and editing commands. Markdown mode does many things, what
+I use the most is the ability to hide the markup (<kbd>C-c C-x C-m</kbd>), so it just looks
+like text, and hyperlinks are formatted inline so I don’t see the ugly link
+syntax. I also insert hyperlinks using <kbd>C-c C-l</kbd> since I can use links I’ve
+previously inserted in the same file.
+
+### Design
+
+This page describes the design of this website. If you come here often you might
+notice that every now and then something changes. That is normal, because I
+*really* enjoy tweaking the smallest of things here, be it adjusting margins,
+adding padding, changing fonts, and so on. It’s a neverending project, I can’t
+tell you if the site as you see *now* will be how it will look like in five
+years. But here’s a rough idea how it looks like at the time of writing.
+
+Most people will ask, "what design?", as you’re greeted with the browser default
+font, probably a serif or sans-serif font, no colors beside the links, barely
+any borders or visual frills. This is by design, or *the* design: the design
+emphasizes this site’s focus on *content*. I want the text to be as readable and
+distraction-free as possible. To this end,
+
+ * the content is center-aligned and constrained to a maximum width on large
+ screens,
+ * the font is black-on-white at about `16px` of height,
+ * the navigation is at the top of the page, and also aligned to the center,
+ * there are no colours or background highlights unless absolutely necessary.
+
+Part of the reason why I don't specify any extra fonts or the like is to make
+sure the site works on any device possible. I also happen to enjoy browsing
+"unstyled" pages because it puts emphasis on content over form, although some
+styling is necessary to make this enjoyable. There is no need to design for
+responsiveness when the site mostly just text.
+
+The stylesheet is [a couple hundred lines of SCSS](https://git.sr.ht/~ane/web/tree/master/item/assets/override.scss) and mostly just deals with the
+formating of the navbar and images, and removing some built-in ugliness of the
+default browser styles, e.g., by thinning out horizontal rules to a single line.
+
+I plan for the central index at the front page to evolve in a tree-like
+structure of the whole site itself, but as the content outside the blog is
+rather thin, it’s just a link to, well, this section.
M _posts/2020-10-11-divergence.md => _posts/2020-10-11-divergence.md +3 -2
@@ 17,9 17,10 @@ To me, and I emphasize *to me*, the blogging format is like a journal, like a
fit the format to just as plain pages. I'll set up some sort of index using the
Jekyll tags mechanism, it fits well for this purpose.
-I've also added a [change log]({% link changelog.md %}) that lists what has changed on the site. While I
+I've also added a changelog that lists what has changed on the site. While I
write [GNU style ChangeLogs](https://www.gnu.org/software/emacs/manual/html_node/emacs/Format-of-ChangeLog.html) in commit messages, this format is not really
-readable or accessible to readers.
+readable or accessible to readers. (*Update, August 2021: The change log is no
+more.*)
I also removed [Bootstrap](https://getbootstrap.com/) CSS from the site. Utility CSS is fun, but the site
design is so minimal it doesn't really make any sense. I also added a [mailing
R _emacs/patches.md => _posts/2020-10-19-patches.md +4 -1
@@ 1,7 1,10 @@
---
-layout: static
+layout: post
date: 2020-10-19T15:17:06+03:00
title: Working with Git and patches in Emacs
+permalink: /:categories/:title:output_ext
+categories:
+ - emacs
tags:
- emacs
- git
R _programming/lisp/guile-test-driver.md => _posts/2020-10-30-guile-test-driver.md +5 -1
@@ 1,7 1,11 @@
---
-layout: static
+layout: post
title: A Guile test runner with an exit code
date: 2020-10-30T21:02:40+02:00
+permalink: /:categories/:title:output_ext
+redirect_from: /programming/lisp/guile-test-driver.html
+categories:
+ - lisp
tags:
- scheme
- guile
R _programming/lisp/goops-virtual-slots-and-ffi.md => _posts/2020-12-06-goops-virtual-slots-and-ffi.md +22 -24
@@ 1,27 1,29 @@
---
-layout: static
+layout: post
title: Recutils, GOOPS and virtual slots
date: 2020-12-06T13:56:09+02:00
+redirect_from:
+ - /programming/lisp/goops-virtual-slots-and-ffi.html
+permalink: /:categories/:title:output_ext
+categories:
+ - lisp
tags:
- scheme
- guile
- recutils
---
-For the past month or so I've been contributing to [GNU
-Recutils](https://www.gnu.org/software/recutils/), a set of tools for editing
-human-readable plain text databases. It's a cool project in its own right, I've
-been using recutils myself for tracking workouts and storing cooking
+For the past month or so I've been contributing to [GNU Recutils](https://www.gnu.org/software/recutils/), a set of tools
+for editing human-readable plain text databases. It's a cool project in its own
+right, I've been using recutils myself for tracking workouts and storing cooking
recipes. The cool part of it is its attempt to be both human-readable *and*
machine-readable, which makes it very easy to use programmatically and then with
a simple text editor.
-The powerful [querying
-facilities](https://www.gnu.org/software/recutils/manual/Querying-Recfiles.html#Querying-Recfiles)
-of recutils is what turns it into a thing of beauty. In particular, [selection
-expressions](https://www.gnu.org/software/recutils/manual/Selecting-by-predicate.html#Selecting-by-predicate)
-are expressions for querying recfiles. For instance, here's how I would query
-exercises in my workout log for squats:
+The powerful [querying facilities](https://www.gnu.org/software/recutils/manual/Querying-Recfiles.html#Querying-Recfiles) of recutils is what turns it into a thing of
+beauty. In particular, [selection expressions](https://www.gnu.org/software/recutils/manual/Selecting-by-predicate.html#Selecting-by-predicate) are expressions for querying
+recfiles. For instance, here's how I would query exercises in my workout log for
+squats:
```
recsel -t Exercise -e "Name ~ 'Squat'" workouts.rec
@@ 33,22 35,18 @@ regular expressions, so `Squat` will match all exercise varieties with the word
The machine readability makes it easy to write programs or tools that interact
with recfiles. I've become maintainer of the Emacs recfile major mode
-[rec-mode](https://elpa.gnu.org/packages/rec-mode.html). The major mode makes
-heavy use of the command line tools of the recutils suite to do provide
-automatic fixing and parsing of recfiles.
+[rec-mode](https://elpa.gnu.org/packages/rec-mode.html). The major mode makes heavy use of the command line tools of the
+recutils suite to do provide automatic fixing and parsing of recfiles.
### if it's possible to put Lisp in it, someone will
-For fun and profit, I've also been writing [GNU
-Guile](https://www.gnu.org/software/guile/) bindings for librec, the library
-powering recutils itself. The bindings actually interface with the C library
-directly using Guile's amazing [C
-extensions](https://www.gnu.org/software/guile/manual/html_node/C-Extensions.html). I
-was interested in using recfiles in a Guile program, and while it would not have
-been too difficult to write a parser myself, I thought it was more important to
-*not* write one myself. What is more, Guile makes it almost too easy to wrap
-libraries, I had a functioning Scheme interface for parsing records in less than
-an hour.
+For fun and profit, I've also been writing [GNU Guile](https://www.gnu.org/software/guile/) bindings for librec, the
+library powering recutils itself. The bindings actually interface with the C
+library directly using Guile's amazing [C extensions](https://www.gnu.org/software/guile/manual/html_node/C-Extensions.html). I was interested in using
+recfiles in a Guile program, and while it would not have been too difficult to
+write a parser myself, I thought it was more important to *not* write one
+myself. What is more, Guile makes it almost too easy to wrap libraries, I had a
+functioning Scheme interface for parsing records in less than an hour.
Let's explore what that interface looks like. We start with the simplest data
type in librec, *fields*.
M _posts/2020-12-08-five-years-of-blogging.md => _posts/2020-12-08-five-years-of-blogging.md +11 -15
@@ 5,24 5,20 @@ tags: [guile, meta]
layout: post
---
-Holy crap, [it's been five years]({% post_url 2015-12-07-start-once-software
-%})! Time passes so quickly. What can happen in five years? Well, during these
-five years I met my wife, we moved not three but four times, we bought our own
-apartment, our daughter was born... many things indeed! Here's to hoping the
-next five years will be as fun and exciting.
+Holy crap, [it's been five years]({% post_url 2015-12-07-start-once-software %})! Time passes so quickly. What can happen in five
+years? Well, during these five years I met my wife, we moved not three but four
+times, we bought our own apartment, our daughter was born... many things indeed!
+Here's to hoping the next five years will be as fun and exciting.
-On this site I've posted [twenty something blog entries](/archive.html) plus a
-smattering of other writings. I've picked up the pace this year after having
-a renewed interest for this site. It's still running on Jekyll and hosted on
-GitHub pages, so that hasn't changed.
+On this site I've posted [twenty something blog entries](/archive.html) plus a smattering of
+other writings. I've picked up the pace this year after having a renewed
+interest for this site. It's still running on Jekyll and hosted on GitHub pages,
+so that hasn't changed.
I'm still working at the same place as before, though I've changed roles and
responsibilities some four to five times. I have not had the chance to become
bored, so that's nice.
-Lately I've been playing around with [GNU
-Recutils](https://www.gnu.org/software/recutils/) and became maintainer of it's
-Emacs major mode [rec-mode](https://elpa.gnu.org/packages/rec-mode.html). In
-passing I've also dabbled in writing [Guile
-Scheme](https://www.gnu.org/software/guile/) bindings for librec, the library
-powering recutils. [Read more about this here]({% link _programming/lisp/goops-virtual-slots-and-ffi.md %})!
+Lately I've been playing around with [GNU Recutils](https://www.gnu.org/software/recutils/) and became maintainer of it's
+Emacs major mode [rec-mode](https://elpa.gnu.org/packages/rec-mode.html). In passing I've also dabbled in writing [Guile Scheme](https://www.gnu.org/software/guile/)
+bindings for librec, the library powering recutils. [Read more about this here]({% post_url 2020-12-06-goops-virtual-slots-and-ffi %})!
D _programming/index.md => _programming/index.md +0 -21
@@ 1,21 0,0 @@
----
-layout: static
-title: Programming & Software development
-date: 2020-10-08
-redirect_from:
- - /programming/practices/
- - /programming/lisp/
----
-
-I've been programming for as long as I can remember. This section of the site is
-devoted to the practice and art of computer programming, from programming in the
-[small or large](https://en.wikipedia.org/wiki/Programming_in_the_large_and_programming_in_the_small).
-
-### Software development practices
-
-* [The overhead of test-driven development]({% link _programming/practices/tdd.md %})
-
-### Lisp
-
-* [A Guile test runner with an exit code]({% link _programming/lisp/guile-test-driver.md %})
-* [Recutils, GOOPS and virtual slots]({% link _programming/lisp/goops-virtual-slots-and-ffi.md %})
D _this-site/design.md => _this-site/design.md +0 -38
@@ 1,38 0,0 @@
----
-layout: static
-title: Design of this site
-date: 2020-10-07T11:51:53+03:00
-tags: [design, this-site, scss]
----
-This page describes the design of this website. If you come here often you might
-notice that every now and then something changes. That is normal, because I
-*really* enjoy tweaking the smallest of things here, be it adjusting margins,
-adding padding, changing fonts, and so on. It’s a neverending project, I can’t
-tell you if the site as you see *now* will be how it will look like in five
-years. But here’s a rough idea how it looks like at the time of writing.
-
-Most people will ask, "what design?", as you’re greeted with the browser default
-font, probably a serif or sans-serif font, no colors beside the links, barely
-any borders or visual frills. This is by design, or *the* design: the design
-emphasizes this site’s focus on *content*. I want the text to be as readable and
-distraction-free as possible. To this end,
-
- * the content is center-aligned and constrained to a maximum width on large
- screens,
- * the font is black-on-white at about `16px` of height,
- * the navigation is at the top of the page, and also aligned to the center,
- * there are no colours or background highlights unless absolutely necessary.
-
-Part of the reason why I don't specify any extra fonts or the like is to make
-sure the site works on any device possible. I also happen to enjoy browsing
-"unstyled" pages because it puts emphasis on content over form, although some
-styling is necessary to make this enjoyable. There is no need to design for
-responsiveness when the site mostly just text.
-
-The stylesheet is [a couple hundred lines of SCSS](https://github.com/ane/ane.github.io/blob/develop/assets/override.scss) and mostly just deals with the
-formating of the navbar and images, and removing some built-in ugliness of the
-default browser styles, e.g., by thinning out horizontal rules to a single line.
-
-I plan for the central index at the front page to evolve in a tree-like
-structure of the whole site itself, but as the content outside the blog is
-rather thin, it’s just a link to, well, this section.
D _this-site/how.md => _this-site/how.md +0 -38
@@ 1,38 0,0 @@
----
-layout: static
-title: How this site works
-date: 2020-10-07T11:54:36+03:00
-tags: [this-site, jekyll, emacs, markdown-mode, web-mode]
----
-This site is a fairly standard [Jekyll](http://jekyllrb.com) static website. The site is divided into
-two principal sections: content and [blog]({% link archive.html %}). Posts are written primarily in
-Markdown. The site is versioned using Git and hosted at [GitHub](https://github.com/ane/ane.github.io/), a [Travis CI](https://github.com/ane/ane.github.io/blob/develop/.travis.yml) job
-builds the site after every commit and then pushes the contents of the develop
-branch onto master, which is served by GitHub pages.
-
-An essential part of the content section is the [_link](https://jekyllrb.com/docs/liquid/tags/#links) function in Jekyll. All
-the hyperlinks to documents in the site are linked using that, absolute file
-references are not used. The link function ensures the files are there, this
-ensures that there are no dead links on the site. I don’t use [collections](https://jekyllrb.com/docs/collections/)
-anymore (I used them for the microblog), basic [pages](https://jekyllrb.com/docs/pages/) are sufficient to maintain
-the non-blog content on this site. They are not useful for my purposes, perhaps
-I’ll need them one day.
-
-I once tried to use [Org](http://orgmode.org/) to maintain this site, but it was slow and I saw very
-little gain in that. It was quite painful to configure as well. Jekyll is fairly
-easy to hack on and the templating language is quite sufficient.
-
-<figure style="float: right; margin: 1rem;">
- <a href="{% link _this-site/how.png %}"><img src="{% link _this-site/how.png %}" width="350px"></a>
- <figcaption>What this paragraph looks like with markup hidden in Emacs</figcaption>
-</figure>
-
-For editing, I make heavy use of [markdown-mode](https://jblevins.org/projects/markdown-mode/ " ") and [web-mode](http://web-mode.org/). Both are [Emacs
-major modes](https://www.gnu.org/software/emacs/manual/html_node/emacs/Major-Modes.html) for editing markdown and HTML, respectively. web-mode in particular
-is essential for HTML editing since it can handle template engines and has great
-structural navigation and editing commands. Markdown mode does many things, what
-I use the most is the ability to hide the markup (<kbd>C-c C-x C-m</kbd>), so it just looks
-like text, and hyperlinks are formatted inline so I don’t see the ugly link
-syntax. I also insert hyperlinks using <kbd>C-c C-l</kbd> since I can use links I’ve
-previously inserted in the same file.
-
D _this-site/index.md => _this-site/index.md +0 -20
@@ 1,20 0,0 @@
----
-layout: static
-date: 2020-10-10
-title: About this site
----
-
-Sometimes people ask me (well, one person did) how I actually author content on
-this site and also how I maintain and host it. Essentially, it’s a
-run-of-the-mill [Jekyll](https://jekyllrb.com/) site hosted on [GitHub
-pages](https://pages.github.com/). The following pages explain further details.
-
- * [Design rationale]({% link _this-site/design.md %})
- * [Origin of this site]({% link _this-site/origin.md %})
- * [How this site works]({% link _this-site/how.md %})
-
-## Copying
-
-All text and code on this site is available under the [CC BY 2.0](https://creativecommons.org/licenses/by/2.0/) license unless
-otherwise noted.
-
D _this-site/origin.md => _this-site/origin.md +0 -47
@@ 1,47 0,0 @@
----
-layout: static
-title: Origin of this site
-date: 2020-10-07T11:52:24+03:00
-tags: [history, this-site]
----
-
-About five years ago I realized I wanted to have a website again. Yes, *again*,
-this wasn't the first time I had had a website.
-
-I think I had my first website in the late 90s, it was hosted on [xoom.com](https://en.wikipedia.org/wiki/Xoom_(web_hosting)) and I
-had to upload content to it via [FTP](https://en.wikipedia.org/wiki/File_Transfer_Protocol) over a 56k modem, no broadband at that time
-yet. We had fast internet at our school so sometimes I edited the site
-there. Later on I switched to hosting provided by a Finnish computer magazine
-[MikroBitti](https://en.wikipedia.org/wiki/MikroBitti). I stopped maintaining that site around 2005 or so, I must have been
-17 or something and had more important things to worry about (like school and
-*World of Warcraft*... ok, mostly *World of Warcraft*).. It wasn't interesting
-anymore, it mostly contained some CSS website layouts I had made.
-
-Early 2015 I decided I wanted to write a blog. I had no idea what about, but
-everyone on the internet seemed to have some sort of verbal outlet for their
-computer things. So I joined the club, copied some Jekyll theme from somewhere,
-and wrote a couple of posts. Eventually I ended up [deleting those](https://github.com/ane/ane.github.io/commit/0e8fb2a3ab9ed9ed17c7dbabd0451eaea3fab799), and I had
-actually nothing on this site, but in January 2016 [I lowered the bar]({% post_url 2016-01-01-before-we-begin %}) and started
-again.
-
-It seems the most active year (up to now) was 2016, with the quietest period
-being the years 2018-2019. I had lots of things going on in my life around that
-time, and I was still holding the site to too high a standard. I was torn:
-because I was misusing blogging as a medium, I couldn’t blog as a *journal*
-instead I was blogging as a *magazine*. I’ve come to accept that if I am to blog
-often it needs to be an informal journal, otherwise I will set the posting
-standard too high and not post.
-
-Fast forward to 2020 I ended up revitalizing my interest on this site, and this
-happened almost by accident. I created a [created a microblog]({% link _micro/01.md %}) and then [ended it]({% post_url 2020-10-06-no-more-microblog %}),
-because I realized it made no sense to have a blog with an arbitrary minimum
-post length. Then I realized I need to actually have more than just blog posts,
-many of the blog posts I have are actually quite [gargantuan in size]({% post_url 2018-04-26-software-customization %}).
-
-So I started to transition the site towards the blog being, well, just an online
-journal of sorts. More structured content is grouped and assembled into the
-front page, you can read about that [over here]({% link _this-site/how.md %}). Eventually, most of the content
-will live outside the blog in various sections, because I think blogging as a
-medium should focus more on a streams-of-though type of posting instead of
-having informative content. I think combining the two makes it very confusing
-for readers.
M about.md => about.md +15 -11
@@ 8,16 8,14 @@ permalink: /about/
<img title="I, in picture form" class="me-pic" src="/images/me.png" width="125" />
-Hi, I'm Antoine. I work as a software architect at
-[Qvantel](http://www.qvantel.com), where I build software for the telecom
-industry. I live in Jyväskylä, Finland with my wife and
-daughter.
+I work as a software architect at [Qvantel](http://www.qvantel.com), where I
+build software for the telecom industry. I live in Jyväskylä, Finland with my
+wife and daughter.
-At work I am the lead architect for a suite of products in the telecom sector,
-building applications and systems telecom operators use to streamline their
-business. I work as the hub in the center of engineering, design, product
-management, and business expertise, ensuring technical excellence while we build
-amazing things.
+I work as a software architect for a suite of products in the telecom sector,
+building applications and systems telecom operators use to run their
+business. My job is the hub in the center of software engineering, product
+design, product management, and business expertise.
I've been programming since childhood, moving from silly games to desktop
software to the web and systems. I've worked with desktop software, web
@@ 28,14 26,20 @@ I write here about topics that interest me. I can't offer a single term that
could cover all the categories in this blog, although if I had to guess,
*software* might be a good one.
-You if you have any questions you can reach me via [email](mailto:ane@iki.fi).
+You if you have any questions you can reach me via [email](mailto:ane@iki.fi),
+or send them to my [public inbox](https://lists.sr.ht/~ane/public-inbox).
I don't use encrypted email, but here is my GPG fingerprint. The key contains a
separate signing subkey for digital signatures.
-
<pre class="highlight">
pub rsa2048/<a href="/kalmbach.asc">72D14BAA07AF4A14</a> 2018-06-12
Key fingerprint = 7997 DD52 4B88 0466 DCEE 96ED 72D1 4BAA 07AF 4A14
uid Antoine Kalmbach <ane@iki.fi>
</pre>
+
+All content on this site, unless otherwise noted, is released under
+[CC-BY-SA](https://creativecommons.org/licenses/by-sa/2.0/) and all code,
+including the sources of the website itself, is
+[MIT](https://opensource.org/licenses/MIT).
+{: #copying}
M archive.html => archive.html +9 -1
@@ 3,4 3,12 @@ layout: page
title: Archive
---
-{% include year-archive.html collection=site.posts %}
+<h2>Blog archive</h2>
+
+You can subscribe via <a href="/feed.xml">RSS</a>.
+
+<ul>
+ {% for post in site.posts %}
+ <li><a href="{{ post.url }}">{{ post.title }}</a> <span style="float: right; margin-left: 1rem;">{{ post.date | date: "%B %d, %Y" }}</span></li>
+ {% endfor %}
+</ul>
D changelog.md => changelog.md +0 -36
@@ 1,36 0,0 @@
----
-title: Recent changes on this site
-layout: page
----
-
-## Change Log
-
-You can also browse the [git repository log](https://git.sr.ht/~ane/web/log) for
-raw commit data.
-
-### July 28th, 2021
-
- * [This website is now hosted on sourcehut]({% post_url 2021-07-28-this-website-is-now-on-sourcehut %})
-
-### December 8th, 2020
-
- * It's been [five years]({% post_url 2020-12-08-five-years-of-blogging %})!
- * [Recutils, GOOPS and virtual slots]({% link _programming/lisp/goops-virtual-slots-and-ffi.md %})
-
-### October 30th, 2020
-
- * [A Guile test runner with an exit status]({% link _programming/lisp/guile-test-driver.md %})
-
-### October 23rd, 2020
-
- * [Email, Git and Emacs]({% link _emacs/patches.md %})
-
-### October 11th, 2020
-
- * New blog post about [changes on the site]({% post_url 2020-10-11-divergence %})
-
-### October 9th, 2020 ###
-
- * Added a new document about [test-driven development]({% link _programming/practices/tdd.md %})
- * Started to keep this change log because git commits aren't as nice they
- should be.
R _this-site/how.png => images/how.png +0 -0
D index.html => index.html +0 -62
@@ 1,62 0,0 @@
----
-layout: default
-title: Home
-cover: false
-about: 'about.html'
----
-
-<img title="I, in picture form" class="me-pic" src="/images/me.png" width="125px" />
-
-<p>
- <strong>Hello! I'm Antoine</strong>. Welcome to my website. I am computer
- programmer and electronics enthusiast from Finland. I work at <a href="http://www.qvantel.com">Qvantel</a> as
- a software architect for the telecom sector. Before that, I used to work in
- logistics optimization, before that I did research at a university, and way
- before that I got my start in web design.
-</p>
-
-<p>
- On this site you can find various content related to computers, electronics
- and all sorts of fun nonsense. There’s a
- <a href="/archive.html">blog</a>, in which I post rather infrequently.
-</p>
-
-<p>
- If you have any comments or suggestions you can send them to my <a href="https://lists.sr.ht/~ane/public-inbox"><b>public inbox</b></a> which
- is a mailing list serving as a discussion forum for my projects, including
- this website. Preferably, use the mailing list unless your message for one
- reason or the other is private, in which case you can use my <a href="mailto:ane@iki.fi">personal mail address</a>. You
- can send me patches both on the mailing list or my personal address.
-</p>
-
-{% assign changelog = site.pages | where: 'name', 'changelog.md' | first %}
-{% assign lm = changelog.last_modified_at %}
-{% if changelog %}
- <h4><a href="{% link changelog.md %}"><b>Recent changes</b></a> on {{ lm | date: '%B %d, %Y' }}.</h4>
-{% endif %}
-
-
-<h2>Site contents</h2>
-
-<ul>
- <li><a href="/programming/"><b>Programming</b></a>, Lisp, software development practices</li>
- <li><a href="/emacs/"><b>Emacs</b></a>, the extensible, self-documenting text editor</li>
- <li><a href="/this-site/"><b>This site</b></a>, about the site, <a href="{% link _this-site/origin.md %}">its origins</a>, its <a href="{% link _this-site/design.md %}">design rationale</a>, or <a href="{% link _this-site/how.md %}">how it works</a></li>
-</ul>
-
-<h2>Latest blog posts</h2>
-
-<ul>
- {% assign all = site.posts | sort: "date" | reverse %}
- {% for p in all limit:10 %}
- <li>
- <div style="float: right; margin-left: 1rem;">
- <em>{{ p.date | date: '%B %d, %Y' }}</em>
- </div>
-
- <a href="{{ p.url }}">{{ p.title }}</a>
- </li>
- {% endfor %}
-</ul>
-
-For more, have a look at the <a href="/archive.html">blog archive</a>.
A index.md => index.md +41 -0
@@ 0,0 1,41 @@
+---
+layout: default
+title: Home
+cover: false
+about: 'about.html'
+---
+
+{: .me-pic width="125px"}
+
+**Hello! I'm Antoine**. Welcome to my website. I am computer programmer and
+electronics enthusiast from Finland. I work at [Qvantel](http://www.qvantel.com)
+a software architect for the telecom sector. Before that, I used to work in
+logistics optimization, before that I did research at a university, and way
+before that I got my start in web design.
+
+On this site you can find various content related to computers, electronics and
+all sorts of fun nonsense. There’s a [blog](/archive.html), in which I post
+rather infrequently.
+
+If you have any comments or suggestions you can send them to my [public
+inbox](https://lists.sr.ht/~ane/public-inbox) which is a mailing list serving
+as a discussion forum for my projects, including this website. Preferably, use
+the mailing list unless your message for one reason or the other is private, in
+which case you can use my [personal mail address](mailto:ane@iki.fi).
+
+### Latest blog posts
+
+<ul>
+ {% assign all = site.posts | sort: "date" | reverse %}
+ {% for p in all limit:10 %}
+ <li>
+ <div style="float: right; margin-left: 1rem;">
+ <em>{{ p.date | date: '%B %d, %Y' }}</em>
+ </div>
+
+ <a href="{{ p.url }}">{{ p.title }}</a>
+ </li>
+ {% endfor %}
+</ul>
+
+For more, have a look at the <a href="/archive.html">blog archive</a>.
R _programming/practices/tdd.md => programming/practices/tdd.md +1 -2
@@ 2,8 2,7 @@
layout: static
title: The overhead of test-driven development
date: 2020-10-09T11:44:50+03:00
-tags: [tdd, practises]
-categories: [practices]
+tags: [tdd, practices]
---
There are significant merits in [test-driven development](https://en.wikipedia.org/wiki/Test-driven_development) (TDD), but I think its costs