I see the jackals waiting to pick at the carcass of my own legacy, which, like Amy’s illusions, I wanted to shape into something pleasant, but has quickly spoiled under the influence of my own darkness. – Magneto, issue #17 (written by Cullen Bunn)
Let’s talk about Marvel’s most-recently-wrapped-up event, AXIS. The premise is simple enough to start with: the Uncanny Avengers, a team of X-Men and Avengers working together to make the world a better place, run into the Red Skull, who has been given a huge power upgrade in the form of Professor X’s brain. They defeat him early on but fail to capture him, and get distracted by other baddies throughout the series, so they don’t end up actually capturing him. This gives the Red Skull and friends the time they need to hatch a scheme to “save the world from the scourge of mutantkind”. And for such an irredeemable villain like the Red Skull, series author Rick Remender does an excellent job of explaining his motivations.
The now-super-powered Nazi keeps true to his old motivations of needing to dominate others to make himself feel better, but gains a new quasi-heroic “motivation”: he’s trying to save the world from mutantkind. This works great in two different ways. First, it serves his purpose of needing to dominate humanity, because he’s the one saving them from mutantkind, and he expects to be worshipped by humanity for being their savior. Second, he does make a good case that humanity needs to be saved from mutants. Their powers are so all over the map that it would only take a single mutant to destroy the Earth. But it’s clear this is a secondary motivation, since the Red Skull tells Captain America that he also needs to save humanity from itself. He sees humanity as a bunch of fat slobs who need their junk food and reality television, and that he will save them from the nightmare they’ve dreamt up for themselves.
So you’d think that AXIS would be an “everyone vs. Red Skull” dogpile. And you’d be totally wrong. It instead is a story with no one villain, and no one hero, and throughout, who is a hero and who is a villain changes. To quote the marketing material, “there’s a fine line between good and evil”, but perhaps a different way to look at it that’s equally true is Nietzsche’s line from “Beyond Good and Evil”:
You who fight with monsters ought to see to it that you do not become a monster yourself. And when you gaze into the abyss, the abyss gazes back into you.
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.”
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.
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.
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.
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!
Continuing our “99 Bottles of Beer” blog series, let’s try out a Sam Adams Cherry Chocolate Bock:
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.
Continuing our “99 Bottles of Beer” blog series, let’s try out a Sam Adams Winter Lager: