Skip to main content

Mike Kreuzer

DadOps: a Minecraft Java server

May 10, 2022

DadOps: where I get to play with software with my kids, which is without a doubt my favourite part of all of this.

This week's DadOps adventure was setting up a Minecraft Java server, one that was also playable by my kids' friends, but without breaking the bank.

I set up a VPC on AWS, with public & private zones (public zones being where the boxes with public IP addresses go, private zones for those without), putting the Minecraft server in the private zone. That setup hides the server away, but means a jump box in the public zone so I can SSH in to the Minecraft box, a NAT box for traffic going out from the Minecraft box, & an NLB for port 55… 5-whatever-Minecraft-uses. (I have to look it up every single time. 25565.) All of which could get expensive if I used AWS's managed NAT for example, or left the boxes turned on when the kids weren't playing.

Scripting to the rescue.

I got to play with the AWS CDK again, as a replacement for me for Terraform. The CDK & Terraform both have their advantages, but the standout advantage of the CDK for me is I'm not using yet another language. The sooner I never have to think about HCL again the better, I think.

I used an EC2 nano for the NAT box, rather than the high availability managed (expensive) alternative, so I can just turn it off when it's not needed. I have to set up the IP tables each time the boxes are turned on but that's just a bash script, a small price to pay. I set up the NLB in its own CDK/CloudFormation stack so I can tear that down too, using an elastic IP address so I can keep the address the same for the kids. Having an unattached elastic IP address when the NLB's not there costs ten times less than leaving the NLB up & running all month.

All of this is orchestrated by a few Javascript functions in a Jerbs script, jerbs minecraft start and the fun begins.

Once I've used them in anger a few more times I'll clean up the CDK and Jerbs scripts & put them up on Github.

In the meantime happy crafting, & don't mine at night.

RSS and Atom feeds

February 3, 2022

I added an RSS feed to this site, to go along with the Atom feed that's been there since forever. If there's any doubling up or other weirdness with your feeds with that change I apologize. Should be a one off thing.

I'm in two minds about the need for RSS. In my mind at least Atom 1.0 replaced RSS 2.0, but then Apple went & gave RSS its blessing for podcast feeds, & Atom may have just gone the way of XHTML & the Dodo at that point. Maybe.

Adding the feed meant writing Ruby for the first time in at least half a year, and looking at the code for this blog for the first time in maybe two years. Oh boy, my Ruby is rusty. Maybe I should rewrite this thing in a language I use a bit more often…


Mic time

December 4, 2021

With two years of working from home under my belt now, & the firm determination to keep working from home, I decided to up my audio game. To jog my memory in the years to come, & as a point of departure for anyone else considering doing something similar, this is what I got, & why.

My microphone's an Electro Voice RE 20 - I chose that instead of a Shure SM7B, the other probably more popular contender in this space. The RE20's meant to have less proximity effect, that's the change of pitch caused by proximity to a mic, so with the RE20 I won't have to remember my exact position relative to the mic between takes. I also think it looks cooler.

The RE20's a heavier mic, & also probably requires what we used to call a cradle, what everyone seems to call a shock mount now, for me that's the EV309A, still winging its way to me from America. The heavier mic & the shock mount require a sturdier mic arm to hold that weight up. I went with a K&M 23860. I'm not super keen on the internal XLR cable, it can't be easily replaced, but it works (well) for now. That's all added cost though, the RE20's more expensive to start with, & the SM7B doesn't need a shock mount & can have a lighter & cheaper arm.

As a pre-amp/digital interface I chose the MOTU M2, partly because it was meant to work with Linux (and it does), but mostly for its meter. I would have got one with a physical VU meter if I could find one I could afford, that's the look I want. My experience so far, ironically I suppose, is that I look at the display on my computer screen much more often than the one on the box, but maybe that'll change. It's partly a question of where to position the thing on my desk. The RE20 needs a lot of gain, and the MOTU M2 is reasonably clean, the alternative I considered was an Audient ID14 which is meant to be quieter still, but that has no real display at all & isn't meant to work with Linux.

With gain on the MOTU set at around 12 O'Clock (the dials aren't marked with a scale, why would they be) I can start to hear a hiss with the volume set all the way up. That stays pretty constant until you get quite near maximum gain, then it jumps up abruptly, and can be heard at a normal volume. So every bit of gain except that very last part is usable. Using the MOTU M2 by itself with the RE20 means still needing to add around 20dB of amplification in software, for me. If you're a shouter you mightn't need as much but I do. So I added a Cloudlifter to the mix.

The Cloudlifter adds gain, supposedly up to 25dB depending on your power source, I get almost exactly the 20dB I need. Can you hear the difference? Maybe. Theoretically there should be less detail with digital amplification. Is someone half listening on a laptop speaker going to hear that difference? Probably not. For me it means I get a good signal in real time and it's one less step in producing anything I record.

There's a lot of woo woo in the audio equipment world, gold tipped digital cables (that can't possibly change the sound of a digital signal), burning in headphones (which does nothing). A lot of superstitious musicians I suppose. Musicians are the worst. Almost as bad as actors. But there's some lovely looking kit to be had. Nice sounding too.



Earlier posts...