About
This is a technology blog by Matthias Friedrich, a software developer and architect. more …
-
Recent Posts
Tags
- android
- backup
- best practices
- books
- build systems
- c/c++
- computer science
- databases
- deployment
- distributed systems
- django
- docker
- documentation
- go
- gradle
- hadoop
- java
- java python
- kubernetes
- libraries
- linux
- machine learning
- maven
- meta
- monitoring
- music
- musicbrainz
- networking
- opinion
- oracle
- process
- productivity
- prometheus
- python
- quality
- quick tips
- rcs
- scalability
- scheme
- scripting
- security
- server
- shell
- standards
- testing
- tools
- ubuntu
- web
- xml
Category Archives: best practices
Playing with WebAuthn
On the internet today, our online accounts are exposed to a lot of risks. Leaked passwords from break-ins at major Internet properties or phishing attacks have lead to many account breaches. In order to protect my high-value accounts, I have … Continue reading
Retries Can Kill You
In a large-scale distributed system, it’s inevitable that some requests will fail. Even if your collaborating systems work perfectly, sooner or later you will experience temporary network issues and other intermittent errors. That’s why a lot of people try to … Continue reading
The Curse of Convenience Methods
In the old days, many Java APIs were fairly low level and pretty generic. You often had to explicitly select a concrete implementation, provide lots of parameters, and generally needed to know how things worked. This has changed in recent years – modern … Continue reading
Let’s Use TLS
I have followed the HTTP/2 specification process closely and I like how the new protocol improves web performance and makes old workarounds obsolete. One drawback of deploying HTTP/2 is that most browser vendors only implement it on top of TLS. Since … Continue reading
Posted in best practices, Uncategorized
Tagged best practices, security, server, web
Leave a comment
Preventing Cascading Failure
With the advent of reactive programming and frameworks like Netflix’ Hystrix, classic stability patterns like Nygard’s Circuit Breaker Pattern have entered mainstream software development. The circuit breaker is used inside your clients to cut the connection to a collaborating system … Continue reading
Posted in best practices
Tagged best practices, distributed systems, java, networking
Leave a comment
A Case for Guard Clauses
One of my pet peeves in programming is that few people use guard clauses. A guard clause is an almost trivial concept that greatly improves readability. Inside a method, handle your special cases right away and return immediately.
Development Done Right
In my projects, I’ve always been the one who took care of infrastructure, standardization and quality assurance from the development perspective. The funny thing is that I’m no admin and no QA guy, so most of it wasn’t even my … Continue reading
Saving Session Data in Web Applications
There are many ways to store session data in web applications. They all differ in scalability, failover capabilities, and complexity. I’ll give you a quick rundown on the major themes.