sureanem |
Posted on 19-07-13, 19:10 in I still HATE smartdevices
|
Stirrer of Shit
Post: #501 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
Posted by tomman Well, that depends. What's wrong with having a switchable modem? You could have a tiny microcontroller and have the main CPU communicate using a strict, well-defined protocol instead of DMA. That also solves the eavesdropping issue, since it can just cut the mic whenever not in call. It doesn't solve the triangulation issue however. I don't know why you would need certification to make your own baseband - my reading of the applicable law here (which I think is/was based on EU law) is that no certification is needed to use a device provided it conforms to standards, but devices sold must be certified. So couldn't you just ship something which needs flashing to work, and then have the phone transparently flash it on insertion? That way, you're not selling usable basebands. You could also get good economies of scale by using microcontrollers that are used for other applications and thus not likely to mess with your stuff. I don't think buying new phones is such a great idea long-term. Imagine if you want to use Signal or whatever on them. And you can't bring them home, or use a Google account. And then there's also the logistics of buying and disposing of phones. A giant nightmare. If you want a new phone each week, and buy bottom-of-the-barrel $30 phones, that's $1500 a year plus 50 trips to the phone store. Why can't you just do it like this: 1 SIM card = 1 modem, and when the SIM card has run out, it erases both and tells the user to eject them? Cheap, user-friendly, easy regulatory compliance. Ah, logic board swaps. I can't even tell if that's a gray area, akin to "chop'n'weld" (can't remember the exact term right now) rebuilt cars - it's not as cheap as just using a hardware dongle or some app to "repair" an IMEI, but sure as hell is an express way to "purify" stolen property. But then, that's another double-edged sword as I myself have performed board swaps quite a few times on devices with the express authorization of their legit owners. I'm not even sure if I want to get DA RULES involved in this... If we try to regulate phone repairs, we will quickly end into DRM, "repairing is dangerous, therefore WARRANTY VOID IF OPEN", and hot politics water. A bit on the expensive side to do in the West in terms of labor costs, I'd think. What you can do is just contact the police and ask them if it's stolen, and if it isn't ask them to write a paper saying so, then bring it to the Apple store. Of course, this can be done for mystery meat iPhones you bought off of eBay too, even if they are stolen, provided you don't live in that same country. As a subscriber of a state-owned telco (CANTV/Movilnet), all I can say to that is: careful with your words, buddy. As evil as can telcos be, you definitely DO NOT WANT to apply the "n-word" to them. But yeah, that's out of scope for this thread. Are the private ones any better then? There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-14, 03:25 in RustyBoy, a Game Boy emulator written in Rust
|
Stirrer of Shit
Post: #502 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
I thought for a second there it read straight from Google Sheets into the emulator. Boy, that would have been something. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-14, 17:57 in Leaked Super Mario 64 Decompiled Source
|
Stirrer of Shit
Post: #503 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
They used an entirely unmodified GCC, although some developers might have used other stuff. They also had some other software to do some stuff, since they couldn't modify GCC nor interact with it too tightly. Not sure what the point of a port would be - for performance UltraHLE is already pretty much transparent, and if you want fancy input then that could be done without a port like in 1964. But from my understanding, it'd be nearly trivial since you have x86 shims for the N64 API already. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-15, 18:03 in Leaked Super Mario 64 Decompiled Source
|
Stirrer of Shit
Post: #504 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
> for performance UltraHLE is already pretty much [not] transparent Well, how isn't it? N64 >CPU 64-bit NEC VR4300 @ 93.75 MHz >Memory 4 MB Rambus RDRAM (8 MB with Expansion Pak) UltraHLE supposedly needed a ~300 MHz CPU and 32MB ram. So at the back of the envelope, ~30% efficiency. Which is worse than I thought, but still not too bad. And application of modern techniques could probably get the number down further. (in case anyone says performance at those levels is unimportant nowadays: for netplay it sure isn't, since then you might need to emulate several frames per frame, and have room over for input prediction and other book-keeping) >Trying to emulate a controller with another can be troublesome in some cases (ask the Dolphin guys - it may not be a problem for N64 but you can always do things The Proper Way with a native port). With a native port, you can improve keyboard-only experience, for starters. You can do this for emulation too though. Look at the PD/GE mouse injector, for instance. It just writes/reads RAM directly. If you wanted to get things reproducible, you could compute the desired value of, say, "looking.x" and "looking.y" one frame from now, and then work backwards to the needed inputs. It'd be trivial to test automatedly and perhaps even decide functions for. Of course, sometimes you can't move more than one position in a menu per frame, for instance. But I wouldn't reckon that's such a big problem, since the standard mode of using menus is not to consistently fling your mouse across the room several times a second. Considering the work needed to port one game, it seems like a better investment of time to map out the RAM locations you want to hit and functions you can safely replace with native APIs, and keep the non-performance-critical code emulated. And then you could still do all the fun stuff like keyboard entry for character names, mouse entry in menus, and so on and so forth. Kind of how like machine learning and whatnot uses Python et al, but calls into C/C++ for the heavy lifting. Performance would be as good, development velocity much better, legal issues non-existent, and you'd probably end up with a higher quality end result. I mean, 90% of the code (reading memory values, image map stuff, mouse/keyboard input stuff, console input stuff) would be re-usable. All you'd need to do is map out the RAM (no programming skills needed), draw image maps (completely non-technical), and write function replacements (a bit of work but only needed for performance, most modern computers can run Mupen64Plus/Project64 no problems). Also, the function replacements' validity can be tested in an automated fashion. The others can be tested trivially, if still requiring some human effort. And since your emulator-port hybrid relies on human work for each game anyway, you might as well pull a ZSNES with a games database. >[Were the x86 N64 API shims included] on the original N64 SDKs? Early devkits were SGI/Irix-based, dunno about later ones. But then, Nintendo is no stranger to multiplatform development... I mean the shims they use in UltraHLE, for instance. The devkits needed you to have a physical console that you connected via serial port. If I recall correctly, they shipped documentation of it but not implementations. The SN64 devkit which I think was the most common one ran on both SGI and Windows. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-15, 18:08 in I have yet to have never seen it all.
|
Stirrer of Shit
Post: #505 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
It appears as if there was a mix-up of the mushrooms. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-15, 20:14 in (Mis)adventures on Debian ((old)stable|testing|aghmyballs)
|
Stirrer of Shit
Post: #506 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
Argh, why aren't there any good epub readers for Linux? mupdf doesn't support zoom and links, so that's right out Calibre mutates your epub files without prompting, which is icky. I also think it's bloated Atril is the best of the bunch, but it has graphical issues (the scroll bar on the side doesn't clear, so it sort of leaves a trail), and it opens external links as if they were another chapter of the book (big no-no) It also has some minor issues, like not selecting the text in the search field when hitting CTRL-F (e.g. if I've searched for "asd", and open it up again and type blindly, it'll have "asdblindly" in it), and associating to .webp files without actually being able to open .webp files. The GNOME project even said it has poor code quality. Any others? I'm on stretch, but I got the latest version from backports and it had the same issues. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-16, 11:29 in Leaked Super Mario 64 Decompiled Source
|
Stirrer of Shit
Post: #507 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
Sure it is, why wouldn't it be? The simplest possible algorithm would be to just assume that the other player keeps holding down whatever buttons he used to and play out the game as if he did, and then update whenever you get told otherwise. This would probably work decently. The next simplest would be to use some kind of generic prediction algorithm or such. Somewhat better still, game-specific neural network. And even more advanced would be to take the game state into account. You can't do interpolation (except for graphical such), but it shouldn't make too much of a difference in most scenarios. If you have 50 ms ping, that's 25 ms one-way, or 0.75 frames (at 30 fps). Surely, not too much can happen within that time span? There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-16, 12:20 in Games You Played Today REVENGEANCE
|
Stirrer of Shit
Post: #508 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
Well, I said as much in my post, didn't I? I said it was a shame there aren't any good ones and that it's now in a sense too late, not that there aren't any accurate ones. But to my knowledge, no emulator can emulate Perfect Dark accurately yet (with perfect timings), which is why there aren't any serious TASes of it. Go on Google Trends for instance and see how many people are searching for Project64. And this is simple mathematics: if you were 10 in 1997, you'd be around 32 now. Whereas, in 2007-2009, they'd have been 22-24. I'm not going to say that no 32-year-olds play video games, nor that all 22-year olds do, but there certainly is a general trend in that direction. And shouldn't emulator development for platform X be a function of how many programming-proficient people who are interested in platform X in general? Granted, you might have some younger people who never touched the original console and still want to make emulators for them, just like you've got young people still listening to The Beatles. But the amount of people who are in shape to start a band and who like The Beatles is constantly declining over time, until it reaches some floor when the people born before 1970 will be dead (~2050). There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-16, 21:32 in I have yet to have never seen it all.
|
Stirrer of Shit
Post: #509 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
Isn't a better long-term solution to rewrite all your links according to the Redirector addon's patterns, or some such, eliminating the entire class of issues? Personally, I just do the middle click -> click -> end -> select with mouse -> delete -> CTRL-A -> CTRL-X -> CTRL-V dance. Although it certainly isn't efficient. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-17, 01:25 in It's not a bug, it's a feature! (revision 1)
|
Stirrer of Shit
Post: #510 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
On my current system, I only have four gigabytes of RAM. As you might imagine, this causes all sorts of trouble when the RAM runs out. Since I don't use swap, it pages the applications in and out like crazy. This causes inputs to get processed extremely slowly, which in turn makes it impossible to kill processes. Since the memory isn't _technically_ exhausted, the OOM killer doesn't trigger. One day, I got fed-up with this order of things and downloaded earlyoom. When your free RAM drops below 10%, it kills a big process at random. You might point out this is dreadful, since it can close your Firefox with 20 tabs without any warning. But on the flip side, it also closes your Firefox with 20 tabs without any warning. This solves the whole tab explosion problem, and makes you a lot more wary about opening links you don't need to read. Overall, it's been a great boon to my productivity, even though it's an ugly hack fixing an ugly hack fixing an ugly hack fixing a configuration that should not exist and could be trivially fixed by just going out and buying more RAM. So what's your stories of horribly broken bugs turning into features? There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-17, 11:30 in I have yet to have never seen it all.
|
Stirrer of Shit
Post: #511 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
Posted by Nicholas Steel Can't you just click on it and then copy the URL, I mean? There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-17, 11:33 in Leaked Super Mario 64 Decompiled Source
|
Stirrer of Shit
Post: #512 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
Posted by wareya Surely, input prediction consists of predicting inputs? My reading of the Wikipedia page is that you apply the local player's inputs to the game, and then make some shit up for the other players. >The process of client-side prediction refers to having the client locally react to user input before the server has acknowledged the input and updated the game state.[1] So, instead of the client only sending control input to the server and waiting for an updated game state in return, the client also, in parallel with this, predicts the game state locally, and gives the user feedback without awaiting an updated game state from the server. Are you saying the prediction has to assume everyone else stays still? There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-17, 13:00 in I have yet to have never seen it all.
|
Stirrer of Shit
Post: #513 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
Click on it as in follow. That is, open in new tab if you're using the context menu. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-17, 14:42 in I have yet to have never seen it all.
|
Stirrer of Shit
Post: #514 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
...he said, while using Youtube. Personally, I just use Tor Browser with scripts on. Solves all these issues and then some. Never have to worry about tracking, never have to worry about getting fined. Speed is, contrary to popular belief, good enough for all practical purposes. The downside is no ad blocker, of course. But my point anyway was that it'd be more productive to rewrite all such links in the page, rather than either rewriting only Youtube's outbound links or only locally redirecting all such links. For instance, Google does the same thing for their search results. And I think there's an addon which fixes the redirects (e.g. like Redirector, but with a default list like (Ad|u)Block). But I don't think there's any addons which rewrite the URLs in situ. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-17, 14:44 in It's not a bug, it's a feature!
|
Stirrer of Shit
Post: #515 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
You joke, but it exists. (Enabling swap isn't recommended on SSDs, and I could just head down to the store and buy $50 of RAM instead of messing around with partitions) There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-17, 19:41 in It's not a bug, it's a feature!
|
Stirrer of Shit
Post: #516 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
To where they're stored on the disk. These are applications, so its layout in RAM can be perfectly reconstructed from the executable. The issue occurs when someone wants to use that library but the OS gave away its physical RAM. Then it has to tell another library to piss off back into the hard drive so the first library can get loaded. Then the second library needs to get used... Imagine a bunch of executable files playing musical chairs, that's the general gist of it. Dude, just enable the goddamned swap. ... Unless you're using noname Chinaware junk with bottom-of-the-barrel flash ICs that were rejected for a reason, your average SSD will be able to stand a few petabytes of writes before giving up the ghost Can't it reach those numbers if you swap stuff in and out rapidly though? Eh, I'd rather not play the partition game. That stuff makes me sweat bullets, honestly. The whole point of the thread was that the setup fixes a whole unrelated issue through a very ugly method, so then I'd get those problems back. And also, whenever it does hit swap it tends to make everything sluggish just the same, so I'm not even sure the gains are that big. Then I could just enable the OOM-killer sysrq command and call it a day without having to mess around with partitions. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-17, 20:52 in Leaked Super Mario 64 Decompiled Source
|
Stirrer of Shit
Post: #517 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
YMMV. Smartphone keyboards are okay and I can type almost as fast on them as on a computer, if with a bit more typos. With T9 I type about as fast as in the picture. Taking much resources? Not really, no. It's a function of the latency and the prediction algorithm. Just assuming the player sends the same input as last frame is probably good enough, and that can't take more than a handful of cycles. For "real" algorithms, they tend to be rather expensive to train but decently fast to run. A SVM is basically just linear regression, but it can apply kernels to the result to pretend it isn't, just like how Excel doesn't actually do exponential regression but instead does linear regression on log(y) and then transforms the result. So I would think they're also fast enough for all practical purposes. The real pain is the simulation. The higher ping you have, the more frames you need to roll back each time you get an update. So with 100 ms (50 ms one-way), you need to roll back 1-2 frames, which means you need to do about 2-3x more emulation. Of course, you can skimp out on the graphics for the intermediate frames and do various other dodgy tricks, but it's still more work. The only way around this is to only simulate your part whenever you have the opposing player's inputs too, like Kademlia does. Then you get input lag of half your ping on top of whatever lag you already have, which isn't very pleasant. And arguably, that has worse failure modes under extreme conditions (100ms input lag is unplayable or at least gives you nausea) than rollback+prediction (CPU use is linear to latency, players might "jump" into position if we mispredicted them by too much). Under good conditions, literally anything is fine, of course. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-17, 20:57 in Leaked Super Mario 64 Decompiled Source
|
Stirrer of Shit
Post: #518 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
Oh, and as for N64's graphics APIs: supposedly, they map very well to the archaic Glide API, which in turn has shims for OpenGL and friends. So that could very well be a way to go at it. On the other hand, then you get 2+ layers of stacked shims, so that could have all sorts of problems. Depending on how the game is written, it might not be too much work to tear out the rendering code at a higher level than the straight API calls, depending on how much abstraction the original codebase used. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-17, 21:03 in It's not a bug, it's a feature!
|
Stirrer of Shit
Post: #519 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
They don't get swapped out, but the static code/data segments do. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |
sureanem |
Posted on 19-07-17, 21:09 in I have yet to have never seen it all.
|
Stirrer of Shit
Post: #520 of 717 Since: 01-26-19 Last post: 1763 days Last view: 1761 days |
OK, that rewrites them in situ, but only for Google (and Yandex). But is there such an add-on that does this for every site? I mean, then that fixes the whole URL tracking issue without having to put in a new Greasemonkey script for each site. Just load the list and go. Or ideally, have someone else compile the list for you and do nothing. There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this. |