Italian phrases for everyday life đŽđš
After six weeks in Palermo, these are the words and phrases I use almost every day. So if youâre preparing for a trip to Italy, this is a good start! ...
My first two weeks in Palermo âď¸
The first two weeks of my two months in Palermo are almost over, and I learned a lot. ...
Moving from Hamburg to Palermo âď¸
I left the cold and dark Hamburg winter and escaped to Palermo for two months. Hereâs how it started! ...
Finding yourself on the Safe Browsing List â a Post Mortem
This week we woke up to customer reports that they couldnât reach their âPublic Portalâ (a way to share their roadmap) anymore. Instead, a red page with a huge warning told them âDeceptive site aheadâ. What had happened? ...
Why growth is so bad
Over the past year, many (including me) have left the company I worked for for more or less growth-related reasons. But what is it about growth that actually drives people away? Step 1: need for workforce / talent The first growth isnât bad. You can only do so much in a day, and at some point, your company will need more people to solve all the tasks. Or specialized people, because you donât know all about security, marketing, strategy, finances or a particular problem domain. ...
Comparison of Chart Libraries for SwiftUI
I want to add charts to my SwiftUI iOS App, Zettl. For that, I am going to compare the following libraries: ivanschuetz/SwiftCharts denniscm190/stock-charts spacenation/swiftui-charts AppPear/ChartView danielgindi/Charts ...
Generating Open Graph Images for my Blog
Things Developers are and aren't Good at
âŚin my experience. ...
def and var in traits on Scala 2.12, 2.13 and 3.0.0
Scala traits should define defs, because âA val can override a def, but a def cannot override a valâ (via Alvin Alexander via StackOverflow). But itâs interesting to look at how the compiler treats that. Alvin Alexander did that, but only for Scala 2.12.8. Letâs have a look at 2.12, 2.13 and the just released 3.0 (formerly known as dotty). ...
April Fools': âWe rewrote it in Rustâ or How To Fake A GitHub Repo
We recently had another team rewrite their service in Rust, with a massive boost in performance. So naturally, for April Foolsâ I made a big announcement that our team followed suit: But, at good prank isnât just âI thought this was true, but it wasnâtâ. Itâs âI though it was a joke, but for a brief moment doubted thatâ. The âOh, no, he didnât"-moment. Alas, one more line was necessary: ...
Using scalap, javap and the scala compiler to understand the journey from code to bytecode
Do you know what happens after you compile? Letâs take a look at what the Scala compiler tells us, and what scalap and javap can reveal about .class files. ...
Exception-Proof For-Comprehensions
I recently created a wonderful bug. ...
oAuth2 with Akka HTTP
This is a basic example how to implement oAuth2 using Akka HTTP and Scala. It provides three endpoints. From the clients point of view: / â publicly accessible, returns âWelcome!â, /auth â provide your username and password, receive an access_token in return, /api â secured by oAuth, send the access_token in a header to gain access. From the serverâs point of view: / â publicly accessible, do nothing, /auth â receive basic auth credentials, verify theyâre in the list of known credentials, create an access_token, return it, /api â receive authorization header, check if access_token is in list of valid tokens. Since oAuth tokens are short lived, the server also has to invalidate expired tokens. ...
Akka HTTP on Heroku
Getting a Akka HTTP-based backend up and running on Heroku for free can be done in less then 30 minutes â if you know the tricks. ...
How to Write and Test a Reactive Reader for AWS SQS Using akka, alpakka and Localstack
This example show how to write a reactive reader for the AWS Simple Queue Service, using Scala and alpakka (respective akka streams). ...
How Event Sourcing in Akka Persistent Actors Works
While the Akka documentation is incredibly well written, it has surprisingly few images. Since I visualize concepts to remember them, here is my take on how Event Sourcing in Akka Persistence works: ...
Rotating PostgreSQL Passwords with no downtime
Changing the password for a PostgreSQL database user involves two steps: The change in the database and the change in the application code. This blog post describes how to do this without any downtime or failed authentication tries. ...
Examining a PostgreSQL with psql or pgcli
The PostgreSQL installation comes with a great tool, psql, to administer and inspect the database. pgcli extends this with syntax highlighting and autocompletion. ...
Using your Apple Watch Workout to Geotag DSLR Photos
I want my photos to have location info in them, and Nikon wants way too much money for that. So Iâll do this: Let my Apple Watch track where I go, using the Outdoor Walk, export the route as GPX and use exiftool to tag all my images. Hereâs how I do that. ...
3 Ways How Passwords Get Leaked
You donât need to âget hackedâ to have your security compromised. Often enough youâll do it yourself. The best way to prevent this is knowing when to be cautious. ...
KirschblĂźtenfeuerwerk
...
Russische Kirche, Fernsehturm, LandungsbrĂźcken
...
Boberg
...
Alsterpanorama
...
Hochwasserbassin
...
How to add an SSH Key as a Kubernetes Secret
Adding an ssh-file as a secret sounds easy, but there are pitfalls. ...
Lazy Aliases in my Shell
I reduced the startup time of my shell by one second. Hereâs how: What I do I work a lot with the shell (or âTerminalâ app on MacOS), mostly kubectl, git, terraform and docker. And of course I use the absolutely best shell of all, oh-my-zsh. The Problem I noticed that recently the startup time for a new shell (or new tab) has grown longer than a second. Thatâs annoying, because usually when I open a new tab, I want to quickly check on something, like the logs of a pod or if I have committed something in a different project. ...
How to use a Raspberry Pi for your Time Machine backups
Apples Time Machine is a great backup solution, you only have to do one thing: Connect your disk from time to time. Since that is way harder than it sounds, thereâs a second option: Buy a 329⏠Time Capsule and do backups over wifi! Thatâs too expensive? Hereâs how to build your own Time Capsule with a Raspberry Pi 3 and an external hard drive. ...
How to install Tasmota on a Sonoff device without opening it
Sonoff takes the standard ESP8266 chip and adds two things: a casing with wifi and great connectors and a custom OS and an app to control the devices. Unfortunately, the second addition also means that all communication goes through Sonoffâs servers. Hereâs how to get rid of that. Without soldering or connecting anything. ...
How to use a Raspberry Pi 3 with Apple Home
âHey Siri, turn on the bedroom lights!â I want that. Hereâs how I did it: I bought a bunch of Sonoff devices (5⏠each, 10⏠for a light switch). I bought a raspberry pi (33âŹ). I installed an MQTT broker and homebridge on the pi. ...
How to setup a Raspberry Pi 3 headless, without monitor, mouse or keyboard
I bought a raspberry pi as a smart home automation server. Hereâs how to set it up without connecting a monitor, mouse or keyboard. All you need is an ethernet cable. ...
Terraform on Google Cloud Engine Quickstart
This is a quickstart for building something on Google Compute Engine without clicking any buttons (after you created the project). ...
Lessons learned in 2017
#1 Conwayâs Law âorganizations which design systems ⌠are constrained to produce designs which are copies of the communication structures of these organizations.â So true. ...
What settings yield the sharpest landscape photo?
I was quite surprised at how difficult it is to get absolutely razor sharp images out of a very good (high-end-consumer/semi-pro) DSLR camera, namely the Nikon D7100. So I made the test: What settings in terms of aperture, shutter speed and ISO yield the sharpest landscape image? ...
Hamburg as seen from the Michel
...
Releasing a Scala + Maven project to Maven Central (Sonatype OSS)
If you write Scala in a Java-centric environment, chances are you might wind up with a Maven project, defined in a pom.xml. While this can work, it brings a few extra caveats if you want to submit your project to Maven Central (aka Sonatype OSSRH). Step 1: Claim your Group ID When you first publish something to the Sonatype OSSRH, you have to create a JIRA account and then create a ticket for a new project. The first question that is usually asked in the ticket is ...
Writing case classes to MongoDB in Scala
Storing case classes in a MongoDB database is incredibly easy, once you know how. The same goes for java.time classes such as ZonedDateTime, LocalDate or Duration. This example uses the official Mongo Scala Driver in version 2.x and the bsoncodec project by Ralph Schaer. ...
VERY Quick Start: Terraform
This post contains the absolut essence from the Terraform Getting Started Guide: https://www.terraform.io/intro/getting-started/install.html ...
Where bad code comes from
Ever wondered where bad code comes from? âThis story is doneâ âShouldnât someone review it first?â âOh, yeah ⌠erm ⌠Iâll do a quick refactoring first and thenâŚâ âŚwhen that other person is on holiday! ...
Storing sparse, key-value-like data in a relational database
Some ideas seem great at first but turn out to be incredibly bad in hindsight. I reviewed such an idea today. ...
Tough Mudder Norddeutschland 2017
...
A Minor Story Live at Methfesselfest
...
Git in one Image
I tried to create a single image that contains all the most important git commands: ...
Two-speed IT
The Problem Youâre a corporation. Your IT department is old, slow and canât innovate. Your competitor however can. So you try what every corporation tries: Two-speed IT. ...
The real world doesn't care about encoding
Last week one of our programs failed looking up an airplane by its registration. Thatâs not a surprise, since ac regs are a horrible identifier. They change all the time. Also there is almost no naming rule at all. Wikipedia states When painted on the fuselage, the prefix and suffix are usually separated by a dash (for example, YR-BMA). When entered in a flight plan, the dash is omitted (for example, YRBMA). In some countries that use a number suffix rather than letters, like the United States (N), South Korea (HL), and Japan (JA), the prefix and suffix are connected without a dash. ...
Belugas at Finkenwerder
My favourite animal: The Beluga! ...
Deploying Pentaho jobs into Production
TL;DR: You donât. We eventually gave up on it. My personal lessons-learned: Pentaho Kettle (or âCommunity Editionâ, CE, i.e. the open-source core) is a great product for one-time data transfer or on-demand data transfer, but not for resilient, scheduled jobs. The âEnterprise Editionâ (EE) adds scheduling that doesnât work reliably, and a very powerless server. Kerberos is a bitch. ...
Extracting Dimensions from an Oracle Database Table
Task You have a denormalized table and want to extract a column into a dimension table. Caveat You have to keep the ids. Extra-Caveat You use an Oracle database. ...
talend does not work
I cannot believe that googleing âtalend does not workâ does not find anything helpful. With this entry I try to fill that void in the internet. ...
Lessons learned in 2016
#1 Do not fix your code. Rather understand why nothing kept you from creating this bug. Make your code so easy that this bug would have been obvious the first time. ...