Hoarding ammo is for morons and LARPers

So here we are in The End Times, and I’ve heard/seen numerous remarks that say people are buying ammo at roughly the same rate they bought toilet paper.

You know that saying, “Amateurs talk tactics, professionals talk logistics”? Yeah this is the same deal.

My main reason: What the fuck are you going to do with 1000+ rounds? Defend your suburban single-family home like some sort of fortress? You and the missus and your 2 1/2 kids are going to all need hundreds and hundreds of rounds to cover their assigned sectors, as you live out your own personal Khe Sahn?

Are you fucking kidding me?

The idea of home-as-fortress is hilariously dumb. In most places, even in suburbs, we live jam-packed cheek-to-jowl with almost no open space. It’ll take a trivial amount of gasoline or some other flammable just just burn you out. They don’t even need to attack you specifically. You can be holed up, quietly, and our hypothetical bad guys can just start any ol’ fire and fuck everyone up.

You’re solving the dumbest part of the tactical problem.

The second reason is mass. Let’s say the shit hits the fan, and you realize, oh fuck, I can’t turn my suburban townhouse into a fortress; I gotta get the fuck outta here. The roads are already gridlocked as others try to flee, so you can’t drive. So you throw some MREs and a sleeping bag into your pack, and grab your rifle. Now what?

If you’re me, it’s at least 2 hard days of walking to get away from the city. Assuming I was doing it stealthily – say, at night, or taking as many indirect routes as possible – it might take a week to get away from what is officially “northern Virginia” and into the wilderness.

Do you know what a week’s worth of gear weighs before you pile on any ammo? Here’s a couple decent answers on how much ammo a modern infantryman can carry when well supported and supplied. Here are some numbers for the WW2 soldier.

Now remember, the shit has hit the fan, and you’re carrying a bunch of camping gear. Think you can still pull it off?

No, you can’t.

I get it, you’re a bad motherfucker. I mean just look at that AR you bought, you’re clearly an operator operating operationally. That doesn’t change the fact that ammo is heavy and you have to eat.

A few mags worth is all you really need in the most dire SHTF scenario. If anything other than “laying down cover while I run for it” is your plan, you’re an idiot LARPer. Pitched battles mean something has gone horribly wrong and you probably deserve to die because you fucked up.

Also, this is America. In the event of a SHTF scenario, ammo and guns are going to be laying around like loot in a fucking video game before long.

Sure, I mean, buy 1000 rounds to get the cheap price and practice a lot – it’s what I do. But HOARDING? Are you a fucking idiot?

I don’t get Ironsworn

Lotta hot takes incoming.

First, can we please stop it with the PbtA games? They’re not even really games so much as improv with guardrails, a way to keep the audience from saying something just idiotic every time you say “yes, and?”.

That is a valid play style, of course. There is no wrong way to play anything. My complaint is that we aren’t breaking new ground anymore. It’s all progress tracks/clocks and the same mechanic for everything.

Anyway, to Ironsworn. I’ve read it a few times and I’m just befuddled.

Setting, good. Setting just absolutely fucking great. I mean, low magic, no goddamn orcs, explicit acknowledgement that not every goddamn yahoo has a sword and armor and horse and 10’ pole. Fuckin… right on. Give it to me. Into my fucking veins. I’ve been toying with settings like this for years and years.

Similarly the simple “break the world up into thematic groups, not richly detailed cartographer-grade maps” is nice. You can build your own thing on top of it; it’s the 5-room-dungeon thing.

But from there it all seems to spiral out of control. For one, it’s PbtA on speed: moves lead to moves which lead to more moves. Roll “Herp a Derp”, then on a strong hit roll “U raff u ruse”, then roll some other thing after that. They’ve managed to turn the simple, improv-with-guardrails into something actually complicated.

The whole vow thing, upon which the game is built, is tedious. Every 5 minutes someone needs to take a fucking vow. And the charts to resolve a vow. Are you kidding me. How the fuck I am supposed to resolve my vow, when dickhead over there is working on his?

Don’t get me wrong: I’ve played in groups where the party not only shouldn’t have been adventuring, they shouldn’t have not just immediately started to murder each other. I’ve played in groups where the Session 0 was like, “I’m a bounty hunter, I’m chaotic evil, I want to murder everyone and sell their corpse for cash.” “OK cool I’m a lawful good paladin of the God of Kindness.” (in unison) “Let’s adventure!”

And the DM is like, sure, why not, nothing dysfunctional there. The story arc is, like, kill the evil neuromancer. One player wants to join him, one player doesn’t give a shit, one player just wants XP, one player …. etc.

The point being the “vows” bit seems like a great idea in theory but with 5 or 6 people, whose conflicting storylines cannot be resolved easily, I dunno. You’ve taken a neat mechanic for party unity and thematic story stuff and it just seems like it’ll end up in complete antagonism unless everyone is aligned.

A similar scenario occurs in Mage: The Ascension. Everyone “knows” it’s “unplayable”: the mechanics are too weird, too subjective, too unbalanced. I’ve played in a group where it worked amazingly and a lot of the time I have to stop back and say, you know, it was more that that group was in sync than the game. We could have had a baller 1st Ed D&D game. It was the group, not the setting or the rules.

Subsequent groups have not filled me with the same feeling, most of the time. So narrative, “fiction first” games that layer on complicated fiction-first stuff especially bug me.

The dice mechanic is … they sort of try to sell it as something other than “plain ol PbtA but with more randomness”. Instead of every move having the same probability you get, basically, random targets. I want to do the math on it to see how the curve looks. I assume they’ve done the math, but maybe not: since “fiction first” is the ultimate goal – not fair anything – and a certain number of complications and setbacks make for better fiction, maybe the curve being slightly adversarial is their goal. I don’t know.

Adapting it is hard. One of the reasons I haven’t ever run my version of it is: the simplicity plays into the story. Everyone is kind of assumed to be competent. There’s no “start off whacking goblins, then orcs, then ogres, then … etc” necessary. It’s like starting a D&D game at 5th level. Which is a good idea; I do tend to get annoyed at “you are a special person, also you faint if a rock hits you once” then a few months later “a goblin hit you 19x with a sword and you’re fine”. Those mechanics are hard to model without just saying, fuck it, fiction over numbers.

I also remain utterly bewildered at how people seem to think you need this rules-free improv storytelling fiction-first to have good combat. Like, are people out there just … doing math? Like is every combat just a game of Diablo, but with dice? My friends 7 year old grasped the idea of narrating combat, playing basic D&D. Yeah sure not every moment between dice rolls was a Tolkien novel, but if he can do it, grown-ass people with years of gaming – and ostensibly, reading books and shit – can do it too. You don’t need special mechanics to do that.

So I dunno. We’re getting a new group together to have some c9s social time, which means lotta group chats and vid conf, which has naturally led to “welp, time to play D&D”. Ironsworn came up first on the “ooh, let’s see”. Now I’m just irritated again. Maybe I’m stuck with hacked 5e.

The next big thing in software engineering interviews is …?

Software interviews are pretty dystopian. Everything is wrong about them.

But what’s next? How can we fix this?

We invented the take-home test, which seems to split the difference between finding out if this person has any technical ability at all, and testing a candidate’s ability to remember minutiae under completely contrived circumstances (combined with a little hazing, as a treat).

But even take-home tests have problems. For one thing, they favor people with free time – so if you are part of a working couple, 2 kids, a dog, and a house, it’s likely you are going to have a lot less time for your take home than the single, 27-year-old hacker who owns a futon and a Macbook (and little else). I’ve done interviews where the take-home test was in reality an excuse to make me do more whiteboard coding. After all you have to prove that I did the work!

A few places do this thing where, after you’ve run the gauntlet of interviews and whiteboard coding, you then work as a contractor for some time, to see if you can actually do the job. This seems to smart on paper, but JESUS. FUCKING. CHRIST. It takes even the smartest a solid year to really get going. You’re asking them to make extra work on their taxes; I mean who cares, we’re all crazy smart and overpaid, no big deal, right? And what you’re really doing is building a culture of overwork. After all they are gonna bust their ass for that 6 weeks, if they really want the job. Well now guess what the bar is set at.

We started all of this because … well I don’t know really. In the old days you’d just call their references or make some random guess at which candidate was good. But we got a culture of “make the monkey dance because working here is a privilege” out of it.

I think we’ve painted ourselves into a corner. We programmer types are all vastly overpaid, and have frankly ridiculous overall compensation and benefits. I have unlimited time off, extremely good insurance, all manner of benefits, we get free food and snacks, a company Uber account, and more. So to justify all this pampering we do weird gatekeeping.

Ignore the fact that all of us have to constantly look up the arguments to some function or whatever. We all fuck up all the time. If you’ve never broken the build, you’re not trying very hard.

I had a big kerfuffle at work and started thinking about it all; what if I got so mad I walked away? Which is worse: the bullshit from *gesticulates wildly* all of this, or going through the software interview gauntlet again? I dunno, man.

Anyway here’s Wonderwall.

The agony and the ecstasy of the modern app market

So there’s this app (iOS and, when I get another Mac, Mac OS) I use. I like it a lot.

The makers of this app released a really nice upgrade. Really nice. Really, really nice. It’s even a “free” upgrade.

Yes, “free”, not free.

See what they did was, they built a whole new dingus on top of the already good dingus, and switched it to a subscription model. This subscription model exceeds the cost of the initial app by quite a bit. I think the original app was less than $15 and now a year is $40.


I do not have a problem paying for software. I do not believe software should be free or at most $0.99. I will pay for software I like or want to use. That’s how it works. I don’t pirate things, I’m a grownup with a job.

But what gets me, is that in building the free tier, they moved one feature out of the old featureset and into the subscription tier. One (1) thing I used in this app, and 60+ things I will likely never use, for $40/year.

Goddamn it.

This is an edge case in the subscription model, I’m sure, but for me it’s a pain point. All the new features address what are obvious and very good use cases. They were smart, right, and good to add these features, they’re clearly what other people’s similar apps have and what Apple isn’t ever going to add to any of theirs. So, yay.

This edge case frankly sucks. It sucks because I’m sure if I opened a dialog with the devs, they’d probably wince, too. The obvious calculus is more than 80% of their users want/need those extra features, so win. Some of the remaining 20% will buy in for a few of them. And some small number will get fucked by it.

Well I’m in the small group. Huzzah.

I’m a grownup who pays for software but man sometimes it pisses me off.

Introducing: The Booze Ninja

I made a site.

So I use this app on my phone called “Highball” as my drinks recipe app. It’s very, very, very pretty and reasonably functional, but it is lacking a few things:

  • there are no categories or tagging
  • there is no search
  • you can’t even sort the order of entries
  • data entry is not bad but not great

Moreover, I have a bunch of stuff written on scraps of paper or stored in the notes app on my phone. The prospect of manually entering all this into Highball was … ugh.

So I made a thing. The idea here was to simplify data entry, and make sharing with my friends easier, plus address the above problems.


So I decided: I wanted a static site. But a nice UI would be cool, as would all the features available to powerful CMS platforms. So I installed WordPress locally on my machine, and installed a static output plugin.

It is a shitshow. I got everything I wanted except the most popular static output plugin produced broken output. Pagination was broken on a plugin at version 6.6, their support forum was flooded with complains from October 2019, and it was clear there was no intention to address it.


I tried Ghost, a popular NodeJS-based platform. It is a shitshow. The same thing as above, except: there is no static output plugin.

See, it’s a headless CMS. So instead we use the content api and send the content to a theme. Well, I found a theme I liked for the dynamic version. I found a standalone version of it but it wasn’t compatible with the content api consumer thing, so I’d have to rewrite everything from scratch, and don’t you know it that not a fucking thing is compatible with a fucking other thing, because NodeJS.


Ahhhhhh, happiness.

Good docs. A port of the theme I liked. Command line tools.

And of course, it’s in Python.

I had it up and running in a few hours. Everything works, modulo the small number of edge cases (the WordPress import tool defaults to reStructuredText, and I’m a Markdown boy).

I have fiddled with it just a few hours and I got everything I wanted. I wrote scripts to automate the content files, I wrote a script to convert the rst to markdown, I have sync to S3, the works.

And it’s all in GitHub.

So I’m pretty happy with it. I don’t want to become a “booze blogger”. The purpose of this site is to resolve the problems above, not start a second career.


I just wanted a ‘.ninja” domain and it seemed funny, in case you were wondering.

At some point, they’re going to try death squads

So, a bit of meandering here.

As you can easily see by reading this blog, I’m a “gun guy”. But I’m also a leftist. So what do you do when you believe in socialism and firearms ownership? Well, I joined the Socialist Rifle Association (Wikipedia).

One of the points the SRA supports is community defense, especially for marginalized people. Moreover, the cops can’t be trusted to defend the marginalized or the working class. The purpose of the police is to defend capital; to defend the property (and power) of the bourgeois.

This is a bad thing, but it’s made worse by those in power adopting the iconography of violence and making violence as strength their identity.

You can read more about that here. I used to be very much into “tacticool”. I’m not any more. There’s a lot of reasons; if nothing else, it’s just my aesthetic has changed as I get older: I don’t want to look like that. Yeah, maybe I have a Glock 43 in an appendix holster, but I’d rather look like Indiana Jones externally than Frank Castle. (Indy gets mad tail, yo.)

So combine those two things. And we have this:

What started as a bunch of dumb nonsense on a chan is now a combination of ARG, supernatural fantasy, and violent fascist movement.

Who do you think the cops are going to side with, when these guys finally decide to murder everyone with a Bernie sticker on their car? Here, let me help you answer that.

You can find more if you care. Suffice it to say if you expect cops to protect you, I have some bad news for you.

To be clear: I don’t think these lunatics will “win”. To my mind, the most probable outcome is isolated lunatics just do some mass-shooting while screaming Qanon memes, and they’ll be subsequently put down, because they’re disrupting the system.


A Bundy Ranch standoff situation (1, 2) that goes from the nuts pointing guns to killing a few LEOs and/or civilians. Since the critical mass won’t be with them – there’s not going to be a mass uprising of “patriot” groups, and most QAnon followers are fat, dumb boomers or the local village idiot – the ones just hoping to LARP will surrender/flee and the rest will end up as the latest iteration of Branch Davidian.

Everyone wants to be the hero protagonist of a world-saving narrative. We don’t live in that kind of world (if we ever did). At some point this is just cult behavior, accepted and tolerated like other cults (see also eg prosperity gospel and other fringe christian movements).

I wish I had an answer other then “do not succumb to paranoia, but be watchful”. Particularly be mindful of marginalized people. They’re going to be the lowest-hanging fruit for these psychos. You don’t have to become a leftist or join some group. You just have to do the right thing and protect the workers, the exploited, the marginalized.

And don’t trust anyone with a death’s head.

Ghost Gun update

I mentioned earlier that I am working on a “ghost gun”: you know, the super-scary DIY AR15. Let’s recap, shall we?

  1. To date, it has cost as much money as a decent budget AR. Maybe a little more if you count shipping.
  2. After weeks of on-off fiddling, I’m getting close to seeing if it’ll work.
  3. It might end up starting as an 80% lower to 80% of it chucked in the bin.


(Not pictured: a boring, stock AR15 upper and the standard M16A2-style stock. I loathe collapsible stocks; I’m not getting in and out of a friggin LAV, I don’t need compactness.)

I have been carefully Dremeling the trigger well for literal hours after roughly milling it out with a drill press. Still can’t get the trigger quite seated correctly. Also, once it is, I have NO IDEA if it’ll work. (Same goes for the hammer assembly.)

Also, for reasons I do not understand, the bolt hold-open and buffer tube retaining pin don’t quite fit. Without a really nice machine shop I’m not sure how I’m going resolve this. The geometry and form are something that you just … you can’t just lark down to Home Depot and pick up the precise set of tools needed to resolve this.

Lastly, the takedown pins have somewhat wonky fit; I’m almost 100% sure it is functional and safe, but not pleasant to use, at least until I figure it out.



I understand the concern about 80% lowers. I really do. That said, when it comes to serious fears about these things: You are wrong.

No one intending to commit mass murder is first going to spend 3 hours carefully Dremeling so maybe, after 5 or 6 more hours of careful complex work, they might have a functional AR15. 80% lowers are not a giant, looming vector to the gun violence problem. No one will go through this when the firearm version of rubber-hose cryptanalysis – straw purchases or plain ol’ theft – is just simpler, cheaper, and easier.

“If we have a proper assault rifle ban in place, criminals will resort to using these to commit crimes.” Well, OK, I get it, but as I have endeavored to show with actual examples, these things are not a quick 1-hour jam-up. Yes, a criminal with enough money to eg have someone do a straw purchase and a nice machine shop and lots of spare time can have an “off the books” gun. You got me.

“Other people are better at doing machine tool work than you”. Yeah, um, ok you’re not wrong, but is there an actual correlation between mass shooters or bank robbers and people with machinist certifications?

At some point, this goes from “caution” to necessitating the rise of The Union Of Evil Machinists, a dastardly group of law-breaking machine-tool makers, dedicated to milling out trigger wells of 80% lowers, so armies of criminals can go forth and crime.