My favourite feature of Markdown is... not using markdown at all! Since
markdown is a superset of HTML, it is possible to simply include plain HTML
code in markdown documents like so
I'm essentially retired now from taekwondo. It was a hobby that I practiced
from 2007 until Arjen was born in 2020, with a rough 1-year break while I was
living on a temporary assignment where I couldn't find a school at which I
enjoyed training. I was hoping that this …
Here are some more photos of Arjen from when he was 9 months old. As you can
see, by the point he became a pro at sitting up by himself, and started to
stand up with support as well. He also loves playing with balls and his
parents' phones.
Here are some more photos of Arjen from when he was 7-8 months old. This was a
big period for him. He learned how to sit up by himself, and it wasn't long
before he figured out how to crawl and start pulling himself up too! Probably
the cutest part …
My original intent was to post photos of Arjen every month or so, but
definitely fell behind. Part of this is just due to not being able to find the
time, and part of it is also because we have so many photos that it's difficult
to choose. At one …
Any useful programming language provides a means to implement composite data types, ie. data types built as a composition of primitive and other composite data types. Python provides many ways to implement these structures, but I want to write about how to do this using named tuples and dataclasses.
I just read a fantastic article about the "Make Invalid States
Unrepresentable" principle. I have never heard of this principle by name, but I
have seen code several times which violates this principle and it makes reading
and understanding it incredibly more difficult.
I read an article today about why Firefox had to get rid of XPCOM addons.
The article makes all the right technical arguments as to why Firefox had to
get rid of XPCOM extensions. And Mozilla were correct in the decision to do so
- the presence of XPCOM extensions was …
I recently came across an excellent blog post which has some suggestions
on interesting short-term coding projects. I think these projects are a fun way
to learn a new language (lately, I've been interested in learning Nim and
Ocaml, for reasons that I'll try to explain some other time).
Sending files around a network always seems to be difficult for some reason.
But Python has a built-in utility that makes this much easier. Simply run this
at the command line:
python3 -m http.server 8080
Python will start an HTTP server on port 8080 and it will serve all …
Arjen Banerjee is about 2 months old now. Here are a few more photos:
He is definitely growing both physically and mentally. He is showing many more
facial expressions and starting to laugh and smile more. It is irresistibly
cute. In fact, here is a video of him giving multiple …
reddit.com changed the interface of their website a year or two ago. I
won't go into more detailed criticism of the changes beyond saying that it
has a deficient level of information density for practical use.
After the change was introduced however, the previous styling could still be
accessed …
I had never before had to set up an alternate input method for myself. However,
today, my wife asked me to help her do so.
An input method helps users type characters in other languages. Two
popular input method frameworks are IBus and fcitx. In this example,
I'll show how …
Python is my favourite language. Some find it surprising that my preferred
editor for coding is not an IDE, but vim. Not even vim with plugins, but vim
with very few customisations. This won't be an in-depth post on how I use
vim - that would take me too long to …
Over this past weekend, I assembled a desktop computer. This was my first time
ever putting a desktop together and I found it more difficult than I expected.
I want to write about my experiences and what I learned while they are still
fresh.
I want to write a short post on why I feel that document typesetters are
advantageous to using document processors for generating publications. This is
not meant to be a persuasive essay. Rather, I just wanted to take a moment here
to comprehensively describe some technical reasons why I prefer …
I decided this past weekend to set up email my on own domain. My previous
post detailed why I decided to do this. Now I'll explain how I implented it
and why I made some of the choices that I did.
My DNS is registered using Gandi, and they provide …
It has long been a priority of mine to migrate my email addresses to my own
domain name. My reasons for doing this are quite numerous:
Email is probably our most intimate form of communication, and I am
growing increasingly uncomfortable about using external services like
Gmail to host it …
I created this website using Pelican. I think it's absolutely fantastic.
Pelican belongs to a class of software called static site generators. Static
site generators are pieces of software which allow users to write articles
using very simple markup languages such as Markdown, or Restructured
Text and generate them into …