• 2021-7

    The past week I finished reading the 5th book this year. Without an exception, all of them have been audiobooks. For over a decade now I’m listening to a lot of audio content. It started with public radio shows and documentaries in the car or iTunes, followed by tech podcasts focused on Apple and their satellites (Build and Analyze, Hypercritical, You Look Nice Today). I still consume a ton of podcasts of their like but mainly for the people in it. For learning and knowledge, I more and more choose audiobooks. They are written and researched over years and can afford to go into great detail. An audiobook with a 30 hours playtime is no exception. I’m deleting podcast episodes left and right to give time for audiobooks. A handful of podcasts I never miss or delete is still left: Accidental Tech Podcast, The Unmade Podcast, BONANZA, Game Show! from the Incomparable, My Brother, My Brother And Me. No deeper meaning here, just an interesting change of behavior.

    Apps

    Arq 7 go released, reintroducing a new, fully native UI for macOS. Arq 6 used an Electron UI and was disliked by many people. Even though I never felt the need to complain about it, I’m still happy to see a new and shiny native UI for my backup tool of choice. 1

    By accident, I stumbled over the early preview for Bear’s new Markdown editor: Panda. It looks incredibly promising. I still dream about having a great-looking and powerful markdown-editor with real-time formatting, working with plain text files, and note/attachment linking. The new version of Bear will most likely not be that but it’s still a huge step in the right direction.

    Development

    I continued working on my local notification helper library. Soon, I should be able to start testing it in a real App. I hope to write a dedicated blog-post for it once it reaches 1.0.

    A tiny other side-project popped up: Loc. A privacy-focused location tracker App. Using Apple’s startMonitoringSignificantLocationChanges callbacks, this App will store the location with a timestamp in a local database. That’s it. No 3rd-party libraries, no trackers, no network requests. It’s a super early WIP but I already have a running version on my phone.

    Reading

    Surely You’re Joking, Mr. Feynman by Richard Feynman: I enjoyed this book a lot. It has problematic paragraphs, especially reading it in 2021, but it gives great insights into a hugely interesting life of a brilliant man.

    Bye!

    1. I’m backing up all machines in the house to Backblaze B2 and a local, big disk attached to an always-on Mac Mini. 


  • 2021-6

    Does every post need an intro? I don’t think so.

    Apps

    It’s now almost half a year I migrated away from Alfred as my macOS launcher App. I was using Alfred continuously since 2012, it’s was usually the second App I installed on every Mac1. As my workflows and configuration grew over time, syncing2 the configuration and therefore using the App became less reliable. For such a fundamental tool, it only takes a few failures for you to lose trust in it. I tried slimming down my configuration, but since day 1, I needed to configure Alfred a lot to fit my needs, even though 99% of all actions are simple openings and file modifications. I revisited LaunchBar and it clicked right in place. Almost all of the default configurations work for me. I just needed to add a few text snippets I use daily, otherwise, there is nothing else to “sync” between Macs. It’s fast and solid as a rock. I no longer need to actively think about my App launcher!

    Development

    I continued working on my local notification iOS Framework Nocally. I’m building it as a SwiftPM package and wanted to add a basic example app to the repo to start testing the first assumptions. The steps needed to achieve a similar result as CocoaPod’s development pods are kind of funny: Source I’m incredibly happy SwiftPM finally exists and can be used from inside Xcode. I’m also optimistic that it will become the default way to handle dependencies in Xcode projects. It just might take a little while longer until we reach that point.

    Reading

    No book finished this week but I started listening to “Surely You’re Joking, Mr. Feynman”. Almost halfway through, I should finish it just in time for next week’s post. I also started reading “A Philosophy of Software Design” by John Ousterhout. No opinion yet!

    Bye!

    1. The first App was 1Password, but this also changed. More on that in a different post 

    2. I was using iCloud Drive to sync the configuration file. Every few days, the file got deleted from the hard-drive and I needed to manually redownload it. I never figured out why. All Optimise Mac Storage toggles were disabled. 


  • 2021-5

    This week’s post will be a very short one. The last week just flew by, with busy times at work, the continuation of the lockdown, and the endless Berlin gray weather. At least now something changed, it snowed and it’s freezing cold.

    Development

    I mentioned my ongoing refactoring efforts for a very old App of mine in the previous post. This work continued and I finally started tackling the biggest pain point this App has: Scheduling local notifications functioning as reminders. The native APIs to schedule those notifications are lacking capabilities and require custom workarounds, for example:

    Schedule local notification 
    to remind me every second day, 
    at 19:00, 
    starting from tomorrow
    

    The current implementation offers many capabilities already but is not as robust and well-tested as I would like. Therefore, I started extracting and reimplementing this logic inside a SwiftPM packages. The code will be open-source here.

    Reading

    Agent Sonya by Ben MacIntyre: Another non-fictional spy story. This time about an agent working mainly before and during World War 2. Incredible, again!

    Bye!


  • 2021-4

    I discovered r/wallstreetbets quite a while ago browsing through the suggested subreddits on Apollo and loosely followed it every since. Seeing their often funny/idiotic ideas play out this week wasn’t really on my 2021 short-list. Big financial news outlets reporting about stonks and tendies felt even more impossible. Let’s see in a week if the squeeze will haven been squozen.

    Development

    I’m currently refactoring/modernising one of the very first Apps I ever built and shipped. Many code paths were untouched for almost 10 years. We rarely think about code of something that will exist in the current state / untouched for a decade. The code wasn’t beautiful / DRY / fully unit-tested but it continuously provided value for many users. Somewhere in here is an idea for a standalone blog post. 🤔

    I’m reworking the whole UI layer in SwiftUI and just wanted to share two posts I enjoyed this week:

    Apps

    Even though I’m no longer reading Twitter using a native client (RSS all the way), the release of Tweetbot 6 got me excited. For me, Tweetbot in every version and era has been a prime example of how an iOS App should function/look and feel. The same is true for the 6th version. Beautiful!

    Reading

    The Spy and the Traitor by Ben MacIntyre: I never read fictional spy stories, but it’s hard to imagine they could be more thrilling than the real-life events depicted here.

    Watching

    We revisited Star Wars: The Force Awakens yesterday. Even though I enjoyed the movie when it was released, I’m no longer sure it holds up for me. It’s hard to appreciate it standalone, knowing what happens in the consecutive movies.

    Bye!


  • Avoiding SwiftUI’s AnyView - Swift by Sundell

    Very handy rules to keep in the back of your head when you are working with SwiftUI.


  • 2021-3

    One small learning for the week: Substack isn’t for me. I tried finding newsletters/content I enjoyed and mostly failed. I also don’t like reading in my mail inbox. Conceptually my mail App is closer to a ToDo-list; things I have to act on until I can archive it. It is not the place to read a well-structured blog post. The hostile-ness of tracking users in their mail App is a whole other topic. I already deleted my publication and am now trying to delete my whole account as well.

    Apps

    After John Gruber’s recommendation on Daring Fireball, I also installed HUSH. It’s a small Safari extension for iOS and macOS that blocks cookie popups and trackers. I was happy to see that the whole App is open source and is not integrating any analytics or data collection schemes. This small extension in combination with my local Pi-Hole instance greatly improves my web-browsing experience. Just imagine opening a news website without trying to find the button to opt-out tracking in the inevitable huge pop-up.

    Reading

    Even though I’m in a little physical reading slump and struggle to finish the two books I’m currently reading, I managed to listen to two audiobooks and started a third.

    The Infinite Game by Simon Sinek: An inspirational book about business; I liked many of the ideas portrayed and enjoyed a few of the many examples given, but it gets repetitive after a while.

    Man’s Search for Meaning by Viktor E. Frankl: A first-hand account of life inside Nazi concentration camps combined with an introduction to Logotherapy. I can’t even describe how much I enjoyed this book. I will need to revisit it again but it has the potential to be one of my all-time favorites.

    Listening

    One more week with Apple Music and I’m still happy about the recommendation quality. Besides introductions to new artists, I frequently discover music that I missed from artists I enjoy. This weeks example: Daughter - His Young Heart. This recommendation also made me discover that the voice behind Ex:Re and Daughter is the same person.

    Bye.


  • Internet 3.0 and the Beginning of (Tech) History - Stratechery


  • 2021-2

    Week 2!

    For the past days, I noticed a new behavior in my casual phone usage: I was reading comments and @-mentions of everything. Tweets, posts on news.ycombinator, Reddit. I was actively looking for opinions and statements I strongly disagree with. I even went as far as reading r/conservative. I never had the intention or did reply to anything, just reading to feel outraged. This has to be a definition of doom-scrolling. I wasted a lot of spare time that I would have rather used to build.

    AirPods Max

    A few more words about the AirPods Max as they now accompanied me through the first work week with many Google Meets calls and hours of music listening: They are still everything I wanted them to be! Heads are different but I feel no discomfort wearing them 8+ hours a day. The sound quality is brilliant, the OS integration is way snappier compared to my AirPods 2nd Gen. The noise cancellation is pleasant, and switching to transparency mode is a joy.

    The case is annoying, yes. I still put them inside every night to trigger the low energy standby, even though the real benefits of doing this are not that clear. Sooner or later I plan to replace it with a 3rd party alternative but I’m not planning to spend 100 bucks on it.

    I’m slightly worried about the longevity of the headband mesh but we have to wait and see.

    So far not a single regret, would buy again.

    Development

    The developers behind Zola, my favorite static site generator in Rust, released v0.13.0. It includes YAML frontmatter support and therefore brings compatibility with content written for other systems, including Jekyll. This site runs on Jekyll and I’m now actively working on migrating it to Zola. I’m also using Zola in my mywe.blog project (more on that in the coming weeks) and already switched to YAML frontmatter. The content you create should always be easy to migrate.

    Watching

    I rewatched Arrival after seeing it at the cinema in 2016. It holds up as one of my all-time favorite movies. I noticed two things:

    The song “On the Nature of Daylight” by Max Richter is used beautifully. I’m a big Max Richter fan after discovering him at the end of last year but never connected him to Arrival.

    Seeing the global news coverage of the event in the movie reminded me about the covid pandemic. I think besides 9/11, covid is the only true second global event in my lifetime. The landing of friendly heptapods would be the third, for sure.

    Listening

    I bought my AirPods Max from a German electronics store chain as they were back-ordered everywhere else for months. For some reason, they included another 3 month trial of Apple Music. As we have been a Spotify family for years, I’m giving Apple Music another try. So far the recommendations are on point and I already have discovered many new artists and albums. I’m impressed and plan to revisit this topic in the coming weeks.

    Until then!


  • YAML frontmatter support for Zola just fills me with joy.


  • 2021-1

    Weekly recap format, let‘s go! I tried it before; end of 2017 / beginning of 2018. More or less a lifetime ago, counting in recent events. I loved writing these posts as they focused on things I did, learned, and enjoyed over the course of a week. Easy! Even now, I still use them as a reference for when I purchased an App or discovered a music artist. I also plan to cross-post these reviews to [Substack](https://hartlco.substack.com(, just for understanding purposes.

    Upcoming topics

    Thoughts on Apple and software development, coffee, music, books, cars, things I like! I also want to highlight what I‘m currently working on, either in my jobby-job or spare time.

    Mini Topic - AirPods Max

    I didn‘t write anything for the first week, just a few lines about the AirPods Max I bought on Saturday.

    The AirPods Max intrigued me the moment they were announced. I know the pricing and the case are ridiculous but they are still coming at a perfect time for me. I don‘t enjoy wearing big over-ear headphones when I‘m out. I feel isolated from the outside world. AirPods are perfect for this use case, easy to pop in and out, comparably subtle. But guess who is not spending much time outside these days?… I also used my AirPods a ton at home. Podcasts, Music, Google Meet/Zoom calls. Constantly switching between my Mac, iPad, and iPhone, rotating 2 pairs to charge them. Sometimes wearing them for 10 hours a day. Even though I don‘t mind having something stuck inside my ear canal, it starts becoming uncomfortable after a few hours. AirPods Max promise to solve the battery and comfort issues while keeping the effortless device switching and tight OS integration. For now, I just used them for a few hours to listen to music/podcasts and watch a few videos. This week will be the first work test. I plan to cover the AirPods Max in detail in an upcoming post.

    See you in a week.


  • What have I done…


  • And the real SARS-CoV-2 shows up with the spiky Spike.

    Reverse Engineering the source code of the BioNTech/Pfizer SARS-CoV-2 Vaccine


  • I’m living in Berlin now for more than 5 years and never heard about the “Schwerbelastungskörper”. Fascinating piece of history and a reminder about the horrific German past. http://www.schwerbelastungskoerper.de/the-information-center.html


  • On that note, the new A3 drives surprisingly well, but the lack of the arm rest I even worse in real life.


  • Every time I have a rental car, I dream about writing a car related blog. Maybe one day.