site mascot

matt's web log black flag emoji

About Projects Contact
Chat room Discord server (external link)
Masto Mastodon (external link)
feed Atom feed (external link)

Index: 2019 2018

Response to koopiq

June 15, 2019

koopiq wrote:

Hello I'm testing your captcha, don't mind me
Test successful. Thanks for your interest.

The web is a black hole

May 2, 2019

I recently rescued a 10-year-old video from the memory hole: it's a supplemental video for the show Mythbusters in which one of the hosts, Jamie, talks about what's in the toolboxes he uses in his production studio, M5 Industries. The video was originally only posted on, and unlike the M5 tour videos from a year earlier, no one had mirrored it on youtube or anywhere else. I thought it was gone for good. I managed to find it via the Wayback Machine. I had the URLs for the video pages thanks to some old forum threads. However, the wayback machine, as useful as it is, isn't the best way to find old media files. Archived pages full of unstyled text and broken images is the expectation. I decided to give it a shot anyway. After poking around, I found a version of the site that exposed the URL of the media files in a plainly-readable format. The videos themselves weren't archived, but luckily, they were still sitting around unused on the CDN that uses. I was able to grab the highest-quality versions of the 5 Mp4 files it was split into and join them together into the version that I uploaded to youtube. I'm glad that the video gets to live on in a form other than my memory and a bunch of dead links scattered across old forums. However, the difficulty I had finding the file demonstrates just how much of a black hole the modern web is for anyone interested in preserving its history. Even the oldest archived version of the site from 2008 does not have anything resembling a video URL when you look at the source, just an unparsable mess of javascript and SWF embed variables: Unparsable javascript code Maybe the wizards working on youtube-dl could figure out how to get a video out of this garbage, but not me. And of course, nobody should be expected to put in the work to figure out the internal workings of a terrible dead website for such a niche thing that so few people are going to care about. The only way I was able to save it is that I got lucky and found a version of the site from 2014 that, for whatever reason, is built so that the URL of the video file is visible in the source code, and miraculously those files still exist. Of course, this was the web in the late 2000s, and it's gotten much worse since then. Websites are increasingly built in a way that they're not even documents that can be displayed by a browser, they're virtual machines that display text and images in a completely proprietary format that won't display at all without javascript, which makes it impossible for the wayback machine's bots to automatically archive. Take, for example, any recent snapshot of It's nothing. It's a white screen. It's not a website, it's a javascript program you have to run on your computer that simulates the experience of looking at a website. And this is how the vast majority of the modern web is built now. The upshot is that we have to be proactive. We can't rely on the wayback machine to keep the web's history around like we used to. I'm not saying we need to slavishly devote our lives to manually backing up everything on the internet, but if you see something you think might be important later, and stands a chance of going away, it might be a good idea to save it. Use, which is sometimes able to convert a javablob into a document. Learn about and promote HTML-only versions of websites, if available. Take screenshots. Save videos with youtube-dl. Mirror the media files on Don't let corporations control our history.

What's been up? April 2019 edition

April 16, 2019

Hello! For no reason, here's some things I've been up to, presented as a numbered list:

  1. Donor thanks
  2. 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.
  3. Baba is good
  4. 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.
  5. Too much of a good thing
  6. 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.
  7. Hacking1: Mr. Teal 2.0
  8. 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.
  9. Hacking2: QB64 1.3
  10. 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.
  11. Hacking3: The Hacker And The Ants
  12. 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.
  13. Hacking4: Side-note: on "hacking"
  14. 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.
  15. I Am The Greatest Player.
  16. 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. Final score screen. 'You Are The Greatest Player'
  17. False Mario memories
  18. 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: two different Bowser fights 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.
  19. A new challenge appears
  20. 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.

Mr. Teal 1.9.3 released

April 10, 2019

Newest version of Mr. Teal is available on its project page. See the changelog for information about what's new.

Mr. Teal: new comic archive

April 4, 2019

An archive for Pictures for Sad Children has been added to the Mr. Teal project page.

The war on the poor

March 21, 2019

Here are some of the ways poor people are being targeted and excluded from public life in the US:

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.

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?

More from 2019

It Copied Right 2019 | Privacy Policy