-
Jun 17, 2021
I really enjoyed reading Twitter during WWDC, tons of support for everyone and a general positivity. Now one week later, it’s back to passive-aggressive subtweeting and general hatred. Thanks, I’m back to just reading RSS and micro.blog.
-
Jun 15, 2021
2/2 💉🎉
-
Jun 3, 2021
SUVs are now just slightly taller normal cars, got it.
-
May 8, 2021
I just got an ad in the Outlook iOS App. Never deleted an App faster.
-
May 5, 2021
1/2 💉
-
Apr 17, 2021
-
Apr 5, 2021
2021-13
It’s the long Easter break here in Germany and I really needed those few days off from work. Before the pandemic, we always travelled when taking vacation. Being on the go and constantly in a new environment makes it easier for me to switch off work and mentally relax. It took a while to acknowledge that vacations are still needed, even though you are 24/7 in your “office”.
PC
See…, in comparison to previous posts, I dropped the
Gamingin front of the headline. I remembered I still had good SSDs built in a retired Mac Mini from 2012. I decided to extract it and also install it in the PC, as I wanted to set up a Linux/Dev environment without messing with the Windows/Bootloader installation. A dedicated second drive makes this just simpler. I have been interested in trying out elementary OS after reading about it from Orta. Installation was quick, setting up VS Code and the Rust environment was also easy enough. I’m still struggling with the text-editing shortcuts, especially on a Mac keyboard, but I will get used to it. Let’s see if and how I’m going to use this setup for actual productive tasks.Blog
Many more micro-posts have been moved to the log. I slowly start experimenting with migrating this site, trying to keep all deep links and URLs in place.
Bye!
-
Apr 4, 2021
Another submission for the public Loc Testflight. Let’s see.
-
Mar 29, 2021
2021-12
The past week just flew by and really didn’t leave too much room for anything besides my jobby-job work. The DST-Change yesterday also doesn’t help to free up space in the day for side projects. Let’s start this better new week, public holidays ahead.
Gaming PC
I finished installing the last few missing bits and pieces. One case fan and dust filters were missing. It’s now fully complete, and I still have only played Rocket League on it. I hope to tackle some other games over the Easter-break. I’m also starting to monitor the prices for some higher-end graphics cards but no rush to upgrade.
Blog
I have this long-term plan to migrate this blog to Zola and maintain an extra place for my short, tweet-like posts. The extra place already exists at log and I started moving hundreds of old posts already over. Doing this split now should make the final migration of the full blog easier.
Reading
How to Avoid a Climate Disaster: The Solutions We Have and the Breakthroughs We Need by Bill Gates: This book lays out the hard facts about our current climate change situation and what technology and policies we need in order to avoid an even bigger catastrophe. I would have enjoyed this book more if it went deeper into the technological problems and solutions currently in development, but this would have lessened it’s mass-appeal. I would suggest not reading the comments for this book on Goodreads, it made me wonder if I read a totally different book.
Bye.
-
Mar 27, 2021
Every project I start using the composable architecture comes to a grinding halt after a certain complexity is reached. I hope Apple will play a bigger role in defining the architecture for SwiftUI Apps.
-
Mar 22, 2021
2021-11
It’s almost inconceivable that the global Covid19-pandemic is ongoing for more than a year and Germany is running in full-speed towards another “lockdown” and a third wave while all vaccination efforts appear to be stalling. I hope the German language soon has a word for the yen to get a vaccine, similar to “Fernweh”.
Gaming PC
As mentioned last week, I ordered all individual parts to build a gaming PC. I used the PC configurator at alternate.de to select fitting parts around the Razer Tomahawk Mini-ITX1 case and an AMD Ryzen 5 3600. I only bought an Nvidia 1650 GTX, as higher end graphics are currently just hopelessly overpriced. This will be easy to upgrade in the future. The parts arrived within a day and the build process was pretty smooth. This is not my first computer I ever built from scratch, and it felt way easier than the last time, 15 years ago. I only encountered 2 issues during the build. The ram required surprisingly more force to snap in place. This lead to plugging in the PC and starting it up without an image first. The power supply didn’t really fit inside the case and I needed to order a replacement. First tests were made with the power supply just sitting on the floor. The build is now finished, the case looks good enough for a typical gaming-style hardware and everything runs as expected. It’s now time to play some new games, or more Rocket League.
Reading
A Woman of No Importance: The Untold Story of the American Spy Who Helped Win World War II by Sonia Purnell: I only heard about Virginia Hall in one of the other spy-books before, but had no understanding about who she was or what she achieved. It’s a fascinating story about spying and guerrilla warfare in WW2 France.
Bye!
-
Many gamers appear to be dismissive about Razer for charging more money for nicer hardware. They state it’s the Apple of gaming hardware. Nothing wrong in my eyes. I really like the case. ↩
-
-
Mar 16, 2021
2021-10
Alright, #10 of the weekly posts. Another short one as I didn’t manage to finish a book this week.
Development
The work on Loc continued. I was implementing an iOS 14 Widget and tried to submit the first TestFlight build. It got rejected due to unclear purpose and function of the App. Well, I guess it’s time for a small intro-video. I need to say, working with SwiftPM in such a small and controlled project is a delight. Splitting out modules to be used in other packages/targets is a matter of seconds.
Gaming PC
I guess driven by the pandemic, I’m spending more time playing video games again…who am I kidding, I’m just playing Rocket League. I started playing the game on my PS4 but transitioned to bootcamp on my MacBook Pro 16” for the quicker loading times, custom map support and better latency. The performance on the MacBook Pro isn’t really great and gets more flaky the hotter the machine get. For those reasons, I just ordered the parts to build a gaming PC from scratch! In an upcoming post, I want to write more about the build process, the parts and the games I’m interested in.
Bye!
-
Mar 8, 2021
2021-9
We are coming close to 10 consecutive weekly posts.
Development
I’m continuing the work on Loc. This project distracted my from finalizing my local-notification library, but I’m not too worried. Loc has a tiny scope and could be feature-complete soon. I will just come back to it.
As I’m mainly focusing on Swift/iOS these days, I felt the need to keep my Rust knowledge fresh in my head. For this, I started following this tutorial: Hecto: Build your own text editor in Rust. I was aware of all concepts touched so far1 but I’m happy to reapply them.
Writing
I managed to write a small blog posts about releasing private pods using GitHub actions. I had this note for a while, and I’m happy I finally wrote it down as a post. Let’s hope it doesn’t take another year until I write down one of my many other notes.
Reading
Midnight in Chernobyl: The Untold Story of the World’s Greatest Nuclear Disaster by Adam Higginbotham: Again, this books fits right in the era I’m currently reading about. After watching a few documentaries about the Chernobyl disaster, I was already aware about many details concerning the explosion and the fallout. This book goes even deeper by following the personal lives of people involved, and looking closely at the political landscape of that time. Full recommendation.
Apps
This week I discovered LanguageTool. It’s an open-source grammar, style, and spell checker. A perfect replacement for grammarly that always felt a little creepy. LanguageTool also supports many more languages.
Bye!
-
I’m in the middle of chapter 3 ↩
-
-
Mar 7, 2021
Release private Pods using GitHub Actions
Another example of: “let’s make a blogpost out of this cobbled together note, so I don’t have to figure it out in a year again”.
Using CocoaPods’ private Pods allows you to modularize your Application while hosting the code in different private repositories1. Releasing a new version of your private Pod can be time-consuming and is therefore a perfect opportunity for automation, in this case using GitHub Actions. This workflow assumes that you already created your private spec repo and successfully pushed an initial version of your Pod.
I substitued all variables with
<>. Example of the file with actual values: Gist to release.ymlWhen to trigger the workflow
You first need to decide on when to trigger your automation workflow. In this example I decided to use the workflow dispatch trigger. This gives the engineer the freedom on when to trigger a new release while, providing additional information like the semantic version to be used or a name for the release2. We start our
release.ymlwith the following:name: Release on: workflow_dispatch: inputs: version: description: 'Version (i.e. 1.1.3)' required: true name: description: 'Name of the Version' required: trueSetup the job
We now need to decide and what machine to run our automation and install the required tools:
jobs: build: runs-on: macos-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 1 - name: Bundle Install run: bundle installWe run the job on hosted Macs provided by GitHub actions
macos-latest, as we require Xcode to release a new version of our module. We assume aGemfileexists in the root of the repository that defines the dependency ongem cocoapods. (To automatically bump the.podspec-version, we also requiregem "fastlane"). We install the tools usingBundle install.Add the private spec repo to CocoaPods
We need to make the CocoaPods installation of the Action Runner aware that our private spec repo exists and give it the rights to modify this repo:
- name: Add Pod Spec run: pod repo add <NAME_OF_REPO> https://<GIT_ACTOR>:<GIT_TOKEN>@github.com/<ORG>/<REPO_NAME>.gitWe are passing the username and personal access token of a user with write permissions to the spec repo along the
pod repo addcommand. I suggest defining the username and the access token as encrypted secrets.Optional: Bump the Podspec version
We can use the
versionparameter passed along the workflow_dispatch trigger and a fastlane action to automatically update thepodspecversion of the dependency. We commit these changes and automatically open a PR with it.- name: Bump Podspec version run: fastlane run version_bump_podspec path:"<NAME_OF_POD>.podspec" version_number:<VERSION> - name: Create Pull Request uses: peter-evans/create-pull-request@v3 with: title: Release/<VERSION> base: main branch: Release/<VERSION> body: | Release: <VERSION> Changes: - Bump version to <VERSION>Create a release tag and push the new version
As a last step, we create a release on GitHub3 and push the new version of our pod to the spec repo:
- name: Create Release uses: actions/create-release@v1 env: GITHUB_TOKEN: <GIT_TOKEN> with: commitish: Release/<VERSION> tag_name: "<VERSION>" release_name: "<VERSION>" body: "<VERSION>" commit-message: "Bump pod version" - name: Push Pod Spec run: pod repo push <NAME_OF_REPO> <NAME_OF_POD>.podspecRun the action
You can now run the action using GitHub’s UI, as outlined again here.
Bye!
-
The necessity of hosting your code in different repositories and the upsides/downside this brings is a whole different topic. Not even talking about the choice of dependency manager here. ↩
-
The name could be used to automatically create a new release on a CHANGELOG file or give the created GitHub Release more context. ↩
-
This automatically creates a git tag. We use the version number and name provided by the trigger to populate the title/body of the release. ↩
-
-
Mar 1, 2021
2021-8
It’s time for another short one.
Development
Almost all features I wanted for Loc, my privacy-focused location tracker, are now implemented. I already use it every day. Mainly to discover the days I went for a walk or bought groceries from the stores. Oh well… As it already has a badly designed App-Icon, I’m wondering if I should consider submitting it to the App Store, or just have it open-source.
Reading
Nothing to Envy: Ordinary Lives in North Korea by Barbara Demick: I’m currently gravitating towards books focusing on the post-WW2-era, the cold-war, and its fallouts. This book about North Korea fits right in there. It leaves no space for illusions how life in this dictatorship looks like. Brutal and eye-opening. Full recommendation.
Watching
WandaVision remains the only new thing we are currently watching on TV. I’m sad that it will be over soon. As it’s available on Netflix, we started a re-watch of New Girl 🤷♂️
Bye!