- Working on an unfamiliar codebase
-
In our profession, it’s common to work on an unfamiliar codebase. It happens every time one joins a new project or even needs to work on a previously untouched part in big ones. This occurrence is not limited to a developer having to fix a bug; it can be a solution architect having to design a new feature or an OpenSource contributor working on a GitHub issue in their free time. Hence, I want to describe how I approach the situation so it can benefit others.
- Implementing a "Share on Mastodon" button for a blog
-
Sharing on Mastodon is more complex than on other social media because of its decentralized nature: you need to first choose the Mastodon instance you publish to.
- The Essence of Successful Abstractions
-
Complexity has to live somewhere; but it does not have to live everywhere.
Most of the early debates about complexity were about essential vs. accidental. Incidental complexity comes from the real world, while accidental is the one we create and can be tamed. The post provides a fresh perspective on this old division.
- Highlighting journalism on Mastodon
-
TL;DR:
- Add a
fediverse:creator
meta tag, e.g.,<meta name="fediverse:creator" content="@frankel@mastodon.top" />
- Add your links' domain to the list of verified sites, e.g.,
https://blog.frankel.ch
.At this point, you’ll get a nice "More from" footer on your toots that point to your domain.
- Add a
- Architects Are Useless… Until They’re Not
-
Our industry is caught between calling the architects useless and making them all powerful. The post strives to understand the context in which they are indeed useful. Context is important as always.
- Kafka Has Reached a Turning Point
-
I never bought the Kafka hype. A couple of years ago, it was ubiquitous. Just as the old-age motto, you wouldn’t get fired if you bought IBM, it seemed that you couldn’t fired if you set up Kafka. Still, Kafka wasn’t a database, it was temporary storage. Moreover, transforming data incurred reading from disk and writing to disk again: highly inefficient. There are use cases for Kafka, but it shouldn’t be the magical fallback solution it is now.
- Every System is a Log: Avoiding coordination in distributed applications
-
The post describes an interesting and useful "thought" experiment, but they have the product to back it up. I wonder how the implementation works at scale, as it could potentially replace Kafka and similar products.
- Almost pwned
-
I love good stories, even frightening ones, and this one is quite frightening indeed. If even the mighty Google organization can’t apply proper security procedures, what chances do we mere mortals have?
- The Liskov Substitution Principle (LSP) in Kotlin — Deep Dive
-
Good post that sets things straight.
- I Asked This Kubernetes Question in Every Interview
-
Your application runs in Kubernetes, but users report they cannot access it. What do you do?
- Step 1: Check Pod Health and Logs
- Step 2: Verify Service Configuration
- Step 3: Examine Network Policies
- Step 4: Investigate Ingress and DNS
- Step 5: Validate Node and Cluster Health
- Step 6: Debug with Port Forwarding
- Step 7: Monitor with Tools
- Type, or Interface, That Is the Question
-
I don’t know Typescript and I always thought that it was "just" JavaScript with types. It seems that I was very mistaken: this difference between
type
andinterface
is quite subtle. - What Okta Bcrypt incident can teach us about designing better APIs
-
Don’t be liberal in what you accept!