American Idiot: The Musical

American Idiot, the album, was a big part of my life throughout high school. I have only listened to a select few of their backlog, and have heard even less of their newer material to be quite honest. But American Idiot highlights a vivid part of my memory: walking to and from school each day roaring the songs silently to myself, being suspended from school, being incredibly uncomfortable with knowing who I was, and who on earth I should be aiming to be.

It may sound gloomy, but high school was both the worst and best times of my life and this album is undoubtedly one of the soundtracks for it.

Walking into The Arts Theatre threw me right back to that time. On a static ridden TV – the kind that’s not especially of the area, but certainly one I had – was scenes from 9/11 fallout. Bush bumbling, deniers questioning, and most of all terror and anguish in the eyes of Americans. I remember these scenes – I remember how I felt in that period of my life.

The musical opens with, the revolves around, three men – maybe they’re just butting against an age where responsibility should be grabbing them and stringing them up in a half Windsor noose. They feel lost and aimless, but also resistant to becoming the people playing on the TV. Ambition leads them to leave town. It’s not a spoiler, if you’ve heard the album, to say that it doesn’t really work out for them.

The cast were all incredibly energetic – the dancers (who were also often singers) and leads alike. There wasn’t a loose link between any of them. The choreography was fantastic, and outfits just added to my nostalgia for the time.

I have seen others reviewing the show saying that the story is a bit loosey-goosey, and maybe it is to someone that hadn’t heard the album before. To someone who listened to it many times, and spent a large amount of time trying to understand the story, the show felt it was connecting many dots for me and filling in the gaps. Certainly, it felt like someone who enjoyed the music in the past will get more out of it than someone hoping for a story-based musical, akin to Chicago or something.

When the lights were turned up on the audience during one of the numbers, I realised I was grinning like an idiot. I may have been like that for most of the show, without realising. It was delightful and a perfect throwback to a younger me.

Two Player Dungeons and Dragons

A Winding Road

I’ll preface this by saying I’ve never actually played Dungeons and Dragons, but I’ve always really liked the idea. The big downside for me is that it’s very tricky to get a group of friends together who are willing to, well, act silly for a good chunk of time. So with that I decided I’d try and build something which one might be able to call “two player DnD”.

On Saturday I wrote about 5000 words of this game, which has turned into more of a choose you own adventure RPG. This game, A Winding Road I’ve taken to calling it, is a demo of my idea. Something small so that I can actually finish it. Once finished, I’m planning on printing it all off and grabbing a few friends to play test it with – it’s really something I can only know if it’s any good by watching someone have a go. This demo is highlighting a bunch of mechanics I’ve thought up so far, to see how they play and what I should change (or ditch).

Another thing that has gotten me quite excited about this idea is my discovery of print on demand board game manufacturers. I’m shocked there’s a market big enough for that to be profitable, but I’m glad it exists! The Game Crafter is one that has piqued my attention. As it’s print on demand, it requires no investment up front (from what I can see) since you pay for the materials of your game – you buy each component separately – and then have your art printed onto them. Then you add in how much you want to mark it up by, The Game Crafter gets a small percentage and you get the rest. It sounds like a really good system.

Really excited about the idea of a game of mine actually being completed, printed, and played by people.

Accessing your MySQL server: “Network is unreachable”

This has been a very sysadmin-y week for me, and I’ve mixed feelings about that. For now though, I’d like to tell the story of how I debugged why I couldn’t access my MySQL server.

My standard MO would be to have MySQL and the app running on the same machine. This time though, since I’ve built my app using Docker (which I’m deploying with Docker Cloud) I can’t have the MySQL server on the same box.

I do have a box already with MySQL running, however that box is smartly locked down with all sorts of iptables voodoo. Very few things are allowed to talk out from the server, and even fewer are allowed to talk to the server. Here are the steps I took while learning how to open that box up.

First, on the MySQL box figure out what port it’s running on. The default is 3306, but you can confirm that like so:

sudo netstat --tcp --listening --program --numeric-ports | grep 'mysql'

The number in the forth column, which looks a bunch like an IP address with a port, is the port you’re looking for.

Now we know that, we can check if our app server has access to the database server.

telnet yourhost.com 3306

Hopefully, you won’t get anything back but a quick message about it “Trying” to connect, and eventually “Network is unreachable”. If this command does actually connect you to your MySQL server then you should focus on locking that down as soon as you can.

Assuming that you’ve already got your server locked down via iptables though, you’ll want to open it up so that you app server (and only your app server’s IP) can get access to this port. I don’t know enough about system administration to get dirty with real iptables conf files though, so I much prefer to install webmin which will give you a lovely interface for it.

You want to be setting up rules which look like this:

  • Source address: [Your app’s IP address]
  • Source port: 3306

And then the defaults are largely good enough. Let me know in the comments if there are even more things that I could lock down – I think have the IP address locked to one I’m expecting should be safe enough though.

Once you’ve saved and applied those new rules, you may be able to telnet to your MySQL server now. You’ll see what definitely looks like a MySQL prompt.

If not, there’s another debug tool you can use: tshark. I’ve found this to be super helpful when trying to track down malicious looking traffic I had one time on a server of mine. In this case though, you can run it on your MySQL server and see if the server is even spotting the telnet request.

tshark -ta -n port 3306

This’ll show you data being sent to that port. Try and telnet again, you should see some traffic. If not, your iptables rules are wrong, or you’re mistaken about your IP address.

If all is going well though, you should see the traffic from your telnet request.

This is where I got stuck for a little while, but eventually found that MySQL doesn’t listen to the wider network – only internal network comms. You can fix this in your my.cnf file (likely /etc/mysql/my.cnf):

bind-address            = 0.0.0.0

Restart MySQL, and you should be able to access it all you need.

Twilight Struggle

Twilight Struggle is a two person board game which my boyfriend and I played for the second time this weekend.

I suppose you’d actually say it was the first time, since the first time we got the rules completely wrong. Realising half way into our first play through, we changed the rules to what we thought they were. It wasn’t until the second time, this Sunday, that I feel we really cracked it.

The game struggles from the age old problem of board games – any board game – in that the rules often seem impenetrable. Your first play through will take half a weekend up, I’m sure. Fortunately there are some guides around which do a much better job at explaining the rules than the rules do. I’d strongly recommend that those, or taking a look around Youtube first of all.

The game is supposed to take around three hours, but we were finding that each turn (we ended up playing 7 of 10 turns before Tim won) was taking between 30 to 45 minutes. It took a very long time to play but certainly never became boring.

The game works around cards which you can play one-per-turn. There’s a couple of ways to play the cards, but almost always will have a benefit to you as well as a disadvantage. Sometimes the disadvantage is quite extreme, so you end up spending a lot of time weighing up the trade off. This doesn’t feel like it slows down the game play because you’ll be looking at your cards deciding what to do next whilst your opponent is doing the same.

In a similar vein to Risk, the game gives points at certain stages based on how much of a continent you control. These points are scored when someone plays a score card: “Score Europe”, or “Score South America”. As at any time half the cards in play are being held by your opponent, you’ve no idea which scoring card is likely to come up soon. You need to take slight cues from them, whilst they’re simultaneously trying to throw you off the scent (but this forces them to potentially be wasting one of their precious few turns). If they’re putting a lot of effort into Asia, maybe they have that scoring card.

Annoyingly though, it’s possible they don’t have a scoring card in their hand. And neither might you. I think this is the situation I found myself in for at least a turn or two. Falling into the situation just leaves you with nothing to focus on. It actually takes away from the game quite a lot. Should I put my guys in Europe or Middle East? At this point, does it matter… Maybe expert players never get that feeling, but without guidance the game sometimes felt like I was waiting to get more cards.

There may be too much luck to this game for some people, but I certainly felt like I was enough in control that it was my intelligence that was keeping me afloat, and not a few lucky dice throws.

There is a certain level of stress that comes with this game though. Tim, my partner, was moments from winning. Mere points from a USSR victory, but later told me that it was stressful as all hell. He needed the exact combination of cards, and for me not to steal a very specific card, in order to solidify his win – which he did, but the stress soiled the feeling a little.

Nonetheless, I’m excited for him to get home so we can start playing again! Definitely a game to lose yourself in, worthy of a good amount of concentration.