
blake kathryn
d e v o n
Peter Solarz
Cosimo Galluzzi
Sade Olutola
let's talk about Bridgerton tea, my ask is open

Kaledo Art

PR's Tumblrdome
Show & Tell
NASA

⁂
wallacepolsom

❣ Chile in a Photography ❣

★
Jules of Nature
occasionally subtle
trying on a metaphor
EXPECTATIONS
Noah Kahan
seen from Malaysia

seen from Netherlands
seen from United Kingdom

seen from United Kingdom
seen from Türkiye

seen from Malaysia

seen from Netherlands
seen from United States

seen from Finland
seen from United States
seen from United States

seen from United States

seen from Germany
seen from Russia

seen from United States
seen from Vietnam
seen from T1
seen from Germany

seen from United States

seen from Germany
@kiliankoe

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
WWDC 16
Had a fantastic time last week at dubdubdeesee in San Francisco. First time at the West Coast of the US and completely blown away by the amount of amazing people and great time we had. This post is going to be a quick recap. Diary style.
I flew from Dresden to Munich to San Francisco and spent the next day - Saturday before WWDC - exploring the city with two friends (Benjamin and Micha). Golden Gate to Fisherman’s Wharf to Coit Tower, it’s a beautiful city!
Twin Peaks has an amazing view of the city by the way! Only downside are absolutely freezing temperatures at night. How does a city in California in all places get *this* cold?!
Sunday was reserved for the scholarship orientation that Apple had planned. A few interesting talks and selfie time with Tim Cook (skipped that as the crowd around him was far too intimidating 😄), but the best part was meeting a load of other scholars and chatting about their backgrounds, projects and any other shared interests. Had a great time there! Here’s a picture with Maria and Gustavo.
Apple has a few photos from the event in the galleries of the WWDC app. Check that out, the pictures in those galleries are generally awesome!
Monday was keynote day. Woke up and walked to Bill Graham at around 5 am. Didn’t want to get up too early since the venue was far bigger than Moscone West the previous years. We were confident to get good seats. Turns out some Apple employees did their best to round up all scholars though and we got in a bit early and had fantastic seats right up on the front left.
Not much to say about the Keynote itself or the Platforms State of the Union right after. Just that I’m excited about building against and for the new APIs and OSs.
Summing up the rest of the week, we had a great time in the sessions, a just as good time in the labs talking to Apple engineers about the frameworks we’re using and some best practices and an awesome time at the parties in the evenings hosted by the great people at Twitter, Microsoft/Xamarin, Mapbox, Lyft, and Realm amongst others. Oh, and the bash on Thursday was pretty sweet as well! Didn’t expect such a concert and I loved the food 😄
We took off on Friday afternoon driving a few miles to the south visiting Facebook HQ (with a great tour from Max) and a quick visit from us by Apple @ Infinite Loop 1 and Google HQ. No tours there though unfortunately.
The pic above is from the roof off of one of Facebook’s buildings by the way. Definitely a good working atmosphere 😜
My last day in the area (the others were staying until Tuesday) was spent in Yosemite, an amazingly beautiful national park. And a great chance to get that sunburn from the Saturday before back 😉
That’s pretty much it for the extremely short and very high level overview of the week. I’d love to come back next year, that’s for sure!
WWDC 16
Apple was gracious enough to grant me a WWDC scholarship this year. I’m still blown away!
The next challenge is obviously getting to SF. Unfortunately it’s not exactly cheap traveling all the way from Germany, but I’ll find a way. Definitely couldn’t justify missing this one-of-a-kind event.
Stay posted for more, especially once it’s June ;)
Made it to #NYC. (hier: New York, New York)
In a dystopian near future, single people, according to the laws of The City, are taken to The Hotel, where they are obliged to find a romantic partner in forty-five days or are transformed into beasts and sent off into The Woods.
Talk about an odd setting for a film... Not sure if I want to recommend this one, but it was definitely an experience.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Cheap DynDNS alternative
Until recently I had the pleasure of living with a static IP. This made accessing my Raspberry PI from outside my home rather easy. I could just open the port on my router and hardcode the IP anywhere.
After moving though easy access like that unfortunately fell away. I looked into some services like DynDNS but found them cumbersome and hard to work with. A simple solution to this “problem” presented itself via CloudFlare. Why not just get my current IP every $TIME_INTERVAL or so and send that to CloudFlare via their API updating an existing DNS record.
Here’s a simple ruby script for just that.
https://gist.github.com/kiliankoe/268c13efa87c510bf8ad
The script relies on two things to work correctly:
Make sure to set the record to be updated beforehand, this script will look at all records and update the IP of the correct one.
You need to pass a few environment variables as specified at the top of the script, namely CLOUDFLARE_EMAIL, CLOUDFLARE_API_KEY, CLOUDFLARE_ZONE and CLOUDFLARE_RECORD_NAME.
Now just periodically run it via cron or however you like :)
Setting up the record beforehand also gives you the freedom of specifying if you want CloudFlare tunneling for the record or not. Whatever you set will not be changed by this script.
UPDATE: Thanks to @stefanmajewsky here's a Python script for doing the same directly via Gandi.net. Awesome!
There are 10,000 possible combinations that the digits 0-9 can be arranged to form a 4-digit pin code. Out of these ten thousand codes, which is the least commonly used?
Interesting analysis of a large set of typical four-digit numerical passwords. Apparently you can _never_ trust people with generating their own PINs or passwords.
Intercalation
Today is Leap Day, so I thought it’d be appropriate to brain-dump on some of the really weird things about calendars.
Calendars, like colors, are one of those topics that, on the surface, seem pretty straight-forward, but once you get in to them you realize how horrifically complicated they are. The deeper down the rabbit hole you go, the crazier things get and the crazier you get.
Welcome to a corner of my insanity.
One of the weirdest things you realize about calendars is that they are completely made up. There is nothing natural about calendars. The cycles of a calendar may be based on “natural” things (orbits, cycles, phases, etc), but a “calendar” itself is a completely artificial construct. Because they’re completely artificial, calendars can have any sort of weird rule you want about how to make it line up with whatever natural corollary you want.
The next weird thing you realize is that “time” is also completely made up. Time exists, in the sense that this moment is happening after a previous moment, but that’s it. There is nothing natural about a “second” or a “day” or a “year”. Even the concept of “2016” is completely artificial. “2016” is a totally arbitrary name for whatever “year” is the current “year”.
All time is relative. I only know that this year is “2016” because the last year was “2015”. But “2015” only makes sense because of previous years, and the truth is that we don’t really know when the year 1 happened. Humans have not always been the greatest at recording history. I’m sure you’re shocked to learn this.
But even this is very Earth-centric, and Earth has not always existed. So in reality, we’ve got this arbitrary range of recorded time that kind of floats in actual time. We don’t know when our recorded time starts relative to the beginning of Time, or even when it starts relative to itself. This gets even weirder once you start factoring in general relativity and realize that time moves at different speeds depending on where you are. For example, because GPS satellites are whizzing around above the earth so fast, they are one of the few kinds of computers that have to account for multiple flow-rates of time (because time is flowing at a slightly different rate for the satellite than it is on the surface of the Earth). *mind blown*
OK, now let’s talk about specifics.
In general, we are most familiar with the Gregorian Calendar. The Gregorian Calendar is based on the earlier Julian Calendar, and is the calendrical system that has our expected January - December months, with the years being counted since the (approximate) birth of Christ.
Now for convenience, we’ll define a couple of things:
Let’s define a “year” as the duration it takes for a planet to complete one orbit around its Sun, and we’ll define a “day” as the duration it takes for a planet to complete one rotation around its axis. (Fun fact: Mercury’s “day” is longer than its “year”, because it takes longer to perform one full rotation on its axis than it takes to complete one orbit around the Sun!) (Another fun fact: due to tidal forces and elliptical orbits and other fun things with gravity, the absolute length of a planet’s day changes depending on where it is in its orbit; at some points the Earth is rotating slightly faster than at other points in the orbit. But I digress…)
Since our “year” is based on Earth’s solar orbit, this makes the Gregorian calendar a “solar calendar”. But here’s where things get really interesting. Not all calendars are solar calendars. Some calendars count years based on other things, like the phase of the moon (a lunar calendar), or a combination of the two (a lunisolar calendar).
Now, no matter which kind of calendar you’re using, nothing is going to line up perfectly. For example one Earth year is 365.25636 days (a “sidereal year”), even though we formally define a year as 365 days. A day is on average 86,400.002 seconds.
This is where another calendrical technique called “intercalation” comes in. Intercalation is the process of inserting or removing a unit of time measurement (like a day) into your calendar to get it to line up with whatever natural cycle off which you’re based.
In the Gregorian calendar, we do two kinds of intercalation. The one we’re all used to and celebrating today is the intercalary day. We insert a day about once every four years to account for that .25636 day discrepancy between our calendrical year and our sidereal year. And then, every now and then, we add in the odd leap second or so.
Astute readers will realize at this point that we also have some fake intercalation that takes place in the form of Daylight Saving Time. Twice a year, we either insert an extra hour in our day (a 25-hour day!) or take one out (a 23-hour day!). Daylight Saving Time is the bane of all programmers everywhere.
It’s at this point where things start getting kind of weird. This Gregorian system of an intercalary day is well-known to us and we’re pretty used to it. But once you get out of the western mindset of “January - December” and accounting for all the other billions of people around the world who measure time differently, you realize some key things, and one of the big ones is that intercalation is not limited to days or seconds.
My favorite example of this is the Hebrew calendar, which is a lunisolar calendar. Since it’s largely based off the synodic period of the Moon, it can get really out of whack with the solar year. And since the Earth’s solar period is not an even multiple of the Moon’s terrestrial period, the Hebrew calendar makes up for this by not just inserting extra days, but inserting a whole extra month (Adar I) every few years. And again because the orbits are so weird, the intercalary month happens 7 years out of every 19. And if that wasn’t confusing enough, Adar I isn’t added at the beginning or the end of the year, but right smack dab in the middle.
Wheeeeeee!
Some calendars are based on extremely local circumstances. For example, traditionally the Islamic calendar has based its months on the beginning of the lunar cycle by noting when the waxing crescent was first visible in the sky. But the visibility of the crescent can be affected by a whole bunch of circumstances, such as your latitude and longitude, your elevation, and even the weather! 😱
Calendars count years based on different things. The Gregorian calendar is based on the approximate birth of Jesus Christ. The Hebrew calendar is based on the traditional date for the creation of the world by God. The Islamic calendar is based on the immigration of the prophet Muhammed from Mecca to Medina in 622 AD. And the Japanese calendar is based off the reign of the current emperor!
The Japanese calendar is a prime example of not making assumptions about dates. While the days and months are all based on the Gregorian calendar, the year is measured from the day that the current emperor ascended to the throne. And when an emperor passes on, a new year begins the very next day, even if it’s not actually the Gregorian “new year”.
For example, the Shōwa era happened from December 25, 1926 to January 7, 1989. So the first day of the first year was December 25, 1 Shōwa and only lasted 6 days (to December 31, 1 Shōwa). Then when the Emperor Shōwa died on January 7, 1989 (or January 7, 64 Shōwa), his son Akihito took the throne on the next day, marking the first day of the Heisei era: January 8, 1 Heisei. What this means is that in the Japanese calendar, you have to account for the year changing independently of the day-month cycle. It also means that for some calendars, the era (the unit of time measurement larger than a year) can be extremely important.
This leads to another key realization about dates: some dates that look valid don’t technically exist. For example, the date “January 8, 64 Shōwa” looks reasonable, right? But it didn’t exist. In reality, it was January 8, 1 Heisei. Similarly, January 1, 1 Heisei didn’t exist either.
When we “spring forward” for Daylight Saving Time in the United States (where observed), that happens at the 2 am hour. So in two weeks, on March 13, the United States will have its 23-hour day, and on that day, the 2 am hour will not exist. So March 13, 2016 at 2:42 am looks like a reasonable date, but it won’t technically exist. Conversely, when we “fall back” on November 6th, 2:42 am will happen twice. (This, incidentally, is why date programmers get twitchy when they hear “86,400”. Not all days have 86,400 seconds in them!)
In Brazil, the Daylight Saving Time jump happens at Midnight, so time goes from 11:59:59 PM to 1:00:00 AM. This is actually the cause of some really subtle bugs in code. Programmers assume that setting the “hours/minutes/seconds” portions of a date to zero is sufficient to indicate that there’s no “time” component and that it’s just a date. But in reality, 00:00:00 is midnight, and there are times when midnight doesn’t exist and you can end up being off by an hour in your calculations. Instead it’s safer to set a “nonexistent time” to be 12:00:00 (midday), because no one does a DST jump in the middle of the day. (For now… 😈)
Non-existent dates also mean that date manipulations are hard. For example, let’s say that (using the Gregorian calendar, since that’s what you’re probably familiar with) you start with “January 31st”, and you want to add “1 month” to it. What do you get? Ideally you’d get “February 31”, but that doesn’t exist, so you have to make something up.
Depending on what you’re trying to convey with “1 month”, you could get a couple of different things. You could get “February 28”, if “1 month” means “move forward one unit to the last day of the next month”. You could also get “March 3”, if “1 month” means “31 days” (the most common number of days in a month in the Gregorian calendar). You could also get “March 2”, if “1 month” means “30 days” (the average number of days in a month in the Gregorian calendar). You could even get “March 1” if “1 month” means “30 days” and it’s a leap year.
Let’s say that you really want “the last day of the month”, so you end up with February 28. Great. Now let’s add one month again. What do you get? Do you get March 28, because that’s “the same ordinal day but in the next month”? Do you get March 31, because that’s the last semantic day of the month? (Pretty much every date and time library will give you “March 28”)
To work around this problem of iteratively manipulating dates, the general rule of thumb is that you should always do the calculation relative to the original date (January 31 in our example). So instead of doing “January 31 + 1 month + 1 month”, you do “January 31 + 2 months”. You’ll end up with a semantically more-correct date.
January 31 + 1 month + 1 month = March 28, but January 31 + 2 months = March 31. Or in other words, when you’re adding dates together, 1 + 1 does not always equal 2.
😣
All calendrical systems are totally made up. If you wanted, you could make a totally valid calendrical system that’s based on how long it takes your fingernails to grow to a certain length. Or you could do it based on how long it takes an iPad’s battery to run out. Or you could make up Earth Standard Time. It’s all valid. The labels “second”, “minute”, “hour”, etc are completely meaningless. They’re just names, and you can change what the names mean.
Even the lengths of units is pretty arbitrary. A week only has seven days because that’s pretty much how we’ve always done it. A second (or the “second” division of an hour by 60) these days is formally defined as “the duration of 9,192,631,770 cycles of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the caesium 133 atom.” Wow that’s so useful Imma go build my own clock now.
So the next time an alarm doesn’t go off because of some weird calendrical glitch (DST or whatever), cut the programmer a little slack. This stuff is hard.
As a side note, my favorite calendar would have to be the Coptic calendar. Twelve months of 30 days each, with a 13th month at the end of the year that either has 5 or 6 days, depending on whether or not we’re inserting an intercalary day or not. Much simpler. 👍
In summary:
Measuring time is in no way an exact science.
All calendars are totally made up.
Everything can change for any reason.
Nothing is simple.
Nothing is regular.
Do not assume anything.
Deal with it.
There’s a joke that goes: “I used to get excited about space travel until I realized what it would mean for date and time libraries.” It’s so painfully true.
Doctor Who sums up the problem of “time” perfectly:
People assume that time is a strict progression of cause to effect, but actually from a non-linear, non-subjective viewpoint - it’s more like a big ball of wibbly wobbly… time-y wimey… stuff.
¯\_(ツ)_/¯
All of this leads me to reveal one of my secret desires. As a species, one of our long-term goals should be learning enough to figure out how to alter celestial orbits and make them perfectly circular, Kepler’s Laws be damned. Then we could make the Earth’s orbit be an exact 360 days, and the Lunar period be an exact 30 days. Programmers everywhere would rejoice, and everything would be much simpler. We would also make each month have 3 weeks of 10 days each, with a 3-day weekend each week. Who doesn’t want a 3-day weekend?
Elon Musk only wants to go to another planet and deal with all the crazy calendrical problems that will come as a result. I want us to undertake celestial engineering. Your move, Elon.
“1 + 1 does not always equal 2″
So very, very true (┛ò__ó)┛彡┻━┻
Firewatch
Finished it two days ago and was left in some emotional turmoil. I believed the ending to be spoiled for me after accidentally having read a sentence on Reddit, but it turns out that was bullshit. Unfortunately that made it even worse.
It’s a gorgeous game, albeit relatively short (~4 hours). The gameplay mechanics work great (a bit unexpected at times) and the story is definitely captivating. Can’t say too much about it though without giving stuff away.
Definitely recommended! It’s not a horror game either, just thrilling at times and beautiful at others. Give it a shot! 😊
It’s available for Mac, Windows and PS4. Grab it on Steam here.
Megabite is a mobile app that automatically turns a photo of your food into a face. Let's face it, food is more fun when it looks happy. I was playing with my food one lunchtime, and I wondered to ...
Automating the most important tasks in life. This is just glorious.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Kraftklub Concert @ Schlachthof Wiesbaden
I’ve spent more than 5 years being a Bitcoin developer. The software I’ve written has been used by millions of users, hu…
Interesting read from one of the Bitcoin Core devs about the near history and future of BTC. Things could look grim.
Update: By the way, this article had some interesting effects on the price of BTC. It’s rare that popular writings online don’t affect the price, but I didn’t expect an immediate drop of 80 USD.
Black Mirror
Blindly following a recommendation on Reddit I just finished watching the first season of Black Mirror. Not quite sure what I was expecting, only had the SciFi label in my head. Didn’t quite find that, more of a feeling of deep disgust with the different shown realities. Interesting nonetheless.
So... Tumblr
I’m one of those bloggers who switch their blogging software more often than they actually write about something. And even posts like this one don’t help.
But I guess it happened again. It’s now almost 3 am and I just got done migrating stuff and playing around with everything. Really hoping that Tumblr will keep me motivated posting smaller tidbits from my life and here and there.
Cya jekyll (and octopress), you’ve been awesome and I’m definitely using you for other projects ❤️
Received my Reddit Secret Santa gift a few days ago. Loving it!

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
32c3
That was seriously awesome! My first congress and I couldn’t be happier with it. Definitely coming back next year, for sure!
There’s so much I could write about here, but I’m going to keep it to a minimum.
I kinda regret watching quite a few talks live and not using the time at CCH to have a look at most assemblies and workshops. Will improve on that @ 33c3. All talks have since been published online at media.ccc.de. Have a look, and come next year! 😊
HeartBattery
A friend recently had the fun idea to write a small script for his machine running Arch displaying his current battery state as a series of hearts instead of the traditional boring percentage. He did so via a short python script and the magic of Font Awesome to integrate with Conky.
I have to admit that writing a quick script in your language of choice makes customization like this a lot easier than on OS X, but I liked the idea and wanted to follow along with something native as well. So today I wrote a little app in Swift titled HeartBattery.
It doesn’t really do a whole lot besides pulling the state of your battery every five minutes and telling you a few things about it. The hardest part was actually getting the data and generating the image. Getting the data unfortunately isn’t as easy as reading it from a file somewhere like others systems do it, but you have to interface with some rather confusing C APIs. Not really wanting to do that I eventually stumbled across SystemKit, a Swift lib that abstracts all that away and offers an API that couldn’t be much simpler. It’s from the same person behind dshb, that amazingly pretty ncurses powered system monitor for OS X.
Unfortunately it doesn’t seem possible to set a custom font for a status item and multiple images are also not an option (afaik), so I had to resort to compositing a few icons together on every refresh of the app to generate a single wide image for the menubar representing the current battery state. Really doesn’t feel like the cleanest option, but another thing learned can’t be bad either I guess.
If you want to have a look you can find the source and download link on the GitHub repo here. And as usual, if you have any ideas, suggestions or think my code sucks and want to tell me how to improve it, please put a comment below or head straight for the issue/pullrequest 😊
Now all that’s missing is a bling sound whenever you lose a heart 😄