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

December 27, 2016

Running your own ZNC bouncer

Over the holidays I decided to get ride of the Slack Desktop application, one very RAM hungry application I'm using constantly. Moving to the browser client is no option as I have way too many tabs open in all browsers you could imagine. As I'm constantly using the terminal I decided to replace the Slack Desktop application with a command-line interface IRC client, irssi. Now irssi works great with Slack via Slacks IRC gateway, but I wanted to receive messages while I was offline, too. Read more

December 20, 2016

Response times percentiles from opentracing

At work we have started using opentracing with a zipkin backend and elasticsearch as storage layer. Zipkin creates per-day indices inside elasticsearch, meaning we can use the raw data to generate correct response time percentiles for individual services grouped by date. After an initial draft which used a HdrHistogram on the client side Zachary Tong, an employee, suggested on twitter to use the build-in HdrHistogram in elasticsearch instead. The resulting code is a little shorter, and runs much faster due to the fact that we cut down the amount of data needed to be transfered. Read more

September 5, 2016

Scaleway on terraform: remote-exec provisioners

In this blog post I want to explore two options of using terraform and the remote-exec provisioner with the new Scaleway cloud provider. using Scaleway First, signup for Scaleway. Once you have a Scaleway account, export the required credentials to your environment like this: export SCALEWAY_ACCESS_KEY=<your-access-key> export SCALEWAY_ORGANIZATION=<your-organization-id> You can find out both information easily by using the scw cli; it'll write the information to the ~/.scwrc file. Now you can use the scaleway provider like this: Read more

© Raphael Randschau 2010 - 2020 | Impressum