Jan-Lukas Else

Tech, life and everything else

2020-03


Writing a SQL database from scratch in Go

Published on in 🔗 Links

Phil Eaton wrote a really cool article. He documented how he used Go to write a rudimentary SQL database including a CLI. It is very interesting to read how commands are parsed and analyzed. The whole thing probably has no practical use (there are already countless mature database systems), but it’s still exciting. I remembered some of the math lectures in the first semester about formal languages.

View

Published on in 💬 Micro

No, my implementation (it’s still a WIP) doesn’t support sending “Update"s and “Delete"s yet. It’s one thing that bothers me about ActivityPub. Webmention is so much simpler in that regard. There also seems to be no way of forcing Mastodon to refetch an activity object other than sending an “Update” or “Delete” activity.

View

Published on in 💬 Micro

Just a small note: I deleted my Microblog.pub instance. I liked this piece of software and it’s a nice single-user alternative to Mastodon, but I don’t need a Fediverse instance anymore. My new fediverse strategy is to use my normal blog to post stuff (you can follow me via @en@jlelse.blog and @de@jlelse.blog) and Miniflux to follow people (Mastodon offers RSS user feeds).

If you reply to posts or mention my user handle in a public post on Mastodon, I will receive a notification and your reply will appear in the “Interaction” section under the post. If you interact with a post on your website and don’t automatically send Webmentions, you can also submit the URL in the form below each post.

By removing Microblog.pub from my server it also reduces the need for resources a lot. Python as well as MongoDB don’t seem to be that resource friendly. I currently use the cheapest VPS option from Hetzner and for the few remaining things hosted there (my website, my blog and some Go tools etc.), it’s more than enough.

View

Careless neighbors

Published on in 💭 Thoughts

I live in an apartment building with neighbors in all directions. But some neighbors don’t seem to care at all whether they disturb their neighbors with very loud music. At the moment I don’t have to study, but with this noise I couldn’t study at all. It’s not an exaggeration, but I hear the neighbors’ music as loud as if I were listening to music myself either through speakers or headphones. By now I have come to terms with the almost daily nightly screaming of their child, which wakes me up as a result. Maybe the child is in pain or something? But I find this loud music simply outrageous.

View

Published on in 💬 Micro

I use BunnyCDN as storage for my Micropub media endpoint, where I upload all the photos and other media files I publish on my blog. When I upload a new photo the media endpoint first uploads the original file with the name of it’s SHA-256 hash value (so when I upload the same file multiple times, it doesn’t create multiple files). When I upload an image (JPEG or PNG) it also gets optimized and resized to a maximum width of 2000 pixels using the Tinify API (and then uploaded to BunnyCDN too), doing that significantly reduces the file size of the images displayed on my blog.

It would be probably awesome to also serve different formats based on the Accept HTTP header (WebP for browsers that support it) or different sizes, but I decided I want to hold my perfectionism (and the complexity) in check and settle for using just one optimized file version in the original file format. If at some point all browsers support WebP, I might consider using only WebP files, but until then it still takes time.

At the moment I don’t backup the files from BunnyCDN (I trust that they - or I - don’t accidentally delete them), but I could probably setup a cron job to regularly copy new files via FTP from their storage to another storage.

View

Published on in 💬 Micro

I already thought about remote conferences last year and it seems like it’s becoming a reality with all those canceled conferences now only taking place online. Although it is not for environmental reasons (but rather to protect people), it may show some organizers that remote conferences are perhaps not such a bad alternative. It just needs to be technically well implemented and it will take a few less flights.

View

Coding

Published on in 💭 Thoughts

When I write code, it often serves the purpose it is supposed to serve. However, it is often not the most elegant. Especially when I compare my code with other implementations, I sometimes find mine somewhat ugly. I think I’m thinking too chaotic, start writing the code immediately and while I’m writing it, I think of things I could do differently and in the end it’s a big mess. Maybe I should first sketch my code on paper and then type it into the computer without thinking much about it? Or are these just feelings of inferiority and my code is not so bad after all?

View

Quizlet

Published on in 🔗 Links

This semester, as already mentioned, I take a Spanish course. Of course, learning languages also includes learning vocabulary. I looked for suitable apps and found Quizlet. I like the app even more than I thought. For example, I can create “learning sets” on the computer and learn from anywhere on my mobile phone. And various learning functions also ensure that I not only create virtual flashcards, but also learn the vocabulary.

View

Published on in 💬 Micro

A beautiful flower in my living room. 🌺

🖼️ View

Back to study

Published on in 💭 Thoughts

Tomorrow is the first day of the new semester with two lectures, one in the forenoon, one in the evening. I am really very curious how this semester will be and if everything will work out as I have planned.

View

Jan-Lukas Else