Very interesting read and a neat product from a technical perspective. I'd like to know the specifics of the data structure used to compress and index the text.
MAME is a really impressive piece of software. It emulates tens of thousands of machines and goes into painstaking detail to get things right.
One of the coolest aspects of their codebase is the ASCII-art diagrams of arcade circuit boards[1], dip switches, and memory maps. These are used to help document each machine driver.
I think electrical/phone sockets were placed at that level because many telephones were designed to hang on the wall (docking onto and covering up the faceplate) for easy access. My childhood home had one that we used this way before we got a landline.
Do you have any links to these discussion posts? This sounds very interesting, and I'm intrigued to learn more about the hardware explanation for this phenomenon.
Neat tool, I could see this being handy for debugging TUI tools.
I noticed that it works with _escaped_ ESC characters ("\x1b", "\u001b", "\033") but it didn't recognize raw ESC characters that I had in my clipboard. It might be useful to support those (maybe highlight them similarly to how VS Code highlights whitespace characters). The characters show up as numbered unicode error glyphs (I'm on Firefox, if that helps)
This was the neovim plugin that really caused me to stick with it. I've been using this plugin for over a year, after the (short) initial period of frustration with the delays I was able to start really flying with vim motions. Now I can't imagine going back to a regular text editor.
I ordered one of these posters a few years ago as a gift for my mom, who is a scientist. Large posters with lots of information to get lost in are always fun. This one does not disappoint!
paint.net is one of the only pieces of software that I miss from Windows. After having started with Tux Paint, I found paint.net extremely intuitive and easy to use (very nice for making goofy memes in middle/high school, and quick/easy drawings). I think that even after not having used it for years I am still more productive in it than I am in, say, Photoshop or GIMP.
Have been renting in Boston for two years because I go to school here, I'm renting again next year. It's not uncommon in my zip code for rents to be raised $150-200/bedroom/month every year. The green line is 300ft from my house, yet when I worked downtown, the journey (~3 mi) routinely took 40 minutes or more. The neighborhood I live in has only one store, a Stop and Shop, and it's incredibly expensive, compared to stores in adjacent neighborhoods. Everything just seems overwhelmingly pricey here, and for little actual value.
Not really. The very first computer I used growing up (~2005 dell inspiron) had one but I could barely use a keyboard at that point. Haven't had access to one since. Do you use one? If so, do you think getting a standalone keyboard with a trackpoint is worth it for someone in my situation?
I could actually see myself using this, if it is reasonably precise. A lot of the software that I use is GUI-only, and I really don't like taking my hands off of the keyboard to reach my mouse.
PatorJK's Text to Ascii Art Generator[1] is still in my opinion the easiest to use tool to preview Figlet-style fonts/text and has almost every font under the sun. Still seems very popular and is among the top search results.
Adam Ragusea is one of my favorite YouTubers. Viewers seem to have strong feelings about specific details and choices he makes in his videos/recipes, but in my experience, his content has been invaluable for developing a good cooking intuition.
Used to be pretty deep into the TI calculator hacking scene, I know that there were definitely programs/firmware images out there that allowed you to fake clearing the calculator's RAM and archive, as ridiculous as it sounds. But in my high school by the point teachers were manually clearing calculators most students were resorting to cheating other ways rather than advancing the graphing calc cheating arms race.
Admittedly, C89 has very little utility, especially among people my age. For example, my university progresses from Racket to Java to C++, and has a systems course that partially teaches C11. Although good for teaching, I don't think those languages artificially constrained me in the ways that C89 does. I felt that my programming skills improved the most when I forced myself to work in such an under-powered language.
I also like the idea of being able to run my code anywhere, kind of like Doom.
Not really, my implementation isn't smart enough to guide compilers to the right solution. Trivial instructions, like xor, are of course recognized, but for example the 32x32 mul implementation isn't. Maybe compilers will be smart enough one day...
This is an excellent idea. One limitation of a testing library of mine, `mptest`, is its inability to sandbox tests. I may take this idea and develop a more robust (and potentially parallel) testing framework around it.
It's more of a fun exercise, I guess. But I do have experience with at least one compiler that doesn't support C99: Zilog's ez80 C compiler. Back in the day I used to program my TI-84+ CE for fun[0], and the only C solution was a pretty bespoke C89-only compiler[1] distributed with a community toolchain[2], which has since switched to clang. It's somewhat irrational, but in the back of my mind it bugs me if the software I write can't run on platforms like that.
Definitely. My motivation for writing this was to have a simple CPU for a virtual game console-like project. I decided to release it on its own, though.
This was my one of my main justifications for making this design choice, in addition to the (in my opinion) overwhelming amount of break statements that would result from using switches. But more importantly, many of the "if" statements have non-constant or more complex expressions in them that aren't supported in switch statements in ANSI C.