Byzantine Reality

Searching for Byzantine failures in the world around us

The Black Swan

After picking up a Nexus 7 tablet, I’ve started to get back into the habit of reading once again. With that, let’s take a look at an extremely fascinating read that I stumbled across, “The Black Swan: The Impact of the Highly Improbable.”

Chess and Elixir

A nice habit that I picked up from the Pragmatic Programmer long ago was the excellent idea to commit to learning one new programming language a year. In the past, I’ve called this “the perennial Java problem”, referring to my search to find a language that “sucks less than Java”. This is a bit vague and perhaps unnecessarily offensive, so let me clarify it by saying I want to find a language that “can be used for actual programming and is less verbose than Java.” With that, I’ve been reading Dave Thomas’ Programming Elixir, an excellent read for programmers looking to learn the Elixir programming language. Since the idea is to use Elixir in a “real world app”, let’s go over what Elixir looks like for an app I wrote to help me get better at chess.

JustOnce

By day I’m mostly working on what you’d call “backend programming” in AppScale-land, so every once in a while I like to take on something a little bit different. This time, I wanted to make a web application that solves a problem I periodically face: sometimes I want to send someone a file, but only let it get downloaded once. It’s a fairly trivial app to write with the Google App Engine framework, but for the web interface, I wanted to mix it up a bit. So this time, I checked out AngularJS and threw together JustOnce – an open source app that lets you share files that can only be downloaded a single time.

Not an Avengers World

The Avengers vs. X-Men crossover storyline from 2012 gets a lot of flak on the internet (perhaps rightly so) for being schizophrenic and other problems you’d expect from having so many writers on it. But two parts of it stood out as being awesome in my book (in no particular order): (1) Kieron Gillen’s AvX tie-in work in Uncanny X-Men (of course, his whole run there is amazing as well), and (2) Brian Bendis’ New Avengers #29 tie-in issue. Today I’m focusing on the latter and its evolution, and will return to the former hopefully soon.

This one issue of The New Avengers that is so good that I had to pick up every other Avengers and New Avengers issue in the AvX line to try to get more of it. But why? It’s because this issue takes a look at the clandestine group known as the Illuminati. Each member possesses an Infinity Gem, which Thanos tells us “with only one you become a god”. So as we know, with great power comes great responsibility, so the idea is that these are the only people in the world that can be trusted with ultimate power. The issue centers around the question of “if we have ultimate power, why not use it to stop the Phoenix from destroying the planet?” It’s full of nuance, as we can see that not everyone even agrees that the world will be destroyed, with Mr. Fantastic and Namor independently arguing that the Phoenix actually will make the world a better place. It’s a great, deep philosophical read, with some solid art from Mike Deodato.

So I tried to find something else like this in the AvX storyline and failed, but luckily, the team at Marvel apparently employs telepaths, so someone there said “what if we make a whole comic with this team and this kind of stuff?” And with that, I saw this tagline teased randomly throughout various Marvel comics:

To prevent the collision of our universe with another, the most powerful and brilliant team in the Marvel Universe – the Black Panther, Iron Man, Dr. Strange, Black Bolt, Mr. Fantastic, Namor and the Beast – must assemble to confront an infinite legion of parallel universes.

With that, I was instantly sold and had to check out Jonathan Hickman’s awesome (in progress) run on New Avengers. It’s the foil of Hickman’s also solid run (also in progress) on Avengers, and while we’ll also come back to that series at a later date, it’s sufficient now to say that Avengers embodies the best and brightest of what the Avengers have to offer ideologically, and this essay will focus on how the Illuminati embody their foil: what happens when the best and brightest do when they throw ideology out the window.

Cleaning Up in Google Compute Engine

Google Compute Engine provides an Infrastructure-as-a-Service offering similar to Amazon Web Services. We support it natively in AppScale, and one of the very nice perks with GCE is that you pay for instances on a per-minute basis (after a minimum of ten minutes), as opposed to AWS, which charges you on a per-hour basis. That means if you use ten minutes of machine time in GCE, you pay for ten minutes, but with AWS, you pay for a full hour.

So we do quite a bit of hacking on both GCE and AWS, which means we create a lot of extra resources that sometimes accidentally get left around. With that, I wrote a quick script to clean some of that stuff up in GCE – let’s take a look!

Static IPs in AppScale

One feature that’s been heavily requested in AppScale fairly recently is the ability to acquire a static IP address from your favorite cloud provider and have traffic go through it, instead of whatever IP address or fully-qualified domain name they give you. So for AppScale 1.13.0, we’ve added support for Elastic IPs in Amazon Web Services as well as Static IP support in Google Compute Engine! Let’s talk about how you can use it, and what we do behind the scenes to hook it all up for you.

AppScale 1.13.0 Sneak Peek

After every release, we immediately conclude with two meetings:

  • A Sprint Retrospective, in which we determine (1) what went well during the sprint, and should be repeated in the future, and (2) what did not go well in the sprint, to avoid it next time.
  • A Sprint Planning Meeting, to plan what features should be worked on to produce the next release.