April 16, 2019
Hello! For no reason, here's some things I've been up to, presented as a numbered list:
- Donor thanks
First off, many thanks to NJ for their generous donation! Not the state of New Jersey, a person with the initials NJ. I'm using their initials so they know I'm thanking them without compromising their anonymity. If New Jersey wants to give me some money too, though, I wouldn't turn it down.
- Baba is good
I had a fantastic run with the game Baba Is You, a sokobon-style tile-based puzzle where you can change the rules by pushing blocks of text around. I've played for about 40 hours, and I think it's the best puzzle game I've ever played. It's easier to learn by doing than it would be for me to explain it, so I recommend checking out the free jam version and see if you like it. It serves as a good demo for the final game. If you get to the end and feel like you want more, I couldn't recommend the game strongly enough.
- Too much of a good thing
However, I felt like I needed to take a break because I played so much in such a short amount of time that it brought back an unpleasant type of dream I've experienced through most of my life, as I described on cybre space:
I took a break from Baba for a few days because I started having dreams that were just nonsensical puzzles that my brain got stuck in an endless loop trying to solve. It's not the game's fault, I just played too much in a short period of time. Will get back to it soon, but I hope I didn't lose all of my puzzle solving ability.
I've had these endless loop dreams since I was a kid. They're unpleasant and always leave me feeling unrested. This is the first time in awhile though.
The earliest one I remember is from when I was a tween, the dream was about two wizards in opposing towers having a wizard's duel. They would throw fireballs at each other but their towers were far enough apart that they could always take cover behind a parapet and be unscathed. This back-and-forth went on for hours.
When I woke up, I felt not only like I didn't get any sleep, but I also felt physically ill. I didn't know the term "ad nauseam" then, but when I encountered it, it immediately made sense.
- Hacking1: Mr. Teal 2.0
I've been hard at work on the next Mr. Teal release, and I think the 2.0 release should be coming before the end of the month. I've been thinking about the features I want for the eventual 3.0 release for awhile now, and the 2.0 release will be a big stepping stone on that path. Not going to speculate about a timeline for the 3.0 release, since I don't even know if I'll be able to pull it off with my programming ability, but I'm hopeful.
- Hacking2: QB64 1.3
The new version of QB64 was released a few days ago! It seems like a good release. Being able to press ctrl-shift-G to jump directly to a line with a compiler error is a small but welcome new feature. None of the other features are that relevant to my use, but I'm grateful for the people working on it and I'm glad it's continuing to be supported. It now has a function in Windows that supports out of the box dragging and dropping files onto the program window, so I may add a feature to Mr. Teal that lets you import a folder that way similar to how you can drag a folder onto the icon. It's not a high priority feature though.
I made my first ever useful contribution on Github, a minor fix regarding the in-program documentation. I know the whole point of open source software and Github is that I should have been able to just make the fix myself, upload it as a suggested program revision, and then the developers would have just had to approve the upload instead of having to do it themselves, but I'm a tiny nervous sparrow and didn't want to accidentally do something wrong.
- Hacking3: The Hacker And The Ants
I reread The Hacker And The Ants by Rudy Rucker, which along with the Sega Genesis version of Shadowrun was my first introduction to "Cyberpunk" as a concept. It's a very good book, and it helped spur my early interest in programming - it's extremely well-written, and presents programming concepts in a way that makes them seem exciting, and really captures the magic of getting a program to work like nothing else I've ever read. It's realistic - Dr. Rucker is the author of The Transreal Manifesto (PDF link) and is a proponent of sci-fi authors using their lived experiences as a foundation for their writing, and mixing fantastical elements into autobiography. As such, it's not as stylish as most of the early cyberpunk, like Neuromancer (another book I like but didn't experience until much later) but it's extremely accessible and has a high degree of verisimilitude.
Unfortunately, transreal writing had an unfortunate side-effect with this book: since the main character is partly autobiographical, and written from a male perspective in the largely male-dominated world of professional programming, the book is peppered with casual misogyny. The "2.0" release of the book in 2003 dials back a lot of the sexism, which is commendable - many authors are too precious to go back and cut the toxic bullshit out of their older work - but some parts of it still leave a bad taste in my mouth. It's written in the first person, and all the female characters are clearly just window dressing for the protagonist and don't have any agency of their own. None of them affect the plot in a serious way. Female hackers are presented alongside male ones without comment, as if they just belong there, which is good, but I wish some of the women were more important to the story. That said, if you can get past this aspect and are interested in programming at all, it's a great, easy little read.
- Hacking4: Side-note: on "hacking"
The Hacker And The Ants uses the word "hacking" as a synonym for programming, which I appreciate. The protagonist mentions that the word had taken on nefarious connotations, but was always just used by programmers to refer to programming. I think this is pretty accurate for the time frame it was published, 1994. The word has had a lot of ups and downs since then, and it's mostly come back around as a positive term, as more people realize the image of the nefarious black-clad hacker breaking into your computer and pwning all of your files is largely based on bullshit. I think the word nowadays is used to refer to tech-conscious people who focus on security, and isn't inherently programming-related.
I like it as a term for coding though, because that's what it feels like: looking at code, hacking out pieces, dropping them in somewhere else, cutting through a nest of spaghetti code with a big cleaver to get to whatever's causing your issue. Programming isn't what it used to be. The modern tech boom has turned programming into kind of a rock star job. A common image is the tech bro making high six figures working for giant corporations to make software that hurts us. I'm very glad for the burgeoning community of everyday open source programmers working together to make cool things, which is one of the things I've seen a lot of since I joined Mastodon. There's still a lot of toxicity in that community and a lot of shitty ideas tied up with it, but hacking on a small scale has become more accessible to a lot of people, and positive communities are forming around it. It makes me wish it was something I had more aptitude for, so I could make positive contributions to something, but I'm happy watching from the sidelines and hacking away at my own small projects.
I use BASIC to make software for Windows, which is something that automatically disqualifies me from any serious hacking communities, and I wish there wasn't so much elitism out of that community. I wish there was more support for anyone interested in programming, regardless of their chosen language and operating system, but on some level I understand. Windows is an OS with a lot of problems, but it's what I grew up with. I never had any formal experience with any of the alternatives. I've managed to teach myself some of the core concepts by messing around with Cygwin, but ultimately UNIX-based systems are a totally different paradigm that I'm totally lost in. That's why there's no Linux port of Mr. Teal - it relies heavily on Windows/DOS/Powershell commands for manipulating files, and I would have to have a much better understanding of their Linux equivalents for the program to have any use at all. It's something that I'd like to learn someday, but between working full-time in an unrelated field and wanting to work on my own projects, it's not something I've had time for. It's inevitable, though: I've already back-graded to Windows 7 after some fucking awful experiences with Windows 10, and support for 7 isn't much longer for this world. I can keep using 7 for awhile after it's no longer supported, but eventually I'm going to have to move on, and after 10 I don't see Windows on a trajectory towards improvement. I might be forced to learn Linux.
Which I want to do, it's just a little overwhelming. There are so many different versions of Linux that all handle things their own slightly idiosyncratic way. Asking what the best version to learn is will get you a thousand different answers on any given day, and to an outsider, they all sound plausible. Hardware support is on another level from where it was the last time I decided to seriously give Linux a shot, in the mid-2000s, but it's still not painless. More hardware than ever will just work, but the ones that don't just work are still going to involve heavy research and troubleshooting to get to work correctly. It's frustrating how much mental energy I'm expected to spend just getting basic functionality that I'm used to having in Windows, and anyone who complains is largely treated with scorn and mockery. The whole "git gud" mentality that lingers in pretty much any heavily male-dominated hobby is super discouraging to anyone who wants to learn anything.
That said though, there are a lot of good people out there who are very helpful, and the community is becoming more tolerant all the time (Linus himself apologizing for some of his shitty behavior and stepping aside from the project is a good bellwether of where attitudes are heading) and I look forward to the day that more people of all types from all backgrounds can proudly call themselves hackers.
- I Am The Greatest Player.
I didn't write about this at the time, but I've finally done something I've been wanting to do a long time: I finished The Guardian Legend! It's a game from the Nintendo Entertainment System released in 1988 that I had and played as a kid, and even though it captured my imagination, it was too difficult for me to finish at the time. Since going back, I've gained a new appreciation for the game design, and I think it's my favorite NES game. I highly recommend anyone into vertical shooters and Zelda-style adventure games to check out a ROM.
- False Mario memories
I finished Super Mario Brothers 3, my other favorite NES game, for the first time in awhile. In doing so, I learned that a "fact" that I thought I knew about the game since I first finished it 25ish years ago turns out not to be true: In Bowser's castle, there are two different paths that lead to two slightly different versions of the Bowser fight:
I was convinced for my entire life that one of the versions of the Bowser fight is fake, a trap in which the fight is impossible to win. I didn't remember the particulars, but I thought it was the version on the right, without the visible gap at the bottom of the pit. I thought that either the bricks were unbreakable, or making Bowser break the bricks reveals that the bottom of the screen isn't actually a pit. I thought that the only way to get out was to let Bowser kill you, and start the level over, but taking the other path. It was so ingrained in my memory that I take the middle path instead of the top path that I never actually tested this. It turns out this is totally made up. You can finish the game via either route.
I even mention this in my 2008 Let's Play (warning: old video, bad audio) as if it's common knowledge. I have no idea where I got this. I have very vivid memories of fighting bowser and being unable to finish the game. I mean, I guess they're not THAT vivid, since I can't remember exactly how it happened. But "one of the Bowsers is fake" has been something I haven't questioned since I was a kid. The only thing I can figure is that I got some sort of rare glitch, and I thought the game was supposed to be that way, but I can't find anyone else talking about it. There are some weird ways you can glitch the stage, but the only way to make the level unwinnable is by clipping into a wall that you can't escape from and having to let time run out. It's interesting that one of the glitches prevents Bowser from shooting fire, because one of the fake facts that I remembered about the fake Bowser fight is that you know you're on the wrong path if you don't see any fireballs - not during the actual fight, but in the corridors leading up to it. It's possible this is misremebmered information from one of the maze levels in Mario 1 - one of the ways you know you're on the wrong path is if the fireballs disappear.
Anyway, if anyone has any idea why I might think this, please get in touch. I think it was just typical childhood jumbling of half-memories and rumors about video games. In the days before the internet it was very difficult to get concrete information about games, and they were bursting with mystery. It's one of the things that makes me a little sad about what games have become - practically no mystery isn't easily solvable with a simple google search. For now, I have to conclude that this mystery is just in my head, and never had anything to do with the actual game.
- A new challenge appears
Using savestates, I spent a couple hours exploring Bowser's castle, testing different weird things I might have done as a kid that might cause it to glitch out. I didn't find anything, but it did give me an idea for a pretty dumb and potentially pretty fun challenge run of the game involving the Bowser fight. I could just use a savestate at Bowser's castle, but I think I might stream another run through the game, because it's been awhile, and hey, it's Mario 3. Any excuse to play that game again is a treat.
April 10, 2019
Newest version of Mr. Teal is available on its project page. See the changelog for information about what's new.
April 4, 2019
An archive for Pictures for Sad Children has been added to the Mr. Teal project page.
March 21, 2019
Here are some of the ways poor people are being targeted and excluded from public life in the US:
- A ban on backpacks is a ban on the poor
Non-poor people don't need to carry backpacks. Their car is a giant backpack that they're never more than a few minutes from. Poor people need some way to carry around the things they need to get through the day. Here's some of the things I have in my backpack on any given day: my cell phone charger, my kindle, a book, my laptop, my laptop charger, handheld gaming devices, food, water, prescription medicine. I may have other things, some of which are very important. I don't have a car. I can't just lock these items in the trunk of my car when I need to keep them safe; I have to keep them on my person.
Policies that exclude people with backpacks from public spaces, or require them to hand over their backpack to an employee, are abusive and discriminatory against the poor. I'm not handing my backpack, with many important and expensive belongings, over to a random underpaid employee with no oversight. If my medicine goes missing, I won't be able to get more. I can't take that risk. I don't care that you have security cameras; even if the employee didn't go somewhere they knew there were no cameras, such as a restroom, to rifle through my backpack, I would still have to file a police report, wait for them to review the security camera footage, and hope that the employee still has my medicine and didn't sell it or throw it away. I have less reason to trust you (the business or organization, not the individual) than you have to trust me, because you're in a position of power over me. Security cameras don't do me any good.
- A space without restrooms, water fountains and places to sit down isn't a public space
US society is designed for people who drive cars. If you drive your car to a quote-unquote "public" area, like a park or outdoor theater, you know that, if you need to, you can get in your car and drive home anytime. If you're in your city or town, you're probably never more than a few minutes away from your home (barring traffic jams and accidents.) Society is designed to accomodate you. I have to wait on an inadequate public transportation system. Sometimes I have to wait hours for the bus to show up. My city doesn't have public restrooms or water fountains. This is a de facto ban on the poor. It prevents poor people from engaging in public life the same way people with cars can. The only public institution that provides restrooms and free water is the library, and their hours are limited, and that's ONE location in an entire city. This shouldn't be the only institution that poor people can rely on. Perversely, the most needy in society are the ones who are expected to spend additional money to have their basic needs met if they want to engage in public life.
The bus terminal in my city has restrooms, but they're locked, intended to be used only by the bus drivers. What few parks remain in my city used to have drinking fountains and public restrooms, but the fountains have been removed and the restrooms locked. The bus terminal has removed almost all of the seating, and installed metal spikes on all available surfaces to discourage sitting. Charleston, West Virginia, is trying as hard as it can to push me into the shadows, keep me from engaging in my community, prevent me from interacting with my fellow humans. My society has deemed me unworthy of public life because I have the audacity not to drive a car. My life and liberty, and the life and liberty of my comrades, is being stripped away, and we are not welcome to pursue happiness.
I know it's not just here, it's all over the US. We're being isolated and driven apart. Our communities are being destroyed. What kind of a life is this? Why are we doing this to ourselves? Everyone is so lonely and tired. Can't we come together, friends?
March 20, 2019
A .rar file can only be opened by winrar. A .7z file can only be opened by 7-zip. But anything can open a .zip file. It's been around long enough that it's a universal extension, and everything can handle it.
If you need to compress data, unless you're working with several gigabytes where better compression methods have a noticeable impact on file size, don't complicate things. Just zip it. It's good enough.
UPDATE Mar 21 2019:
Per the article posted at The Internet Archive blog, ZIP is Broken, Except it’s Not, Except it Is, I feel compelled to offer the following disclaimer: the zip format may not be the best choice if you need to compress more than a couple gigabytes of data. Read the article for more information.
More from 2019