March 31, 2018

re-learning how to type.

Three weeks ago I decided to bit the bullet and get an ergonomic keyboard. Specifically I bought an Ergodox EZ. I’ve always thought about myself as being able to type well with 10 fingers, but now that my typing skills are being tested, I realize that over time I’ve developed some very bad typing habits: when typing on my MacBook my right hand has left the home row entirely. It’s mostly located around the arrow keys, shift, enter and backspace because of my modified position my left hand reaches to many keys my right hand usually should be typing. Read more

January 7, 2018

effective engineers

Software engineers need to embrace feedback loops more. While I don’t know when the science of continuous improvement originated, I know that it has been around for at least 60+ years, as Demings published his Plan, Do, Check, Act cycle in the early 1950s. By 2018 one might expect that feedback loops are well understood and widely adopted. Yet many companies and software development teams are still not practicing continuous delivery or a selection of extreme programming practices*. Read more

December 26, 2017

smart card logon /w FileVault 2

I’m using Yubikey 4C at home as 2 factor-based smartcard login for macOS. Since I’m also using File Vault 2 as Full Disk Encryption, I need to disable automatic login for File Vault 2 - otherwise the Login won’t work with the Yubikey. I always need to look this up when setting up my system again, so here it is, for future reference: $ defaults write /Library/Preferences/com.apple.loginwindow DisableFDEAutoLogin -bool YES

December 14, 2017

macOS Sleep/ Wake notifications in golang

While working on my golang chime SDK I ran across the issue of properly reconnecting when macOS wakes up from sleep mode. Apple provides an official example using IOKit, so I had to wrap this with cgo to use it. This post outlines the required steps and provides an example implementation. write a small wrapper to register/ unregister notifications # main.h #include <ctype.h> #include <stdlib.h> #include <stdio.h> #include <mach/mach_port. Read more

September 17, 2017

Moving to Canada (2)

This is one out of three blog posts I’ve planned for my immigration to Canada. This post will primarily be about my dog Yumi and how he relocated to Canada with us. Yumi was born September 8th 2015 - by the time we travelled he was close to his 2nd birthday. We did plenty of research to make sure that his immigration went as smooth as possible. First, we had to organize a properly sized transport box for the flight, and secondly comply with the Canadian dog import regulations. Read more

July 23, 2017

Moving to Canada (1)

As mentioned earlier 2017 will be a hectic year - I’m looking forward to immigrating to Canada. I’ll be relocating to Vancouver, British Columbia, to start working at Amazon. Living abroad and working at one of the big five tech companies (Amazon, Apple, Google, Microsoft, Facebook) have been two of my goals for a long time, and both will be reality end of August. I can’t articulate how excited I am - it’s a huge opportunity to growth for me, and it puts me well outside of my comfort zone. Read more

June 24, 2017

Modifying binaries to replace proprietary APIs

Note This is a follow up post on exploring private apis from late May. Soon I want to use the Things 3 macOS application with my own API. To achieve this goal I have built a working SDK for the things cloud to understand the structure of the communication between client and server. This time I want to modify my Things 3 binary so it actually talks to an API of my choice. Read more

June 2, 2017

Moving Forward

Everything changes and nothing stands still. Heraclitus And 2017 will be quite a hectic year for me because of this. I’m looking forward to sharing more non-technical things in the next few months, too. Mostly pictures I guess, but we’ll see what I’ll find interesting enough to share (:

May 28, 2017

Exploring private HTTPS apis

Today I want to take a look at how you can explore private HTTPS APIs. I’ll be using @culturedcode Things Cloud as an example: it’s the main engine behind keeping Things for iOS and Things for macOS in sync, and as there is no web version available it’s a little more tricky to take a peek behind the scenes. First off some requirements: you need to be running macOS for this to work, and you need a Things 3 installation along with a thingscloud account. Read more

March 25, 2017

Awesome AWS CodePipeline CI

After several talks at work about the feasibility of using AWS Codebuild and AWS Codepipeline to verify the integrity of our codebase, I decided to give it a try. We use pull-requests and branching extensively, so one requirement is that we can dynamically pickup branches other than the master branch. AWS Codepipeline only works on a single branch out of the box, so I decided to use Githubs webhooks, AWS APIGateway and AWS Lambda to dynamically support multiple branches: Read more

© Raphael Randschau 2010 - 2022 | Impressum