jlelse's Blog

Thoughts, stories and ideas

Go

How my blogroll gets generated (now completely automatic!)

in 👨‍💻 Dev

Yesterday I teased a new post about how I automated my blogroll generation by writing a Go script and using the Miniflux API. Here it is.

Read more

My own Static Site Generator

in 💭 Thoughts

Because I don’t have enough side projects yet, I started programming my own static site generator, with the creative name GoBlog. I doubt it will replace my use of Hugo in the near future, but it is exciting to write a Go program that is designed for high speed. I get to know features that I have never used before. I also learn what to pay attention to when thousands of files have to be parsed and processed concurrently.

Read more

Stack Overflow Developer Survey 2020

in 🔗 Links

The result of the Stack Overflow Developer Survey 2020 has been published and as every year it is quite interesting to take a look at it. But it is also important to note that the survey was conducted in February, before some countries went into lockdown. It is interesting to see that Go developers get a much higher average salary than Java developers. Is it perhaps also an advantage in terms of my career that I have been getting more involved with Go lately and that it is my favourite language for my private projects?

Read more

Use Telegram as a notification service with Go

in 👨‍💻 Dev

Telegram is my favorite messenger for chatting. There are many reasons for this. But Telegram is also very suitable to use it as a notification service for your own projects. For example I get a daily overview of the number of page views of my blogs, but also notifications about new Webmentions, or likes and announcements via ActivityPub are sent to me via Telegram. That I use Telegram is because the Bot API is so easy to use.

Read more

in 💬 Micro

It seems like I’m currently a bit obsessed with creating new Go-based projects. Yesterday, I announced my new Telegram channel, where it’s possible to receive notifications about new entries on my blog (I created another channel for the German posts too). First, I tried to use IFTTT, but somehow IFTTT’s behavior is a bit unpredictable and I thought it’s probably easier to just code my own solution. It was only a task of about an hour, but now it works the way I want it to work.

Read more

in 💬 Micro

What I like about Go: It’s quick and easy to create small programs, including support for Docker and everything. For example, today I developed a minimal URL shortener that stores the entries in a SQLite database: https://jlel.se/goshort Now I have finally found a good use for the domain I recently registered. 😄

Read more

in 💬 Micro

I admit it is the first time I am writing code that is almost 100% covered by unit tests. But it’s such a good feeling to have small, concise methods whose functionality you can rely on. Even before I have a running application, I know that what is already written will work. And unit testing with Go is really fun.

Read more

Writing a SQL database from scratch in Go

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.

Read more

in 💬 Micro
Reply to: A question by Beko Pharm

Yes there is a microformats library for Go. Will Norris also made the webmention library, which I’m using in my custom Hugo backend. I’m not saying it’s not possible to parse and display webmentions, I’m just trying to keep things simple. 😊 Everything is possible!

Read more

Refactoring

in 💬 Micro

I wrote about my Indieweb dream this morning. To come closer to this dream and to clean up some code, I started refactoring my hugo backend code. I made use of Go interfaces to later be able to easily add more storage, CDN or social network providers. It also made the code a bit cleaner and a bit more modular, but there’s still a lot of learning and work to do.

Read more

Jan-Lukas Else