143 karma · joined March 20, 2010
So filenames can contain valid commands delimited with semi-colons that, if not quoted properly, can be unexpectedly run alongside your intended pipeline (say if you're doing the usual and unsafe "for csv in *.csv; do cat $csv; done").
I wish I could've laid my hands on the excellent HN thread from some years back that opened my eyes to this vector, but I'm hopeful someone else will mention it so I can add it to my bash notes file. :P
It is not a matter of taste and it is not a matter of metric versus imperial screwdrivers. Someone will copy this code and it will end up being an attack vector where it will have consequences.
I imagine you're rolling your eyes and have flipped the bozo bit but please bear with me.
Think of the teachable moment this presents! The author of the original piece goes back and annotates their original answer along the lines of, "you might solve it this way but there are some gotchas with it - let me show you what could go wrong."
As an industry we absolutely need to circle back with improvements so that those who come after us can build on a more solid foundation.
I do wonder if 3D Monster Maze truly qualifies as "the world's first ever 3D game on a home computer" given that the lead programmer didn't own one of the machines until April of '81 and that the commercial release occurred the following year (at least according to the article on Wikipedia - the sidebar says published 1981 so it's contradictory).
The birthday anecdote seems plausible but if Wizardry was in development for more than six months then it predates 3D Monster Maze.
I had a real uncanny valley moment listening to the clip because I recognized most of the explosion/gunfire samples.
She mentioned a couple of times that she went into the tangle because she wanted to, that she hadn't had to "bail a loom out of a major temper tantrum" in a while.
To be sure, recovering the 1 1/2 yard Shetland warp and other materials would in no way compensate 10 hours of labor - but that presumes there's nothing to learn from the process.
I want to say something surly about how accountants have driven software development to losing its soul in pursuit of dollars but ... that's not going to end constructively. =D So instead I'll just say I really admire the attitude of, "I can fix that. It will take more time than it's worth but screw the economics of it all, I'm going to do it anyway. Fsck you, entropy."
I was able to get my heat-exchanger covered but not the labor because, oddly enough, their labor cost for me suddenly increased by the amount Goodman specified as usual and customary and that's saying nothing about scheduling fees and truck-roll fees (and convenience fees for paying with a card, and a "collection" fee while I argued with them about all the insane fees).
His heat-exchanger (also a Goodman) wasn't covered and he ended up just straight up eating a 3.5k repair bill.
He and I both submitted paperwork to the state attorney general's office but the company "changed management" to the dude's wife and that restructuring meant we were SOL.
I use the heck out of SSE to add update notifications to various of my apps because it's just so easy to do. Have it glued to a Redis stream (or pubsub channel) with https://github.com/bonkabonka/sseredis (though that shim looks like it needs a bit of love and a better README.)
Oh and nearly all of the austerity measures put in place back in 2008 are still in effect despite them being "temporary" (caps of 1% on annual cost-of-living increases, no more than a single merit raise per department per college per year, no new positions created without highest-level approval, etc).
Has someone spun up fuckedcollege.com yet?
I also discovered that the 2.5" drives I bought to use with mine (Seagate ST3000LM024) are DM-SMR and thus fall out of even mirrored arrays within 24 hours of booting. :(
Also because low RAM and MIPS, running Go-based software like Minio or Restic seems unlikely (or at least unstable).
One of these days someone will do a proper homebrew NAS board. Surely.
For all my disappointment, it has served as a useful lesson on early-adoption and expectation management. =) So I'm not regretful, just cautious.
MediaTek MIPS CPU and only 512mb RAM though. The community is kinda moribund and the installation instructions don't match the firmware I got on the device. I've made a couple of halfhearted attempts to update to later versions but haven't had any success so far.