• 0 Posts
  • 30 Comments
Joined 1 year ago
cake
Cake day: July 3rd, 2023

help-circle
  • In addition to “format shifting,” which is a well-recognized use case, and game preservation, which is a huge and under-recognized public interest in emulator development, emulators are also used for the development of homebrew software. E.g., there’s a port of Moonlight for the Switch, which lets you play Steam games streamed from a PC using your Switch, letting it serve many of the purposes of a Steam Deck. That’s huge! It would be way less practical to develop this kind of software if you could only test on real hardware. Testing on real hardware is also essential, of course, but testing on an emulator is vastly faster for rapid iteration.




  • Doesn’t the “missed step detection” on the Prusa printers already achieve a lot of that? I think it monitors the current to the motor and flags any abnormal behavior, without needing extra hardware on the motor.

    That’s not to knock the value of positional feedback, which is clearly superior, but just to say that I don’t think this idea has been entirely neglected.


  • I had a similar issue on my Pixel 6, where I’m using Nova launcher. (I know they changed hands and are not great now, but it’s still more usable than the Pixel Launcher.) There the solution was to go into the Apps settings, find Pixel Launcher, and choose force stop, then clear cache, then clear settings. Apparently there was some bug in Android 14 causing both launchers to try to intercept the “recent apps” press, and it caused it to hang like that.

    Obviously that’s not going to be exactly the same issue on your phone, since presumably Pixel Launcher isn’t on there, but maybe doing the “force stop, clear cache, clear storage” on the default launcher on your phone would help?


  • It looks to me like they did it this way so that it could have natural-language names in many languages. So, the function Z10096 is called “is palindrome” in English, but if you’re coding in Japanese you can call it “回文の判定”. I don’t think the idea is for people to refer primarily to the alphanumeric soup version; I think that’s just the unique identifier for the database.

    It does look like it’s leading to some issues, though. E.g., someone added a test for the “is palindrome” function which uses a somewhat common example: “Straw? No, too stupid. I put soot on warts.” Now, a human would probably say that this is a palindrome, because it’s got the same letters forwards and backwards, but most of the implementations disagree, because they consider the spaces, capitalization, and punctuation to be part of the string; that is, they test whether the input string and its reverse are equal. So someone (possibly the same person) has added a second python implementation which ignores spaces, capitalization, and punctuation, and mentions that in its name on the page.

    Fundamentally this function is solving a different problem than the others (as demonstrated by the differing results on the relevant test), so should it get its own number and page? should there be a “palindrome disambiguation” page? This seems like something the site will have to figure out how to handle.



  • Turbo Pascal was the first language in which I had serious classes (I had tutoring in Applesoft Basic earlier on, but that language has a lot of limitations), and I used it for years afterwards. You could write auxiliary functions in Turbo Assembler and link them in; I used that to write a library that allowed access to the 320x200 256-color VGA mode (the built-in graphics only did EGA and were super slow), and other libraries for mouse and joystick control. I tried to control the soundblaster for FM synthesis, but it was too complicated for me to figure out how to do anything useful without better access to documentation (this was before the world wide web). The experience also taught me a lot about assembly language basics, function calling conventions for C and Pascal, stack manipulation, and so forth, which gave me a huge head start in my compilers courses at university.

    On the whole I would still recommend C over Pascal as an early language–it gives you much better insight into memory layout and so forth, where Pascal kind of obfuscates such things, and C just generally kind of acts like both Pascal and Assembler rolled together. But Turbo Pascal definitely gave me a good foundation.









  • I dunno, I prefer swipe typing and this doesn’t seem like it would work with that.

    To me the biggest barriers to long-form typing on the phone are that so many websites screw up form handling for long-form content, and that the cursor maneuvering is still pretty broken.

    Websites do weird things when you’re typing. Sometimes the input field won’t scroll, so you can’t see what you’re typing. Other times it’ll force-scroll to put the current line you’re working on at the very top of the screen, so you can’t see anything you wrote previously. At least they finally fixed the weird behavior where if you deleted more than a few characters it would start jumping around in the text and duplicating huge sections of it–I think it was around Android 9 that they finally fixed that.

    As for moving the cursor, the “swipe on the space bar to move the cursor left and right” works, but trying to go back further, like going up a few lines, is very, very difficult. The cursor will scroll the text box if you move to the edge, but there’s no delay in the scrolling, so instead of scrolling a couple of lines and then pausing briefly to give you a chance to stop there, it just immediately scrolls again on the next frame of rendering, so effectively your choices are “scroll within the few lines of text still visible” or “jump all the way to the beginning of your text.” Anything else you need to scrub through character by character using the space bar control, which is very slow.

    Basically, I don’t think the issue is the keyboard itself. I think the issue is that Android has never prioritized long-form text entry, and so it’s just very buggy.