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.

TO BE EXTREMELY FUCKING CLEAR

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.

ATTEMPT NUMBER ONE

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.

ATTEMPT NUMBER TWO

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.

ATTEMPT NUMBER THREE

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.

Addendum:

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.

Or:

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.

Here it is. AN ACTUAL GHOST GUN:

(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.

 

 

It is fair to say I was wrong about The Witcher

OK. It is fair to say I was wrong about The Witcher.

I get that Hellscape Bird Site is not the real world nor even an accurate measure of it, but hoo boy, does Hellscape Bird Site love it. I mean,

if you need a specific example, or just

https://twitter.com/search?q=The%20Witcher&src=typed_query

if you’d like to see a lot of love.

And hell, even me. “This show is dumb and bad”, he says, watching every episode.