• 3 Posts
  • 94 Comments
Joined 1 year ago
cake
Cake day: June 13th, 2023

help-circle
  • All those folks in the 50+ age group that grew up with “Russia is enemy #1” are probably cycling through waves of intense work and prolonged orgasm.

    I wouldn’t be surprised if one of the first things considered in strategizing any armed conflict is whether they want Russia and China to know that we have X or are capable of Y. Russia has shown their hand. If they could do more, they would have by now.

    It has also taught NATO that Russia is still in the barbaric tactics mindset. Hospitals, schools, churches, shipping centers - they’re all valid targets. If Russia wants a position, they’ll level the entire town. That certainly changes the plans, of anyone thought they would abode by the Geneva Conventions.





  • That’s a pretty good list. I have a few differences in how I look at lists like this, though.

    I generally lump major series together, unless there’s a real standout entry or a long series. So I agree with having just Star Trek 2 in it, but think Star Wars 4 and 5 should occupy 1 spot and include ROTJ. For cases like Terminator, where there are a ton of crap movies, I’d put the original and 2 in a single slot.

    There are a bunch of classic movies missing, too. Soylent Green, Invasion of the Body Snatchers, Forbidden Planet, Metropolis, etc. Personally, I’d have Dark City, The Last Starfighter, Short Circuit, maybe Iron Man, Black Panther, or Age of Ultron (some Marvel entry). A nod to anime should also be in there, even if it’s just Akira. Others I’d might have in there if I ever sat down to rank these things in order: Total Recall, The Running Man, The Lawnmower Man, Cube, THX 1138, The Fly, MiB, Mad Max, The Thing, Close Encounters

    Probably not making the list, but noteworthy conceptually: Minority Report, Johnny Mnemonic, Contact, Children of Men, Contact, Donnie Darko, Looper,

    If they want to include movies that were great within their times or some specific context, the original animated Transformers was a crazy, but noteworthy departure from the franchise’s previous media. Galaxy Quest and Space Balls aren’t philosophical masterpieces, but definitely high on my list.

    For kid friendly stuff, Batteries Not Included, Space Camp, Flight of the Navigator, and E.T.


  • Generally, if someone’s being a total asshole so severely that they have to be yeeted with several thousand other unaware bystanders, I expect to see a bunch of examples within the first… 2, maybe 3, links.

    If someone can point me to a concise list of examples (actual data), I find it more disturbing that an admin on another server can yeet my account because they make noise on a discord server.I mean, yes, federating is a feature, but why even offer the ability to enroll users? Maybe for a group of friends, or something, but just rando users is nothing but a liability to everyone involved.




  • I almost thought I had written your comment and completely forgot about it. No, I just almost made the exact comment and want that hour of my life back.

    If there was some over the top racist rant, I sure didn’t see it. And the admin pushing for the defederation sounds so bizarre. Bizarre is the best word I could come up with because “petty” makes me think it was like high school politics. This is closer to a grade school sandbox argument.

    The worst I saw was “defedfags” and it was used in a way that was meant to highlight how they never said anything offensive. Like saying, “If you thought what I said before was offensive, let’s see how you respond to something intended to be negative.”

    The crazy thing is that the decision is being made because the admin just liked a post. It’s not even because of the post content - which has nothing controversial and appeared maybe 8 times in my Lemmy/kbin feed yesterday.

    Editing to add that this is the article: https://kbin.social/search?q=wakeup+call




  • At first glance, I probably thought JXL was another attempt at JPEG2000 by a few bitter devs, so I had ignored it.

    Yeah, my examples/description was more intended to be conceptual for folks that may not have dealt with the nitty gritty. Just mental exercises. I’ve only done a small bit of image analysis, so I have a general understanding of what’s possible, but I’m sure there are folks here (like you) that can waaay outclass me on details.

    These intermediate-to-deep dives are very interesting. Not usually my cup of tea, but this does seem big. Thanks for the info.


  • (fair warning - I go a little overboard on the examples. Sorry for the length.)

    No idea on the details, but apparently it’s more efficient for multithreaded reading/writing.

    I guess that you could have a few threads reading the file data at once into memory. While one CPU core reads the first 50% of the file, and second can be reading in the second 50% (though I’m sure it’s not actually like that, but as a general example). Image compression usually works some form of averaging over an area, so figuring out ways to chop the area up, such that those patches can load cleanly without data from the adjoining patches is probably tricky.

    I found this semi-visual explanation with a quick google. The image in 3.4 is kinda what I’m talking about. In the end you need equally sized pixels, but during compression, you’re kinda stretching out the values and/or mapping of values to pixels.

    Not an actual example, but highlights some of the problems when trying to do simultaneous operations…

    Instead of pixels 1, 2, 3, 4 being colors 1.1, 1.2, 1.3, 1.4, you apply a function that assigns the colors 1.1, 1.25, 1.25, 1.4. You now only need to store the values 1.1, 1.25, 1.4 (along with location). A 25% reduction in color data. If you wanted to cut that sequence in half for 2 CPUs with separate memory blocks to read at once, you lose some of that optimization. Now CPU1 and CPU2 need color 1.25, so it’s duplicated. Not a big deal in this example, but these bundles of values can span many pixels and intersect with other bundles (like color channels - blue can be most efficiently read in 3 pixels wide chunks, green 2 pixel wide chunks, and red 10 pixel wide chunks). Now where do you chop those pixels up for the two CPUs? Well, we can use our “average 2 middle values in 4 pixel blocks” approach, but we’re leaving a lot of performance on the table with empty or useless values. So, we can treat each of those basic color values as independent layers.

    But, now that we don’t care how they line up, how do we display a partially downloaded image? The easiest way is to not show anything until the full image is loaded. Nothing nothing nothing Tada!

    Or we can say we’ll wait at the end of every horizontal line for the values to fill in, display that line, then start processing the next. This is the old waiting for the picture to slowly load in 1 line at a time cliche. Makes sense from a human interpretation perspective.

    But, what if we take 2D chunks and progressively fill in sub-chunks? If every pixel is a different color, it doesn’t help, but what about a landscape photo?

    First values in the file: Top half is blue, bottom green. 2 operations and you can display that. The next values divide the halves in half each. If it’s a perfect blue sky (ignoring the horizon line), you’re done and the user can see the result immediately. The bottom half will have its values refined as more data is read, and after a few cycles the user will be able to see that there’s a (currently pixelated) stream right up the middle and some brownish plant on the right, etc. That’s the image loading in blurry and appearing to focus in cliche.

    All that is to say, if we can do that 2D chunk method for an 8k image, maybe we don’t need to wait until the 8k resolution is loaded if we need smaller images for a set. Maybe we can stop reading the file once we have a 1024x1024 pixel grid. We can have 1 high res image of a stoplight, but treat is as any resolution less than the native high res, thanks to the progressive loading.

    So, like I said, this is a general example of the types of conditions and compromises. In reality, almost no one deals with the files on this level. A few smart folks write libraries to handle the basic functions and everyone else just calls those libraries in their paint, or whatever, program.

    Oh, that was long. Um, sorry? haha. Hope that made sense!


  • Oh, I’ve just been toying around with Stable Diffusion and some general ML tidbits. I was just thinking from a practical point of view. From what I read, it sounds like the files are smaller at the same quality, require the same or less processor load (maybe), are tuned for parallel I/O, can be encoded and decoded faster (and there being less difference in performance between the two), and supports progressive loading. I’m kinda waiting for the catch, but haven’t seen any major downsides, besides less optimal performance for very low resolution images.

    I don’t know how they ingest the image data, but I would assume they’d be constantly building sets, rather than keeping lots of subsets, if just for the space savings of de-duplication.

    (I kinda ramble below, but you’ll get the idea.)

    Mixing and matching the speed/efficiency and storage improvement could mean a whole bunch of improvements. I/O is always an annoyance in any large set analysis. With JPEG XL, there’s less storage needed (duh), more images in RAM at once, faster transfer to and from disc, fewer cycles wasted on waiting for I/O in general, the ability to store more intermediate datasets and more descriptive models, easier to archive the raw photo sets (which might be a big deal with all the legal issues popping up), etc. You want to cram a lot of data into memory, since the GPU will be performing lots of operations in parallel. Accessing the I/O bus must be one of the larger time sinks and CPU load becomes a concern just for moving data around.

    I also wonder if the support for progressive loading might be useful for more efficient, low resolution variants of high resolution models. Just store one set of high res images and load them in progressive steps to make smaller data sets. Like, say you have a bunch of 8k images, but you only want to make a website banner based on the model from those 8k res images. I wonder if it’s possible to use the the progressive loading support to halt reading in the images at 1k. Lower resolution = less model data = smaller datasets to store or transfer. Basically skipping the downsampling.

    Any time I see a big feature jump, like better file size, I assume the trade off in another feature negates at least half the benefit. It’s pretty rare, from what I’ve seen, to have improvements on all fronts.




  • I’m sure it’s a fine service, if you want to use it regularly, but I just wanted 1 tiny thing. If they had a $1 for an obit or a page deal, sure. Instead, there’s this whole microcosm of bullshit where some are archived, others available, some omitted from public collections, some on different 3rd party sites, etc.

    The family paid for an obit. It wasn’t in the 1800s. The paper has been digitized. I should be able to go to the paper with the name, exact date, and city and find it. They literally say it doesn’t exist. Not that it’s on our archive site or our partner site, just nothing.

    I would have thrown a couple bucks to any of the sites for access, but no, I need to sign up for a subscription, give them all my details, get spam calls for the next 100 years, just no. Super frustrating.



  • I really like the all screen infotainment idea, but the implementation is always shitty. Part is because they still won’t fully commit to the strengths of the interface, and part is cost. Well, screens are much cheaper now. No need to settle for a 5 inch shit tier TN panel. I want a big, honkin, high contrast, ambient light modulated brightness screen with a minimal set of buttons to switch the interface between tasks.

    Personally, I HATE every dial system I’ve ever used and miss my old Prius’s touch screen. It had nice, big on-screen buttons and almost all functionality duplicated through the steering wheel. Instead of hitting a button 20 times or spinning a dial 2.24123 rotations to select the option I wanted, it was 2 taps. No rubberbanding around my intended selection or trying to compensate for whatever acceleration algorithm they used.

    Right now, I have a trackpad on the center console and I hate it. The acceleration is bizarre. It snaps the some elements, but seems to not like others. It miss clicks because I bump it or something partially rests on it. Every time I use it, I have to get a feel for where I’m touching it - am I off in a corner, on the edge, in the middle.

    Simply adding some dynamic buttons like a Streamdeck (little screens on each button) would solve many of the problems. Have the function and image change with the domain you’re customizing (Audio, AC, etc.). After that, allow more customization of the elements within each domain. Maybe some of them need to step up their steering wheel buttons game.

    There’s also the subtle muscle memory advantage to screens. Screen of buttons, you have to still look at the target, reach to the target, and activate the switch. In the case of dials, you have to performs a different action to undo an error. You never get to repeat the proper initial action - turning to the right selection based on feedback of success. With touch controls, most errors either resolve by repeating the motion you intended correctly, or moving back a screen/reverting an element and repeating the intended motion.

    I think many people assume that the tactile feedback of running your fingers over the buttons matters. In reality, I don’t see many people do that. The feedback of a selection or click is nice, but by now everyone’s had gummy keyboards, cheap electronics, and a bunch of different button-covered devices. That click confirmation isn’t anywhere near as reliable as audio cues. Hell, there can be 10 different types of buttons in the car with varying resistances and actuation distances.

    Oh, and I’d like to se a study testing if the presence of constant, slow animations are less distracting that static images for consoles. I think a large part of the distraction is how sudden things can change on a screen. Like loading the next music track changes the time marker, the album art, etc. It you become accustomed to perceiving motion in that location, it may reduce the urge to orient to sudden changes.

    Anyhoo, I’m rambling. Sleepy time for me.