• 0 Posts
  • 214 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle
  • A game that was released last year has absolutely zero knowledge of this 8k PS5 so it’s not going to magically render at 8k or 40% improvement. Some might get a framerate bump if frame sync can be turned off - the game might have been GPU bound and therefore with a better GPU it yields a better framerate. Sometimes. And AI upscaling might give a pseudo > 4k effect but it’s not really true 8k.

    A handful of games might get patched to avail of the improved rendering capabilities when they detect PS5 Pro. Minimal stuff really. Maybe the config file will improve draw distance or turn on certain effects like raytraced shadows / reflections when it knows the console can handle it.

    Hardly seems worth the vast additional expense especially if somebody already owns a PS5 though. Moreso because Sony are trying to stiff people into buying the cheaper “digital” version which basically means any physical collection won’t work with it.






  • Spotify and other such services almost certainly sound worse because they are compressed. But it’s not really a like for like comparison with vinyl. Spotify is streaming audio for people who want to play music casually in cars, earbuds etc. It offers convenience, not perfect sound fidelity. FLAC / CD on the other hand could be compared to vinyl and would win hands down for better frequency and range. The only reason they wouldn’t is if the CD master sucked and the vinyl master didn’t.

    And vinyl is very lossy in its own way. The (digital) master of each side undergoes dynamic range & frequency compression to fit the limitations of the format (e.g. to reduce sibilance, track width). Then the master is cut into a lacquer disc from which a “father” is made, from which “mothers” are made, from which stampers are made and from which the vinyl record is made. So the vinyl in someone’s hand is a copy, of a copy, of a copy, of an altered digital master. The stamper too wears out so if someone is unlucky they get a pressing right the end of its life. And playing the disk can cause wow, flutter, distortion and general wear & tear can cause hiss, pop, dullness and scratches.

    So vinyl will never sound better unless it received a better master than other formats.



  • I had the misfortune to have some PLA snap just before and after the direct drive in my Bambu P1S and it took ages to get it out. I think age and moisture can affect filament, especially it blended with wood dust, sparkles or something which undermines it even further. I’ve resorted to packing my AMS with silica beads to hopefully mitigate for the issue and I threw out the filament that caused the issue. Ironically this is one of the few places a bowden extruder is any benefit - if the filament snaps just push it from behind through a heated nozzle until the blockage clears.




  • I once developed an electronic program guide for a cable TV company in New Zealand and I’d lose my mind if I had to use timezones. The basic rule of thumb was:

    a) Internally you use UTC religiously. UTC is the same everywhere on Earth, time always goes forward, most languages have classes that represent instants, durations etc. In addition you make damned sure your server time is correct and UTC.

    b) You only deal with timezones when presenting something to a user or taking input from a user

    Prior to that I had worked for a US trading company that set all their servers to EST and was receiving trades through the system which expressed time & date ambiguously. Just had to assume everywhere that EST was the default but it was just dumb programming and I bet to this day every piece of code they develop has time bugs.


  • arc@lemm.eetoMemes@lemmy.mlEven paper glows
    link
    fedilink
    arrow-up
    61
    arrow-down
    1
    ·
    6 months ago

    The EFF has some info about the practice - https://www.eff.org/pages/list-printers-which-do-or-do-not-display-tracking-dots.

    I imagine there are ways and means of obfuscating / anonymizing the dots such as blocking the printer from emitting them (e.g. an empty yellow cartridge that the printer perceives as full), modifying the firmware, using a burner printer, or using a mono laser jet.

    As a side issue, most modern bank notes have a bunch of yellow circles integrated into the design on each side. They look random but they’re in a recognisable pattern called a constellation that enables devices like copiers / scanners to recognize when people are trying to copy money or other financial instruments like checks.


  • Rust isn’t really OOP like C#, Java or C++ - it has structs with functions that you could consider an “object” but there is no inheritance. Instead Rust uses traits which are a little bit like interfaces in some languages.

    The way the kernel is using Rust at the moment is to produce safe bindings for modules to be written in Rust, i.e. you can create a module in Rust source which will be correctly loaded up, the code is safe by default and will have access to kernel services via bindings. I expect over time that more of the kernel will become Rust, but the biggest impediment right now is Rust relies on LLVM and LLVM only supports a subset of targets that a kernel could potentially support with another compiler like gcc.



  • arc@lemm.eetoProgrammer Humor@programming.devIs this a Nut?
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    6 months ago

    The only reason people use JS is because it’s the defacto language of browsers. As a language it’s dogshit filled with all kinds of unpleasant traps.

    Here is a fun one I discovered the other day:

    new Date('2022-10-9').toUTCString() === 'Sat, 08 Oct 2022 23:00:00 GMT'
    new Date('2022-10-09').toUTCString() === 'Sun, 09 Oct 2022 00:00:00 GMT'
    

    So padding a day of the month with a 0 or not changes the result by 1 hour. Every browser does the same so I assume this is a legacy thing. It’s supposed to be padded but any sane language would throw an exception if it was malformed. Not JavaScript.




  • Yuzu gave them the opening to sue though. If they had been more circumspect - “Oh this is to develop homebrew / indie games nudge nudge” then maybe Nintendo wouldn’t have unleashed the lawyers or done so ineffectively. After all it wouldn’t be Yuzu’s fault if some wicked website corrupted their pure intentions by releasing device keys or patches that allowed their emulator run commercial games. But they were more blatant than that.

    Also from an empathic perspective, of course Nintendo were going to sue. Yuzu should have known they would since that’s what console platforms do when something interferes with their profits. Yuzu is doubly bad since it interferes with hardware sales and game sales unlike custom firmware / cartridges which only affect game sales.

    Of course the genie is already out of the bottle. Yuzu’s source code and binaries were on github for anyone to clone / fork. All the games are out in the wild. The piracy will carry on. I think it’s fair to say the NSP is effectively dead as a platform at this point. If a NSP2 turns up this year, as rumored, then I expect it will have revised anti-piracy measures and potentially a heavy online service aspect to go with it - it’s far easier to detect pirates and wield the banhammer when a device is online.


  • The problem is, that most languages have no native support other than 32 or 64 bit floats and some representations on the wire don’t either. And most underlying processors don’t have arbitrary precision support either.

    So either you choose speed and sacrifice precision, or you choose precision and sacrifice speed. The architecture might not support arbitrary precision but most languages have a bignum/bigdecimal library that will do it more slowly. It might be necessary to marshal or store those values in databases or over the wire in whatever hacky way necessary (e.g. encapsulating values in a string).


  • We had tens of thousands of lines in our rake files to build a bunch of targets, none of which were even Ruby. I think if I needed to build another complex build system that was a directed acyclic graph I think I’d use Gradle, for a several reasons - we had some Java targets so we save on an additional developer runtime, it would run faster & Gradle is more mainstream and easy to get various plugins & documentation for.