The main mistake with the Sega CD was adding a bunch of expensive new hardware to it. It gave the Genesis a second, faster Motorola 68k and a special ASIC to handle sprite scaling and rotation effects (to compete with the SNES), but these inclusions effectively doubled the price of the add-on and were seldom used by developers. The Turbo-Grafx CD, on the other hand, just added a CD-ROM drive to the Turbo and cost half as much. The Turbo CD was also much more necessary since the console used HuCards that were much more limited in space than the cartridge ROMs used by the Genesis.
That said, the Sega CD was reasonably successful for what it was, and I don't think it contributed much to Sega's downfall (if anything, it helped Sega foster an impression with customers of being on the cutting edge of things back then). Far more egregious were the 32X, since it confused customers about the company's direction after the Genesis and was abandoned so quickly, and the Saturn's architecture being so much more expensive and complicated than the PlayStation, especially for 3D games. The cost let Sony undercut them because they knew Sega couldn't match them without losing money on each console, and the complexity was such a hurdle that even Sega's first-party developers had trouble figuring it out (they had to release "do-over" ports of Virtua Fighter and Daytona USA because the first versions were so rushed and buggy). Sega of America also pulled the plug on the Saturn way too early (because of Bernie Stolar's infamous interview where he said the console wasn't the company's future, which caused third parties to immediately cancel their releases for it), which left the company with basically no presence in their biggest market for about two years.
I made a few simple Mac apps in Objective-C during the pandemic in 2020, and I was struck by how hard it was to find tutorials and examples on how to do anything in Objective-C. It's possible I was looking in all the wrong places, but it seems like everyone assumes you're using Swift at this point. I would advise against learning Mac development with Objective-C except to people who have a specific interest in it or need for it. I also think most people accustomed to newer programming languages would probably find it arcane in some areas and tedious in many others (although I personally like it for what it is and don't regret the time I spent with it, I definitely felt like I was making things harder on myself by using it).
What’s so hard to understand about Edge pretending to be Chrome pretending to be Safari, using Blink pretending to be WebKit pretending to be KHTML pretending to be Gecko, all pretending to be Netscape Navigator? I’m the dude playing the dude disguised as another dude.
The article quotes a Stack Overflow post with the conditions under which V8 will optimize the switch statement:
> @LGB actually in V8 (JS engine used by google chrome) you need to jump through a lot of hoops to get switch case optimized: All the cases must be of same type. All the cases must either be string literals or 31-bit signed integer literals. And there must be less than 128 cases. And even after all those hoops, all you get is what you would have gotten with if-elses anyway (I.E. no jump tables or sth like that). True story.
In the case of this emulator, it wasn’t being optimized because it had more than 128 cases.
There’s a Japan-only game for the Sega Game Gear called Kinetic Connection that plays similarly but involves rearranging a scrambled picture rather than moving colored blocks into a pattern.
“Game 3” is the mode that rotates rows and columns like a Rubik’s Cube.
There are probably earlier examples, but that’s the one that I’m familiar with. I imagine a clever person could adapt it into a simple word game as well. Old computer and console games are a gold mine for ideas for simple puzzle games.
You can we we advocate for this position in a less snobbish way. It’s times like this I feel like a real idiot for expecting more from this site than the average Reddit trainwreck comment thread.
Guess what, you’re not that much better than everyone who disagrees with you.
"And yet death is the destination we all share. No one has ever escaped it. And that is as it should be, because death is very likely the single best invention of life. It is life's change agent. It clears out the old to make way for the new. Right now the new is you, but someday not too long from now, you will gradually become the old and be cleared away."
The YouTube channel 3Blue1Brown has an "Essence of Linear Algebra" series that I found helpful (along with an Essence of Calculus series and videos on other tricky subjects such as differential equations and Fourier transforms). I found that the visual approach of the videos helped make the concepts more intuitive.
Back when I used Windows, I actually used the New > Text Document item discussed in the article all the time. It created an empty, 0-byte file, so I'd rename it to whatever file extension I needed. There was a folder that contained the templates for this menu so you could add or remove blank files for any type, but I only ever used the .txt file one.
They've actually been warning users since Catalina (if not longer) when the following are run:
python
irb
php --version
tclsh
For PHP, it also shows up in Apache's server string:
Apache/2.4.46 (Unix) PHP/7.3.24-(to be removed in future macOS) mod_perl/2.0.9 Perl/v5.30.2 on hostname
Personally, I've been hoping they'd do this for a while since it's annoying having two versions of each interpreter installed (the system one that can't be updated and the one I installed myself via Mac Ports). Anyone who uses these languages much probably already has a package manager installed. I think they should leave Perl, though, since it's as much as Unix system utility like awk or sed as a programming language.
The UI changes weren't especially popular, but I don't think they were the cause of a mass exodus. I think it's more that Reddit was gaining in popularity. Slashdot posts had to go through their "editors," who were kind of laughingstocks who regularly let dumb mistakes through, reposted old articles, and regularly posted low-quality, flamebaity articles and thinly disguised advertisements. People put up with it since the articles were largely an excuse for a discussion topic. But then Reddit bypassed this and let people submit things directly. And the quality of Reddit posts and comments was a lot higher since it drew a more cerebral crowd in those early days, which made it more of a threat to Slashdot than the more mainstream Digg (which it also replaced ultimately).
Slashdot tried to solve this problem by making mod points limited and requiring you to give a reason for moderating a comment. Then there was a metamoderation system where you decided if the moderation someone gave was fair or not. If someone consistently doesn't use the moderation system correctly (and the metamoderation system is successful in identifying this), they don't get mod points anymore.
It didn't work perfectly (obviously the site is still highly opinionated in favor of certain things, like Linux and free software), but it also wasn't the smooth-brained hivemind that Reddit comments sections are. I can't think of another site that's even tried to come up with a better moderation system than simple up/down votes. At best, there are some behind-the-scenes algorithms that decide how exactly to prioritize comments based on the voting, but that's derived from popularity as well. An immeasurable side effect of this is that many heterodox comments simply aren't posted at all since people know they're going to be downvoted to oblivion anyway.
I haven't used Tcl for anything in ages, but I have a book on it that I thumb through sometimes because it's so bizarre and fun to read about.
For example, you can delete or rename procedures on the fly, including built-in procedures. So you can rename a built-in like puts to something else, create your own puts procedure, and then call the old one (under its new name) in your new procedure (in case you wanted to override it to do some pre- or post-processing each time). You can even redefine procedures within themselves.
You can use variables in variable names (PHP does this as well).
The comment character # is a valid name for a variable or a procedure.
"Everything is a string" extends to even lists and code blocks.
Even though we've moved away from the hyperflexibility of languages like Tcl and Perl, they certainly served their purpose, and a lot of their better ideas were refined in their more orderly successors.
There’s definitely something uniquely satisfying about knowing that code you wrote is saving other people time or helping them create things. The beautiful thing about programming is you can solve a problem once for yourself and also end up end up solving it forever for everybody.
The short squeeze happened two weeks ago when the stock ballooned from $20 to $480. That's a 24x increase; VW's "infinity squeeze" comparatively only grew 5x from $200 to $1000.
People on WSB had some arbitrary price targets in mind and are in denial that the stock hasn't squeezed yet because they haven't hit those (completely made-up, with no basis in anything) targets.
If we're separating the federal district, why not just give the rest of it back to Maryland the same way the area on the other side of the Potomac was given back to Virginia?