brhfl.com

Be gone, 2018

I don’t really consume a lot of current media1, and have accordingly joked that if I made a best-media-I-consumed-in-2018 list, it would just be re-reading Sailor Moon and a bunch of video games from the early 2000s. But, digging a bit deeper, 2018 was one of the rare years that I did consume slightly more current cultural artifacts. So, why the fuck not: let’s list off the best of the best that 2018 had to offer me.

I’m not going into movies, because I watched very few 2018 movies (and in general, I am disappointed by movies). I would have included Mary and the Witch’s Flower, but that was 2017 somehow. Holy heck, this year was a horrifying blur. I did just see The Favourite, which I thought was very good, but it just seems a bit… inappropriate to make any sort of judgment call when I’ve focused so little of my time on film. Also, graphic novels/manga aside, I definitely did not read any 2018 books in 2018, so… there’s that. Okay!

Music

Sophie, Oil of Every Pearl’s Un-Insides
Sophie is bonkers. This album is bonkers. It’s glossy pop smashed up against glitchy aural destruction. It invites you to get comfortable and then betrays that invitation. “It’s Okay to Cry” was the tender lead-off single, followed by the harsh, unforgiving tracks “Ponyboy” and “Faceshopping”. If one was lulled in by “It’s Okay to Cry”, and not terrified soon after, said human has gone on quite a journey by the time they hit “Whole New World/Pretend World”, the perfect noisy culmination to this inexplicably cohesive album. Sophie has an enjoyable disjointed website.
Janelle Monáe, Dirty Computer
Holy hell, this album is everything. This honestly was what made me realize that good things did in fact happen in 2018, and that I did in fact consume said things. “Pynk” was the third single, but I feel like the video for that track really shot the whole thing up. It was very… pudendal, and this led to a bunch of TERFy types to latch on to it… Which led Monáe to clarify that her whole jam was for all women, trans women included. Which… yes, thank you. “Django Jane” is truly the power track from this album though. Here’s Monáe’s website.
Ariana Grande, “thank u, next”
Okay, so the video has like a very squicky if not totally transphobic moment that’s hard for me to ignore. And I don’t think Ari has commented on it, which is disappointing. But otherwise, the video was this perfect nostalgic trip, and the song itself… Just this semi-petty ultra-feminine power-bop. I don’t know, I feast upon pop music often enough, but this shit hit me pretty hard. And like… basically everyone in the world latched on to it as well. Despite my reservations, if you somehow haven’t seen it, watch the video here.

I’m sure I listened to plenty of other 2018 releases that were good, but I can’t think of anything else that really hit me super hard? War on Women released Capture the Flag, and it’s’ fucking great and I will always support them, but I’m still so inclined to listen to their self-titled LP. I was going to say the same about Kaitlyn Aurelia Smith’s The Kid (vs. Ears), but that was 2017. This damn year, I’m telling you…

Video Games

Minit
Didn’t even realize this was one to come out this last year. The basic premise is that you have to travel through this Zelda-esque world one minute at a time. Acquired items stick with you, and more and more spawn points open up as you advance, but you will always die and respawn after one minute of play. It seems very gimmicky, and it kind of is – while the story does incorporate the cursed sword that keeps on killin’ you, it feels somewhat like a tacked-on explanation. That didn’t really bother me at all, however. The limitation was fun rather than tedious, and the overall storyline was enjoyable. I may play through it again at some point, as I think I finished it while missing quite a few little side stories. Charming little game. Here’s a website for that one.
Dead Cells
Also a bit surprised this came out in 2018, though I guess I don’t really follow video game news closely enough to have a good idea of when anything is/was released. I believe I bought my Switch in July of 2018, and while I’d been planning to for a while, Dead Cells was an oddly strong deciding factor. I love roguelikes, and while I would say it’s a bit of a stretch to classify Dead Cells as such, it has a lot of the elements (permadeath, somewhat procedurally-generated levels, ‘inheriting’ from previous deaths) that make the genre a staple of mine. Gameplay itself is smooth, difficult but generally manageable, and full of entertaining writing. I’ve been caught up in some other games and haven’t jumped into Dead Cells in a while, so I’m sure I’ll be awful when I give it another go, but I look forward to continuously returning to this game when I’m not tangled up in something narrative-heavy. Give it a look-see.
Celeste
I’m still not quite through this one, so I don’t know… Perhaps it will ultimately disappoint me2, but the first six chapters have been a ton of fun. It’s that sort of… perfectly-executed platforming that one needs to pull off a speedrun of a normal platformer, say. Which, as a game requirement, could be incredibly frustrating. Celeste mitigates this through (as far as deaths/respawns are concerned) extremely short levels. A chapter is essentially made up of a ton of these tiny levels, so dying (repeatedly… like, I think I died over 500 times in chapters three and four each) doesn’t set back your progress much. Which, to me at least, makes it a pleasant challenge instead of utter frustration. I absolutely love the music in this game as well. Check it out here, or try the original Pico-8 game.
Wandersong
This game is very, very sweet. You’re just this irritating little bard going around trying to solve a bunch of problems by singin’ them out when everyone around you is saying you should get violent instead. It’s a very musical game, and has some rhythm components, but they don’t really matter? They’re very simple and you can just screw them up until you don’t, which is great, because I am horrible at rhythm games. There’s some janky collision detection in the game, it has some mildly frustrating moments, but the point of it is really the narrative. It’s a lovely story, the art is great, and the music really brings the whole thing home. I enjoyed this far more than I anticipated. Cute little website here.

I didn’t include any rerelease type things in this list. I just finished Night in the Woods, which came out on Switch this year, and it kind of wrecked me… but it doesn’t count. Likewise, the Switch got a not-really-updated release of Katamari Damacy this year, which… is a conceptually great game, executed by a UX sadist. Also doesn’t count, though.

Graphic Novels

Naoko Takeuchi, Sailor Moon Eternal Edition
Just get this out of the way real quick. Shouldn’t count, as it’s a rerelease, but it’s worth pointing out how absolutely perfect these issues are. New translations are great, the larger format is great, just… beautiful. Check ‘em out here.
Rosemary Valero-O’Connell, What is Left
Reading this for the first time left me with a lot of questions. Reading this for the fifth time left me with a lot of questions. Reading this for the twentieth time left me with a lot of questions. It’s about a future (I suppose) where energy is harvested via memories. It’s freaky, it’s thought-provoking, and it’s quite lovely to look at. See some previews here.
Joe Sparrow, Homunculus
Like What is Left above, this was released by Shortbox, which has released a bunch of other stuff that I love. Homunculus is just this tender story about artificial intelligence, friendship, and waiting. I can’t say much else for fear of spoiling, but it’s… very touching. The visuals are wonderful (and occasionally wobbly) as well. Here it is on Shortbox.
Sarah Mirk, Eva Cabrera, Claudia Aguirre, Open Earth
A very lightweight exploration of polyamory in space. A bit erotic (NSFW, I guess it’s worth mentioning), but largely just a tale about a bunch of people working through what relationships mean to them in a post-Earth reality. It’s not super spacey, the sci-fi setting exists more for the sake of establishing a bit of isolation, and a reboot on the rules for relationships. Give it a look here.

I don’t think I actually read any manga that started in 2018 (and I know that Sailor Moon’s rerelease is a cheat), but I did spend a lot of time with two series that are still going as of 2018 – Delicious in Dungeon and Land of the Lustrous. Love them both, but if I had to suggest one, I’d highly recommend checking out Delicious in Dungeon, it’s such a wonderfully quirky premise.

2018 was… awful, and I can’t really imagine 2019 will be much better. But, hey, some really good stuff came out apparently, and sometimes that’s what we need to grasp on to. Don’t know if it’s escapism, inspiration, or just appreciating that others can find the energy to bring positive light into a dark world… but there’s no shame in finding little pockets of joy during hard times. And these were some of my favorite pockets in 2018.


  1. Certainly not an attempt at being one of the cool kids, I’m just… very behind on things. Always. ↩︎
  2. I’m approaching the bitter end of the game, and I’ve gotten to some screens where I don’t really feel satisfied after I beat them, just frustrated. Which is kind of what I was saying this game isn’t. But even at this point, it’s easy enough to set down and come back with a calmer approach after… blogging about it or whatever. ↩︎

365 Numbers

I’m not one to put stock into New Year’s resolutions, but I do occasionally have ideas for little things-to-do during a given year. One such idea for 2019 is to set my homepage such that I’ll be redirected to the Wikipedia entry for the number of the current day (out of 365, so February 14 will return the page for 45 (Number)). This is easily attained with a small bit of HTML stored locally:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Let's learn about numbers!</title>
</head>
<body>
<script type="text/javascript">
var today = new Date();
window.location.replace("https://en.wikipedia.org/wiki/" + ((Date.UTC(today.getFullYear(), today.getMonth(), today.getDate()) - Date.UTC(today.getFullYear(), 0, 0)) / 24 / 60 / 60 / 1000) + "_(number)");
</script>
</body>
</html>

(Or just use this link.)

Once you get into the hundreds, there’s less and less interesting information about a given number. In fact, bunches of numbers start to get lumped into a single article. So, we’ll see, I may abandon this by the end of the year. But I think it’ll be an interesting way to learn some weird little numerical tidbits.


Site updates, supporting open source software, &c.

Haven’t done a meta post since August, so now seems like as good of a time as any to discuss a few things going on behind the scenes at brhfl dot com. For starters, back in November, I updated my About page. It was something I forced myself to write when I launched this pink blog, and it was… pretty strained writing. I think it reads a bit more naturally and in my voice now, and also better reflects what I’m actually writing about in this space. I also published my (p)review of Americana in November, which was an important thing to write. Unfortunately, it coincided with Font Library, the host of the fonts I use here, being down. This made me realize that I rely on quite a few free and/or open source products, and that I should probably round up ways to support them all. I’ll get to that at the end of this post, it’s a thought process that started in November, though.

Some time in October, I think, Hugo stopped working for me. For whatever absurd reason, the Hugo team has abandoned traditional package managers for Snapcraft. Snapcraft forces updates. I haven’t figured out exactly what is broken yet, but version 0.47.1 is the last version working for me. I have other projects I was hoping to get out this year built on Hugo, but I can’t safely do that until I solve this problem. This has no outside effect (I have safely tucked away a binary of 0.47.1), but it is extremely frustrating. I imagine the next meta post will be figuring out the fix.

I have moved brhfl dot com’s email provider from Google to ProtonMail. If you wish to send comments via the comment links, they’ll go to an encrypted Proton box now. It’s a more secure and private system, and moving this (as well as my personal address) also moves me one step further from Google in general.

During the 2nd iteration of my blog (the white blog, now at archive.brhfl.com), I created a matching Tumblr which just showcased some of the photography from my Flickr. I haven’t done anything with it in years anyway, and given Tumblr’s recent and frightening decision to ban porn, I am planning to delete it. I’m currently questioning whether there’s any value in archiving it; I suspect not.

I think that’s about it as far as recent/upcoming changes, so back to a handful of projects that keep the pink gears turning over here…


"I don't know what to say" (external)

I’m behind on posting about this, but given my potential audience, I wouldn’t be doing so as a warning anyway but rather a curiosity. A couple of weeks ago, malicious code was discovered in an npm package called flatmap-stream placed as a dependency inside event-stream. Publish rights to event-stream were apparently handed off to the bad actor, a user with no history whatsoever, because according to the original author:

he emailed me and said he wanted to maintain the module, so I gave it to him. I don’t get any thing from maintaining this module, and I don’t even use it anymore, and havn’t for years.

The attack was quite targeted – a payload was encrypted using the description of another package, the code would only be executed if this package was present. It appears that the end goal was getting bitcoin wallet access, as this targeted package was directly related to the Copay wallet. I don’t have much experience with npm, but I’ve gathered that its approach to dependencies is decentralized ownership/maintenance with centralized package lists/names/etc. It also seemingly pushes minor updates (as declared by the author) automatically, but not major ones. The vector of attack here was quite fascinating then: find a package that doesn’t appear to have been maintained for a while and that is often used alongside a well-maintained package that you want to infiltrate; ask to maintain the first package; push malicious code as a minor update and remove it immediately in a major update; sit back as it makes its way through projects everywhere.

Title link goes to the event-stream issue thread, which is well worth reading for information on the discovery, the forensics process, and a bit of back-and-forth about maintainer responsibility in the open source world. Additionally, in a gist, the original author responded to these issues of responsibility. Finally, if you don’t want to piece it together via the thread, Zach Schneider has an excellent explanation of the attack.


Portal, Commodore 64 style

I’ve been thinking a lot about empathy and emotion in video games lately, and this has really given me the itch to play through Portal again. This weekend, I did just that… sort of. Jamie Fuller1 has released a 2D adaptation of the classic for the Commodore 64 (C64), and it is pure joy. It’s quick – 20 levels with brief introductions from GLaDOS, completable in around a half hour. The C64 had a two-button mouse peripheral (the 13512) but it was uncommon enough that even graphical environments like GEOS supported moving the cursor around with a joystick. Very few games had compatibility with the mouse, and here we are in 2018 adding one more – using WAD to move and the mouse to aim/fire is a perfect translation of Portal’s modern PC controls. If you’re not playing on a real C64 with a real 1351, VICE emulates the mouse, and it works great on archive.org’s browser-based implementation as well.

If there’s one thing that I think really makes it lack the feel of Portal, it’s the absence of physics-based puzzles. Portal, of course, had some straight-forward shoot-here-to-end-up-there style puzzles, some straight-forward avoid-the-Sentry-Turret puzzles, and some straight-forward place-the-Weighted-Storage-Cube-on-the-switch puzzles, but a major aspect of the game was figuring out the physics. You had to have a pretty good grasp on how fast and how far you’d be launched if you placed your portal here instead of there. This is, of course, an unreasonable ask for a C64, but it does dramatically change the feeling of the game.

Regardless, Fuller’s adaptation is a wonderful success. I imagine it’d be fun to play through even without knowing the source material, but as an homage it’s blissful. From GLaDOS’s snark to an ending that I won’t spoil, this tribute was made by and for lovers of Portal. Well worth the quick play, especially given how smoothly it runs in a browser without the need to install your own emulator.


  1. Along with Del Seymour (graphics) and Roy Widding (music). ↩︎
  2. One might look at the 1351 and think, oh, the Amiga mouse… but of course nothing is ever simple in retrocomputing. The C64 (and C128) had no dedicated provisions for an analog input device, so the 1351 (as well as paddle controllers and the KoalaPad) used the SID audio chip’s ADC. This is a fundamentally different approach than the Amiga’s. Commodore also released another lookalike, the 1350, which was not an analog device, and instead simply sent joystick signals. ↩︎