5,672 karma · joined November 3, 2015
Recipes are the exception. If I'm cooking something I've never made before, there is no way I'm committing that ingredients list to memory.
These are contextually relevant ads. Of course they are, right? The task is buying stuff. That's the time, and the place. The best time, really. My wallet is out and I'm ready to go with the purchase.
If it's a little hard for me to discover that a product exists, so that I know to seek it out, I think that's okay. We could do with more curation and less firehose-of-attention in that department. Needing to coordinate those sponsorships ahead of time should act as a stronger filter. The newspaper knowing which ad it is running alongside today's article might not have been such a bad idea. The ones that cheapen out and print nonsense damage their reputation in the process, right?
If internet advertising was more like newspaper advertising, I wouldn't feel quite so compelled to go out of my way to block it. But no, someone somewhere along the way decided it had to be actively distracting, and track those impressions, and the industry just can't help itself. It's rotten to the core.
The incentives for online news are really wacky just to begin with. A coin at the convenience store for the whole dang paper used to be the simplest thing in the world.
Steam guides for Blue Prince are fantastic about this, and were extremely welcome to me once the RNG nature of the game stopped being exciting and started being a tedious obstacle. There's nothing quite like needing to spend several real world hours to try a puzzle solution that may be a complete waste of time, simply because the game doesn't really like to spawn the needed rooms (in an acceptable configuration) very often.
If you don't play PvP specifically, the rest of the library is significantly more open to you. Personally I have always favored single player experiences and indie games from smaller studios, and for the most part those run great.
At some point I'll get irritated enough to seek out more alternatives and give them a whirl. Such is fate :)
Actually, GPU acceleration was why I initially switched. For whatever reason, this GPU (Radeon VII) crashes regularly under X11 nearly every time I open a new window, but is perfectly stable under wayland. Really frustrating! So, I had some encouragement, and I was waiting for plasma-wayland to stabilize enough to try it properly. I still have the X11 environment installed as a fallback, just in case, but I haven't needed to actually use it for months.
Minor pain points so far mostly include mouse acceleration curves being different and screen capture being slightly more annoying. Most programs do this OS-level popup and then so many follow that up with their own rectangle select tool after I already did that. I had some issues with sdl2-compat as well, but I'm not sure that was strictly wayland's fault, and it cleared up on its own after a round of updates. (I develop an SDL2 game that needs pretty low latency audio sync to run smoothly)
Here, of course, is finally where AI can plausibly enter the picture. It's pretty good at search! So if someone has learned, and understood, and written it down, that documentation can be consumed, surfaced, and learned by a new hire. But if the new hire doesn't actually learn from that, then they can't improve it with their own understanding. That's the danger.
Yes the end result is at some small moment in time a thing that was built. But the value prop of the company isn't the software, it's the ability to solve business problems. The software is a means to that end. Understanding the problems is almost the entire job.
https://bsky.app/profile/zeta0134.bsky.social/post/3m7xuxuc3...
Currently mostly happy with where this has ended up, but the percussion is a tad too basic and needs more work. One thing at a time I suppose. :)
My goal is to stop working as soon as possible; this is a 1.7 MHz CPU and it has many other tasks to perform on a given frame. It's hard to appreciate unless you sit down to actually do it, but on a processor this slow, the scanning of the list and the comparison of depth is not cheap. It's computed on the fly as we go, there isn't spare RAM to cache it, and it changes every frame anyway. All of that makes the scanning and comparisons way more expensive than the eventual swap.
Insertion would be ideal here for a freshly spawned object, since we already know it is out of position and merely need to find its destination. (The work to shift the rest of the list down isn't super expensive, thankfully.) In practice this is already a big enough visual change that the player doesn't have much time to notice a depth error before it corrects itself.
A few other algorithms would have fit the bill just as well, but bubblesort is perfectly adequate, so that's what will likely ship. More complex algorithms end up losing out due to greater initial overhead or larger ROM size.
And if someone does the kernel bypass thing, well, rely on server-side heuristics (which are imperfect, but also unknowable to the attacker) and you'll discourage enough of that with account bans.
Helpfully eSports players tend to have video captures of their gameplay, and most of these "undetectable" cheats are real obvious if you actually watch the footage. That catches most of the serious stuff at the upper level. It's why video verification has been a thing in the speedrunning scene for such a long time.
It is the *end user* who decides which feeds to trust, as it should be. And since it's built right into the app as a core concept, it doesn't take massive engineering effort to switch feeds if some sort of drama occurs.
[0] I'd normally call these repositories, but I've used Eric's term for consistency with the article.
https://fabiensanglard.net/another_world_polygons_SNES/
Rest in piece, you absolute legend.
https://www.nesdev.org/wiki/PPU_palettes#2C02
In addition to CRTs having variable properties, it turns out a lot of consoles (understandably!) cheat a little bit when generating a composite signal. The PPU's voltages are slightly out of spec, its timing is weird to work around a color artifact issue, and it generates a square wave for the chroma carrier rather than an ideal sine wave, which produces even more fun problems near the edges. So we've got all of that going on, and then the varying properties of how each TV chooses to interpret the signal. Then we throw electrons at phosphors and the pesky real world and human perception gets involved... it's a real mess!
The solution? Have the cartridge keep track of CPU parity (there's no simple way to do this with just the CPU), then check that, skip one cycle if needed... and very carefully cycle time the rest of the routine, making sure that your reads land on safe cycles, and your writes land in places that won't throw off the alignment.
But it works! It's quite reliable on every console revision I've thrown it at so far. Suuuper happy with that.
https://bsky.app/profile/zeta0134.bsky.social/post/3lzclakpp...
Right this second I'm getting the paperwork sorted to start my first business (gulp!) which should then let me get a Steam page set up and start messing around with the Steamworks SDK integrations. Tons more work to do, but it's coming together fast.
Even more exciting, the cartridges are finally working! I can play the game on real hardware. :D It's basically the same game code on both platforms, with the PC build just doing a bit of extra work to signal to its emulator "shell" that it has switched game modes. (This affects the widescreen display.) Real hardware capture here:
https://bsky.app/profile/zeta0134.bsky.social/post/3lysv53qk...
As a basic starter tool, it's cute and briefly enjoyable, and that's enough. But you'll need to supplement it with something else almost right away, and your daughter's structured classes and reading material were almost certainly that something else. I think Duolingo's *streak* is the only key feature worth imitating in any form, as it gamifies habit development, which is difficult for many people. If only the lesson content could keep up with that one good idea.