Seriously twitter is one of few things I hate with a passion. Everything about it stinks. I don't even use twitter but I randomly get rate limited: "you can't see this content because your rate is too high" - first time I click on twitter link in two weeks.
It's just mind boggling how it became so big while being so absurdly terrible.
This happens every time for me and a bunch of others have reported it. I think it's meant to be a dark pattern to get you to use the app. To get around it you have to reload the page from the browser reload button.
If you don’t like to read long-form content on Twitter, use Threader. (Disclaimer: I built it). It turns Twitter threads into a single page article.
> https://threader.app/thread/1126996260026605568
It's more like code than state, isn't it? The thing that changed is the implementation of a circuit for computing the result of some calculation, i.e. a function.
We don't generally count hardware as state because we expect it to be a reliable abstraction, but this same attitude applies to other things we do too: note that any program you've ever compiled can also count the compiler itself as state; this is the whole foundation for trusting-trust attacks!
I usually say “check environment”, which is usually the reason — cron jobs run in non-interactive mode, new version of system library, wrong PATH variable, new math co-processor and so on.
I often enjoy foone’s discoveries, and this was a particularly interesting one.
I just wish it wasn’t all on Twitter.
Why not put the text, plus pictures and whatever else (links?), into a blog posting, or just some HTML page with basic formatting? And then link to it with just the first Twitter post. Provide an RSS feed if you feel extra charitable (which is the way I enjoy most of the content related to this that I read).
On Twitter alone, it’s just terrible.
That being said, while the format is terrible, the actual content here is brilliant, especially in that level of detail, and exactly what I’m looking for on Hacker News.
There is a patreon page linked right on his twitter page. He may not be exchanging time for food and shelter, but he is playing the same marketing game as anyone else for a personal high score.
linking to a blog he has to maintain would drop engagement off a cliff
Exposure to content is the reason HN exists and why you're reading it at all. If it wasn't posted on Twitter, OP may never have found it (even if a link to a private blog was posted to Twitter) and never shared it for you to read.
I can’t speak for foone as I’d never heard of him before today. But I have asked people why they post long threads on twitter (because they drive me crazy too) and this is the exact reason they give. A link to a blog post is far less likely to get clicked than a twitter thread is to get read. It’s right there in front of you and you’ve already read the first tweet after all.
It's not terrible. Twitter just isn't your preferred venue so you find it unnatural. It's natural for me to read and for others to read and for the author to have written on Twitter.
Why not put it elsewhere? Twitter is our place. And we like when content is natively published there. I have no interest in Facebook or Instagram or LinkedIn or Tumblr but I don't insist all the content in those places shouldn't be there. If all those people came to Twitter it would be a nightmare.
Low text density, atrocious typography, breaking of standard grammar, arbitrarily-spaced interruptions, no inline images (for mobile), limited external links and quotations, no headings, no custom formatting, random interruptions from other users.
I really can't fathom an argument that Twitter is in any way optimal for reading content of any length. Value added is exclusively in convenience and social factors.
You're listing values or things that are specific to your client or your understanding of the platform. For example, I didn't see "random interruptions from other users" when I read that because I know the best way to consume that content isn't on my timeline.
And it's fine not to like Twitter or not be savvy with it or not be interested in becoming savvy with it. But when you see an absolute position that one's values are the only correct ones it should set off loud bullshit alarms in your head whether it's someone else making the argument or it's you. Especially if it's you, because you have more to gain by remembering your own humility than helping someone else find theirs.
> But when you see an absolute position that one's values are the only correct ones it should set off loud bullshit alarms in your head whether it's someone else making the argument or it's you.
This is literally everyone in these comments authoritatively deciding what the best way to consume content is. It's absurdly self-serving.
You and gdulli (and soon to be me I'm sure) are being mass-downvoted by people who trend way older than the current people using social media, who grew up on blogs and written form, and thus hate everything new.
I personally prefer reading a blog too, but I realize that some people who have adaptive issues (the OP has severe ADHD and only writes effectively on Twitter, something basically no one criticizing him has looked for despite it being posted in these very comments) prefer this form, and some young people just hate blogging and prefer the tumblr/social media methods.
The content is being created, which is more than we can say for the majority of people bitching about how it is created.
The comments would be a lot better without seeing 6-7 completely reasonable posts being mass-downvoted and greyed out with a bunch of people complaining and seeing their comments solidly in the black. So no, I disagree with your premise, hence why I posted it in the first place.
You hide your best argument after a paragraph effectively calling people old farts for disagreeing (I know plenty people in their twenties that hate Twitter), so don't be surprised if they don't finish reading your comment or fail to consider it seriously.
I am old enough to appreciate more traditional form and style. Your initial paragraph could be speaking right to me. I do not care, but some might!
Just saying :D
Made a decision during the early 00's: embrace the new. Flow.
Basically, I am willing, and often do the work to remain able to return comms to me, or that I encounter, using the same transport, norms and style.
This has not been all that tough. Often, doing it is super interesting too.
I have had entire emoji / gif conversations with younger people, for example. I found out having a pen on my phone gave me superpowers too. Uber decorations! My 3 yr old granddaughter can't read yet, but does understand emoji and texts then to me all the time.
What will the norms be when she comes of age? I may live long enough to find out! And it will be fun.
The thing that got me moving this way is time spent with my own kids online. Old era chat. Being with them was like immersion.
One day, I dropped a string of typical chatter on a forum where us parents were talking about kids online. I translated it to make a point.
That point was lost amidst a ton of meta from parents:
YOU CAN READ THAT?
Yes, and could speak it then too.
I had broadband, most homes did not. I would come home from work to see a pile of kids all doing stuff online on the old machines I kept setting up. Had a few older workstations as Internet stations.
Edit: side note, those kids used Win NT, Win 98, Linux, IRIX (lol, an indy) and did not care, other than for how to launch a browser and find a file, or make a picture. /side note
Until that moment, I had no idea there was such a profound chasm and that many people have trouble getting across!
Truth is, the younger peeps among us are often where the fun stuff is. And nobody has to know you are old on the Internet.
:D
My inner 12 year old is always pleased when I find myself on the occasional lark into strange lands online. Younger family members know this. They will reach out, and when I respond in like kind, they share. More people should try it.
At any given time there is a sea of younger people seeking to establish their norms and identity online, and the difference between now and back then is everyone doing that fresh (so many getting online together), where today many have done it and have solidified some, leaving newbies to their play more isolated.
This appears to work just like music used to.
Anyone old enough, pre Internet basically, remembers decades of music. Most imprint during their teen years. And they sort of lock in, quit exploring.
Interestingly, I love experiencing new music so much that I also made a similar decision in the 90's having felt music begin to move on without me. That is to sample the new and talk to people during their formularive years for insight as to where the trends are. New music is fun! (And can be strange, annoying, beautiful, all that)
TL;DR: We all get old, and getting older sucks. If we do the work to retain our sense of play, getting older sucks a lot less.
Play. You will live longer and have more fun and likely not get an optimal output from your life too. But you will have had fun and will likely improve on the net happiness in the world.
Constraints can be a virtue. The barrier to entry for making a Tweet is very low, so there are a lot of people who do it. To get the features you've listed, you may need something like Wordpress, where the barrier is much higher. You also know everyone who reads your tweet will consume it in largely the same way for as long as Twitter exists.
Agree. I dont even understand why people use what is essentially a system made for spreading SMS to write long form articles. Just laziness? Plus, no guarantee the content wont disappear at any moment's notice. Accounts can get banned, Twitter may change their archiving policy, etc.
Not to humblebrag or anything, but my favorite part of getting posted on hackernews or reddit is that EVERY SINGLE TIME there's one highly-ranked reply that's "jesus man, this could have been a blog post! why make 20 tweets when you can make one blog post?"CAUSE I CAN'T MAKE A BLOG POST, GOD DAMN IT.
The short story is they are quite open about having ADHD, and that's what causes the long twitter rambles, but also what makes it very difficult to assemble it into a blog post. Every once in a while foone's wife will edit a popular thread into a blog post, examples: https://foone.wordpress.com/
If this seems like a particularly good story to you, maybe you'd like to edit it into a draft for a blog post and gift that to foone?
I've tried on multiple occasions to go on twitter, but it like trying to read a newspaper with strobe lights as a reading light. How this became a format will haunt humanity for generations. There is no difference in updating a blog versus being forced to open one of the worst applications known to humanity.
This is how the majority of young people consume content, when they read at all. I get that people don't like it who grew up on blogs, but it is what it is at this point and it's a lot like yelling at clouds.
I've subscribed to threadreader so I can save posts as PDFs, but I really wish they'd allow me to dump the underlying data as well so it could be put into archive.org.
How many of those stories would have ended up somewhere more permanent without texting though? At least with how I tell stories in my life, text is usually only replacing what would have otherwise been a fully verbal story, not something that would have ever been written at all otherwise.
Before texting there were instant messenger apps that everyone used (ICQ, AIM, MSN Messenger). Less people used the internet then, but those who did used those. Back when those were a thing the chat logs could usually be saved automatically as text files. I still have a ton of chat conversations I go back to sometimes from when I was in high school.
It's a lot harder to go back and read text messages, and I only can because the old phones I kept still function. I started transcribing a few text conversations manually though because those phones won't last forever.
I swear I can't understand why people use Twitter like this.
I can understand someone young and non-technical bring lazy and writing whatever it comes to mind on a series of Tweets, but someone with this level of technical knowledge not being able to understand how unintuitive it is to write a blog post on a series of 140 characters...?
Actually the Twitter thread format is really innovative. For Twitter users it’s a new way to consume stories and the limitation of each tweet gives the opportunity to the writers to be concise and get to the point.
But I agree with you, I think it’s more enjoyable to read it on a single page. I built Threader, a Twitter client that allows you to read these threads in an article format, without advertising clutter and fake news suggestions at the bottom:
I've recommended @foone's feed on here before, but I'll do it again now. I don't even know who this guy is or how I started following him, but his feed is full of interesting fun threads like this, often looking at older tech like this. I think most people on here would really enjoy following him.
TLDR: Some NES game cartridges contained coprocessors. The Pilotwings math coprocessor had 3 revisions and one of them produces slightly different outputs, even though the game ROM is identical.
Star Fox had a 2D/3D chip called Super FX that sounds a lot like a GPU. It’s pretty cool that console games of that era could augment your existing hardware to support their requirements.
Even though the NES chips were still called "mappers" some of the later chips did a lot more, particularly on the Famicom, where cartridges could add extra sound channels. Even on the NES though you saw some minor graphics enhancements.
It's essentially the same exact chip as the SNES's main CPU. Except three times faster.
Imagine buying a game for your 3ghz PC that ships on a flash drive. And that flash drive also contains a 9hz (edit: whoops, 9ghz, haha) Intel Core i9 CPU.
It might even be longer than that... I wonder how long it would take to render one frame of a modern game by hand if everyone on the planet joined in (let's make it easy and render at 160x120).
I don't even have a napkin to write on so this will be the most back of the hand of calculations.
One floating point calculation for a human would probably take on the order of 2 minutes. That's 1/120 FLOP. Let's round it to 1/100. It's not like we're accurate here.
Let's say a GPU is 1 TFLOP. That means the GPU is 100 trillion times faster than a human. With 10 billion humans on earth (again, let's just round these numbers), that makes the GPU 10000 times faster than the combined power of all humans.
I don't think computational requirements scale linearly with resolution, but let's just assume it does. Your regular 1080p screen has roughly 100 times the pixels compared to your 160×120 screen. 10000/100 = 100, which means that the framerate of your manually computed game will be 1/100 of the performance of a regular GPU playing in 1080p.
I welcome someone else to make the same calculation. It'll be interesting to learn if I'm close to a reasonable answer.
They could do that because the SNES's main CPU was ridiculously pokey even for the time it was released. Even calling it 16-bit was a bit of a white lie.
Not just back then. Nintendo has put a lot of wacky stuff in cartridges. Learn with Pokemon Typing Adventure had a bluetooth adapter in its cartridge to communicate with its bundled bluetooth keyboard. Some early NES games were actually Famicom boards with a 60 to 72 pin adapter embedded in the cartridge. Morita Shogi 64 had a modem and a phone jack built into its cartridge. Animal Crossing for N64 had a real-time clock. Mario Artist: Talent Studio had a cartridge that featured an entire composite video capture card. The Japanese version of Tetris 64 had a modified controller pak which connected to an infrared heartrate sensor for a special play mode that tested the user's ability to keep calm.
More examples: WarioWare: Twisted! for Game Boy Advance with a gyroscope sensor, and Boktai: The Sun Is in Your Hand (also for GBA) with a light sensor for detecting sunlight.
Pokemon: HeartGold/SoulSilver have an infrared comms port to communicate with the pokewalker, and to mystery gift - because the Game Boy Color had one!
For all those who hate trying to read this as a tweet: please see parents’ link. There’s a whole site built to compile all these into a blog like thing for you.
Check out this talk by Chris Gerlinsky at 33c3 (2016)[1] about how he went about cracking the encryption of cable/satellite television set-top boxes. It is a very detailed talk, and he goes into detail about delaminating a ROM chip and visually extracting the contents of its memory bit-by-bit using a microscope and then software to speed things up a little. It's a long talk so he goes into more detail about the rest of the process, but I really enjoyed it.
I was commenting about the SNES version of Pilotwings also not having a proper sequel. Been wanting one since '92 or so, don't remember when I beat it for the first time.
Also, my copy of Pilotwings the Biplane crashes, always thought it was weird that the demo would do that. Guess I'm gonna have to find a copy with the other chip.
Pilotwings 64 was a sequel. I'll be honest I never played the SNES version as I had a Genesis instead of an SNES around that time so maybe the SNES version had different mechanics that the previous poster missed in the N64 version and he doesn't consider it a true sequel. Not quite sure...
All of the Pilotwings games are great. But the later 2 (64 and resort) have a different look and feel than the original.
For me the difference is 2d flight sim from the 16bit era vs the much more advanced 3d polygon driven flight sim of the later games. Think Mario World vs Mario 64. The original Pilotwings has a charm of its own that isn't in the other games.
---
> I had a Genesis instead of an SNES around that time
One thing I miss from that era of gaming, households were typically one or the other, at the time I didn't know anybody that had both Nintendo and Sega. I had to sell my NES to upgrade to SNES (I was 7, it was a big deal to me).
Pilotwings Resort was a launch title on the 3DS. Neat little nod to Pilotwings (SNES) and Pilotwings 64 launching with those consoles. It was really cool seeing it on the 3D screen.
I have this and can highly recommend it. Can be picked up at a fairly reasonable price. Also, if you don't really like the 3D, you can always turn it down/off.
As a game, Pilotwings Resort is definitely a worthy successor to the N64 version.
It's a microblog service. It's funny that Twitter originally came from the idea of just having a list/feed of AIM/Yahoo Messenger away messages.
It's about using the right tools for the job, and in this case, a regular long form blog post or a video is a much better tool than a ton of chained Tweets.
To be fair, a lot of people (mis)use twitter as a blogging platform. I think it's more likely GP was complaining about that trend than being insensitive that this one author has ADHD.
(Someone will always complain about this on HN whenever there is a twitter thread posted here, though I do get why the author gets annoyed with these complaints.)
A fascinating read though there were a couple of small mistakes.
>Pilotwings came out a month after the SNES, not a year.
>ROM as in a file copy of the contents of ROM chips is not technically short for "ROM dump" because, though it is a ROM dump, the usage of ROM to describe it does not originate with usage of the term ROM dump.
You know, I think the crashing demo is more compeling game design wise. I watch it and have an itch to pull up a bit the nose and give a bit more throttle. That itch is the demo pulling me in, causing me to want to play. The perfect landing is meh, clearly the computer can do it, why would I bother picking up the controls? Interesting that the developers disagreed enough to roll a new chip, at what I guess was a considerable expense.
My understanding was that the "perfect" landing was first, using the old version of the chip. Then the new chip changed the physics calculations and the demo replay became a crash landing.
So the "crash landing" cartridges are the newer revisions and I'd guess the motivation to change the ship was a simple "update this dependency to the newest version".
It's a bit different than that. The newer version here is physical. So they would stop making the older version at some point. Not like software that the old version is always available. They likely realised it was happening, but just didn't think fixing it was worth it.
Good point. I wonder if the devs of the game even consciously decided the change at all or if the DSP1 supplier at one point simply started shipping the version with the fix.
Which, ironically, would be an early example of forced automatic updates messing things up.
Oh, of course. I have become spoiled from years of graphic improvements in games, I was expecting a depiction of the plane being torn to pieces or an explosion to show that it crashed...
Twitter seems to be in this weird space where they have enough usability positives over other social media (pretty broadly accessible, doesn't pester you to log in, you can post NSFW content without it getting taken down) that I guess people just force themselves to use it, even if a blog post would be better formatted.
I think it’s the combination of feeling easy to do (both UI & not feeling pressure to write a formal essay) and getting immediate feedback. For most people blogging is mostly solitary in comparison.
They should change the name to “Clockroach” considering they lose correctness guarantees when the clock drifts beyond a preconfigured uncertainty window.
First impressions matter mostly to those who are influenced by them. Many scams have been successful because of exactly that.
A stupid name might do well on search engines for example (as in, those names could be easily searched)
Furthermore I don't really consider the name to be stupid. I don't quite really know of many other ways of succinctly highlighting resilience as a property in a name.
For me, it just shows up as a bunch of text, approximately divided into paragraphs, with images interspersed, which I can scroll through. Is it different for you?
A lot of people are complaining about twitter as the delivery method for this kind of content. I actually really like it, having things broken up like this makes it much easier for me to digest because of my ADHD
I have "ADHD" as well. Your brain is like a muscle, and when you actively avoid using it a certain way then it becomes harder to do things that way. The attention economy and the "ADHD" epidemic have a parasitic symbiotic relationship with one another. I'm sure you remember reading books as a kid, so you weren't born like this.
This hits on something I've wondered about for a long time. Since carts did not just include data, but also mappers and coprocessors, how do you write an emulator that can accurately play an arbitrary ROM dump?
Does your emulator have to have knowledge of every single game, and what mappers and/or "helper" chips each had, and emulate just the ones appropriate for a given game?
They do, absurdly enough. See for example BSNES, https://byuu.org/ , here's a quote from their most recent release notes: "If the coprocessor firmware is missing, bsnes will fallback on HLE where it is supported, which is everything other than SD Gundam GX and the two Hayazashi Nidan Morita Shougi games."
See past HN submissions about the extreme lengths BSNES goes to in order to get this data: https://news.ycombinator.com/item?id=3675123 , "In order to extract these programs from most of the DSPs, we had to decap the chips, scan them in with an electron microscope, and 'tweak' the processors to allow us to dump their protected program ROMs."
For example, The iNES format, for NES emulators, has a 16 byte header, not part of the original ROM, that identifies the mapper, screen mirroing if not controlled by the mapper, and whether or not battery backed RAM is included.
NES mapper numbers were standardized among emulator authors. Look for "NES mapper list". Some very early games didn't use a mapper (that's what mapper 0 is).
SNES games do have an intrinsic header that describes the cartridge content. What’s missing has to be guessed through heuristics. bsnes has a file format for describing this stuff in detail, but it’s so far not been very popular because users like things to be self-contained.
That brings up another interesting point. foone says the ROM data dumped would be identical, but that’s disingenuous. The DSP firmware is part of the cartridge, too, and it is clearly different. byuu has proposed catenating the DSP image to the base ROM for this reason. Of course, the Pilotwings case was unique, being the only game to ship with two different DSP firmwares.
If you're talking about an MSX game, then yes. Nothing about the carts are preserved in the ROM images, and you need a per-game database, or you'll need some kind of "cartridge type" list that the user has to choose from when booting the game.
If you're talking about the NES, sort of yes. People stick a fan-made "iNES" header at the top of the ROM data, but they made the format before all the details of the NES were known. So using that information is not enough for many titles, and so you need a database for those titles to work properly.
For the SNES and Genesis, the games have internal headers that tell you most of the details of the games, but not enough for complete emulation. SNES emulators in the past have been able to add bizarre tricks that just so happen to line up with the existing commercial games to not need a database, but it really turns out to be a mini database disguised by being obtuse. Example: "if the ROM is larger than 2MB, and has save RAM data, and has 32K bank granularity, then map the save RAM data to a smaller area of memory." Rather than "if the game is Fire Emblem, treat it differently than Ys 3."
For the Game Boy Advance, emulators and flash cart tools will scan the ROM looking for signatures from code libraries from Nintendo that handle save memory, like "FLASH512_V", "EEPROM_V", "SRAM_V", etc. Developers wised up and started including fake strings to fool them, so once again ... you end up needing a database.
There's very, very few cartridge-based systems where only the ROM dump is all you need. If I had to name one, I'd say the Neo Geo Pocket is one.
There are even cases like Mega Man X (Japan), where they made a mistake with the copy protection, and to fix it, resorted to wiring a resistor right onto the back of the PCB of every cartridge released to change the memory map.
And databases + heuristics fall apart when it comes to homebrew, fan translations, ROM hacks, etc.
True preservation requires games include a detailed description of the entire PCBs of these games, not just the ROM chips. But unfortunately, after trying for 15 years, I've not been able to come up with a stable, simple format for every system in the world that doesn't rely on emulator-specific design decisions.
I mean, how do you represent every possible circuit board configuration on the planet in a text file, that isn't going to make emulator authors for just the NES or just the Game Boy balk?
reply