Ghost Letters 幽霊文字

Posts

Enjoyable Tasks

Published

During job interviews an evergreen question is “Tell me about tasks you enjoy” or in a similar vein “What were your biggest successes during the last project?” I always found it hard to come up with a good answer on the spot, simply because I did not think about it before. Of course there are some tasks that I enjoy more than other tasks, but what elements do they have in common?

Building IT Solutions is Like Going to the Beach

Published

Preface - Metaphors Are Always Wrong Comment sections are full of more or less well intended metaphors. One of the most popular ones is comparing X with a car. Of course there is no shortage of people that explain en detail why these metaphors are wrong. I think those comments often miss the point of a good metaphor. A metaphor is by definition an abstraction, or you could call it a model.

The Higher Goods Require Sacrifices - From Others

Published

Everybody Likes Nice Things Most people can agree on a set of values and final results that they consider good and desirable. In case of software engineering terms like ‘consistent design’, ‘maintainable code’ or ’testable components’ are fairly common and accepted as important goals. Only engineers out of their mind would argue for ‘inconsistent design’ or ‘unmaintainable code’. However, the world is full of IT departments that pump out Big Ball of Mud systems like if they hit an oil well.

Making Programming Screencasts

Published

Lessons Learned While Producing my First Screencasts This article contains my personal notes, about things I learned, while doing my first screencast series on youtube. My initial goal was to practice my skill of presenting a problem and showcase a solution. Both parts should be somewhat ’entertaining’ (given that one is into the very special topic of programming) and also be educational. Notice, I produced two playlists on the very same topic.

Search Entities like Google - Part 0

Published
Tags search google

Problem Motivation These posts accompany my video tutorial in a written form. They are not 1:1 copies of the video content, but provide a rather coarse overview and ‘bonus material’. You find all the code on github. Searching is a common and arbitrary hard problem in computer science. Building a good solution can make you rich, really rich, Google scale rich. And here you gonna learn the secret sauce how to build a good search.

How to Have a Good Conversation

Published

Remedy Proposal In the last post I wrote about ways to damage a conversation (I am sure there are a lot more). This post will list some ways that help a conversation in my experience. start a conversation with something positive and/or a compliment. Telling someone that you are happy to see her/him never hurts, and might brighten his/her day. use a positive conception of humans. Human communication is inherently context dependent and therefore ambiguous.

How to Not Have a Good Conversation

Published

Problem Description I experience conversations often as a non-pleasant interaction between me and another person. My natural reaction after such interaction is to avoid conversations, but lately I had to admit that this strategy has several drawbacks. First, dealing with unpleasant situations by avoidance is a questionable strategy at least. Of course, some things that one does not like are probably handled best by ignoring. For instance, I don’t like Metal music, so I simply avoid locations and radio stations that mainly play Metal.

FAANG & Co as Sport Clubs

Published

IT organizations in germany (I would even say in whole europe) are infamous for the lack of best-in-their-league applications they produce. In contrast, the United States defended their pole position in the IT world for half a century (contest by China lately). How they reached and maintained this position is often reduced to their ability to pay insane salaries. I think there are two more steps in the process. One comes before the money truck and one after.

BBB - Head Meta

Published

Each HTML document consist of two basic building blocks: a head and a body. The body contains the actual content while the head consists mainly of meta information. Meta information helps the browser to display the body content in the most appropriate way. Furthermore, it helps other machines to make sense of your page. Machines can be search engine robots or social media platforms like Twitter or Mastodon. When you post a link there, the platform tries to display some preview information like a picture and a short summary.

Basic Blog Blocks - HTML Shell

Published

The domain is connected to the (virtual) server, the web server software is idling for requests. So finally, we are ready to write our content, aren’t we? Not quite. We still lack the basic HTML that structures our content. Otherwise, we might just hand out plain text and that is something nobody likes. Plain text tends to be hard to parse for machines and for humans, as well (kind of).

Basic Blog Blocks - Caddy Web Server

Published

With a domain and a (virtual) server the foundation is ready, and we can start to serve some basic HTML to our readers. Therefore, we need a web server - meaning a software that can talk to browsers that call our domain. I went with Caddy 2, which is a rather new web server written in Go. The nice part of caddy is that it was developed with encryption via https in mind.

Basic Blog Blocks - RSS Feed

Published

The plan for today was writing about the setup of my caddy web server. However, a wild private message appeared on Mastodon and asked me: why does your blog lack an RSS feed? Good question why did it? And what could I do about it? Asking for an RSS feed was an excellent question for several reasons: I knew many people at mastodon like RSS and organize the blogs they follow via feeds.

Basic Blog Blocks - Part 2

Published

As outlinde in the last post, having a server that is reachable by a custom domain is very nice. However, having a server and having a blog are still two different kettles of fish. One needs at least some kind of web server that hands (preferably) HTML files to each visiting browser. Good, web server software is free and plentiful. HTML is easy to write even with the dumbest text editor.

Basic Blog Blocks

Published

When you want to host your own blog there is a bunch of ingredients you will need. While you can always go more low level (wanna write an own web server?) the general parts are somewhat fixed. You will need a domain, a server, a web server and some content. Oh, and you need to wire it all together, because each part on its own is as helpful as an unassembled Ikea shelf.

Yet Another Custom Blog

Published
Tags

The initial intention of this post was a technical summary about how this blog works. Somehow the writing went into another direction and is now contemplating about why anyone would even spend hours building yet another custom blog (YACB) instead of just using one of the existing blogging platforms. Since years, I wanted to self-host a blog, because self hosting seems to be the only way to keep control over what exactly is served to your potential readers.

Initial Post

Published
Tags initial post

Happy new year 2021. Here is a picture. Cheers