41554 blogs · [ { "id": "01a0878b-169e-7017-a16c-7b2efb4243d7", "title": "Italian phrases for everyday life 🇮🇹", "url": "https://www.jannikarndt.de/blog/2025/04/basic_italian_phrases/", "published_at": "2025-04-28T08:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abde90aebc", "title": "My first two weeks in Palermo ☀️", "url": "https://www.jannikarndt.de/blog/2025/03/palermo2/", "published_at": "2025-03-27T14:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abde9923e5", "title": "Moving from Hamburg to Palermo ☀️", "url": "https://www.jannikarndt.de/blog/2025/03/palermo1/", "published_at": "2025-03-23T16:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abdf3cb0ff", "title": "Finding yourself on the Safe Browsing List — a Post Mortem", "url": "https://www.jannikarndt.de/blog/2022/08/safe_browsing_list/", "published_at": "2022-08-05T09:30:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe01a71aa", "title": "Why growth is so bad", "url": "https://www.jannikarndt.de/blog/2022/02/why_growth_is_so_bad/", "published_at": "2022-02-03T09:30:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe03e0771", "title": "Comparison of Chart Libraries for SwiftUI", "url": "https://www.jannikarndt.de/blog/2021/08/comparison_of_chart_libraries_for_swiftui/", "published_at": "2021-08-29T09:30:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe05e1baf", "title": "Generating Open Graph Images for my Blog", "url": "https://www.jannikarndt.de/blog/2021/05/generating_open_graph_images/", "published_at": "2021-05-02T13:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe0ac4e29", "title": "Things Developers are and aren't Good at", "url": "https://www.jannikarndt.de/blog/2021/05/things_developers_are_and_arent_good_at/", "published_at": "2021-05-01T12:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe0e32fb7", "title": "def and var in traits on Scala 2.12, 2.13 and 3.0.0", "url": "https://www.jannikarndt.de/blog/2021/04/def_and_var_in_trait/", "published_at": "2021-04-24T14:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe0f10fb8", "title": "April Fools': “We rewrote it in Rust” or How To Fake A GitHub Repo", "url": "https://www.jannikarndt.de/blog/2021/04/how_to_fake_a_github_repo/", "published_at": "2021-04-05T01:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe1789e1e", "title": "Using scalap, javap and the scala compiler to understand the journey from code to bytecode", "url": "https://www.jannikarndt.de/blog/2021/03/using_scalap_javap_and_the_scala_compiler/", "published_at": "2021-03-25T08:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe22e7bd1", "title": "Exception-Proof For-Comprehensions", "url": "https://www.jannikarndt.de/blog/2018/12/exception_proof_for_comprehensions/", "published_at": "2018-12-04T20:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe2625211", "title": "oAuth2 with Akka HTTP", "url": "https://www.jannikarndt.de/blog/2018/10/oauth2-akka-http/", "published_at": "2018-10-28T12:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe263fa30", "title": "Akka HTTP on Heroku", "url": "https://www.jannikarndt.de/blog/2018/10/akka_http_on_heroku/", "published_at": "2018-10-27T18:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe2928d7b", "title": "How to Write and Test a Reactive Reader for AWS SQS Using akka, alpakka and Localstack", "url": "https://www.jannikarndt.de/blog/2018/10/reactive_sqs_reader/", "published_at": "2018-10-07T17:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe29ceb4c", "title": "How Event Sourcing in Akka Persistent Actors Works", "url": "https://www.jannikarndt.de/blog/2018/08/event_sourcing_in_akka_persistent_actors/", "published_at": "2018-08-31T16:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe33873fc", "title": "Rotating PostgreSQL Passwords with no downtime", "url": "https://www.jannikarndt.de/blog/2018/08/rotating_postgresql_passwords_with_no_downtime/", "published_at": "2018-08-22T08:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe4103048", "title": "Examining a PostgreSQL with psql or pgcli", "url": "https://www.jannikarndt.de/blog/2018/08/postgresql_with_psql_pgcli/", "published_at": "2018-08-16T14:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe441639f", "title": "Using your Apple Watch Workout to Geotag DSLR Photos", "url": "https://www.jannikarndt.de/blog/2018/08/using_your_apple_watch_workout_to_geotag_dslr_photos/", "published_at": "2018-08-05T15:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe4a6408c", "title": "3 Ways How Passwords Get Leaked", "url": "https://www.jannikarndt.de/blog/2018/07/how_passwords_get_leaked/", "published_at": "2018-07-22T06:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe573cf39", "title": "Kirschblütenfeuerwerk", "url": "https://www.jannikarndt.de/blog/2018/05/kirschbluetenfeuerwerk/", "published_at": "2018-05-25T22:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe5e0205c", "title": "Russische Kirche, Fernsehturm, Landungsbrücken", "url": "https://www.jannikarndt.de/blog/2018/05/russische_kirche_fernsehturm_landungsbruecken/", "published_at": "2018-05-25T22:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe6021e21", "title": "Boberg", "url": "https://www.jannikarndt.de/blog/2018/04/boberg/", "published_at": "2018-04-08T11:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe68967cb", "title": "Alsterpanorama", "url": "https://www.jannikarndt.de/blog/2018/04/alsterpanorama/", "published_at": "2018-04-07T12:38:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe6b8e286", "title": "Hochwasserbassin", "url": "https://www.jannikarndt.de/blog/2018/04/hochwasserbassin/", "published_at": "2018-04-07T11:35:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe752d72c", "title": "How to add an SSH Key as a Kubernetes Secret", "url": "https://www.jannikarndt.de/blog/2018/03/ssh_key_as_kubernetes_secret/", "published_at": "2018-03-22T06:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe76586a9", "title": "Lazy Aliases in my Shell", "url": "https://www.jannikarndt.de/blog/2018/03/lazy_aliases_in_my_shell/", "published_at": "2018-03-13T11:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe83bb675", "title": "How to use a Raspberry Pi for your Time Machine backups", "url": "https://www.jannikarndt.de/blog/2018/01/how_to_use_a_raspberry_pi_for_your_time_machine_backups/", "published_at": "2018-01-13T19:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe8ed7cb9", "title": "How to install Tasmota on a Sonoff device without opening it", "url": "https://www.jannikarndt.de/blog/2018/01/how_to_install_tasmota_on_a_sonoff_device_without_opening_it/", "published_at": "2018-01-13T18:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abe9a028da", "title": "How to use a Raspberry Pi 3 with Apple Home", "url": "https://www.jannikarndt.de/blog/2018/01/how_to_use_a_raspberry_pi_3_with_apple_home/", "published_at": "2018-01-13T11:40:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abea96b140", "title": "How to setup a Raspberry Pi 3 headless, without monitor, mouse or keyboard", "url": "https://www.jannikarndt.de/blog/2018/01/raspberry_pi_3_headless_setup/", "published_at": "2018-01-13T11:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abeb42441c", "title": "Terraform on Google Cloud Engine Quickstart", "url": "https://www.jannikarndt.de/blog/2017/11/terraform_on_google_cloud_engine_quickstart/", "published_at": "2017-11-23T19:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abebef7f43", "title": "Lessons learned in 2017", "url": "https://www.jannikarndt.de/blog/2017/11/lessons_learned_in_2017/", "published_at": "2017-11-11T16:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abeced45f7", "title": "What settings yield the sharpest landscape photo?", "url": "https://www.jannikarndt.de/blog/2017/11/what_settings_yield_the_sharpest_landscape_photo/", "published_at": "2017-11-07T17:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abed976734", "title": "Hamburg as seen from the Michel", "url": "https://www.jannikarndt.de/blog/2017/11/hamburg_as_seen_from_the_michel/", "published_at": "2017-11-04T15:50:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abedf7c485", "title": "Releasing a Scala + Maven project to Maven Central (Sonatype OSS)", "url": "https://www.jannikarndt.de/blog/2017/09/releasing_a_scala_maven_project_to_maven_central/", "published_at": "2017-09-10T20:07:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abee1c058d", "title": "Writing case classes to MongoDB in Scala", "url": "https://www.jannikarndt.de/blog/2017/08/writing_case_classes_to_mongodb_in_scala/", "published_at": "2017-08-19T09:05:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abeed9e86d", "title": "VERY Quick Start: Terraform", "url": "https://www.jannikarndt.de/blog/2017/08/very_quick_start_terraform/", "published_at": "2017-08-06T16:20:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abeef96672", "title": "Where bad code comes from", "url": "https://www.jannikarndt.de/blog/2017/07/where_bad_code_comes_from/", "published_at": "2017-07-22T04:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abefbf581b", "title": "Storing sparse, key-value-like data in a relational database", "url": "https://www.jannikarndt.de/blog/2017/07/storing_sparse_key_value_like_data_in_a_relational_database/", "published_at": "2017-07-21T21:45:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abf0587f44", "title": "Tough Mudder Norddeutschland 2017", "url": "https://www.jannikarndt.de/blog/2017/07/tough_mudder_norddeutschland_2017/", "published_at": "2017-07-15T16:00:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abf09d0208", "title": "A Minor Story Live at Methfesselfest", "url": "https://www.jannikarndt.de/blog/2017/07/a_minor_story_live_at_methfesselfest/", "published_at": "2017-07-02T12:45:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abf0bb850d", "title": "Git in one Image", "url": "https://www.jannikarndt.de/blog/2017/06/git_in_one_image/", "published_at": "2017-06-18T07:30:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abf0f7b1f6", "title": "The real world doesn't care about encoding", "url": "https://www.jannikarndt.de/blog/2017/05/the_real_world_doesnt_care_about_encoding/", "published_at": "2017-05-01T10:45:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abf1b312c0", "title": "Belugas at Finkenwerder", "url": "https://www.jannikarndt.de/blog/2017/04/belugas_at_finkenwerder/", "published_at": "2017-03-05T16:01:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abf1bbe383", "title": "Deploying Pentaho jobs into Production", "url": "https://www.jannikarndt.de/blog/2017/03/deploying_pentaho_jobs_into_production/", "published_at": "2017-03-05T16:01:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abf25ccc7c", "title": "Extracting Dimensions from an Oracle Database Table", "url": "https://www.jannikarndt.de/blog/2017/03/extracting_dimensions_from_an_oracle_database_table/", "published_at": "2017-01-07T10:20:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abf26364ad", "title": "Lessons learned in 2016", "url": "https://www.jannikarndt.de/blog/2017/01/lessons_learned_in_2016/", "published_at": "2017-01-03T09:12:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abf30ec530", "title": "Perfect Home Screen Layout", "url": "https://www.jannikarndt.de/blog/2016/11/perfect_home_screen_layout/", "published_at": "2016-11-23T22:56:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abf328f926", "title": "Bug Fixing in Production", "url": "https://www.jannikarndt.de/blog/2016/11/bug_fixing_in_production/", "published_at": "2016-11-22T22:25:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abf33f7e39", "title": "The 2016-Personal-Website Infrastructure", "url": "https://www.jannikarndt.de/blog/2016/11/the_2016-personal-website_infrastructure/", "published_at": "2016-11-20T12:37:00+00:00" }, { "id": "01a0878b-169f-71e7-8902-06abf40beb14", "title": "About", "url": "https://www.jannikarndt.de/about/", "published_at": null } ] posts Claim your blog
Back to jannikarndt.de
Blog · corpus.blog/blogs/jannikarndt.de/posts

jannikarndt.de

jannikarndt.de

2025

2022

2021

2018

2017

2016

Undated