[–] 1 point 1 week ago

And yet many Chromium forks are following suit and disabling Manifest v2 support. The idea that these things "don't need support" is silly when we're talking about the Herculean effort of maintaining a browser. Yes, anyone can but when the vast majority of browsers are Chromium forks instead of individually created and maintained ones, how much effort do you think those organizations have?

It's good that browsers like Brave have an alternative means of ad blocking, and Firefox even has Brave's exact same blocker built in now, but the idea that "you can just fork and block" is missing the point.

Google has effectively won. They are the de facto controller of web standards now that the majority of browsers use Chromium. When they began dropping support for Manifest v2 in 2019 it was the same year they said ad blockers were a major threat to their revenue in their publicly filed shareholder statements. This isn't some conspiracy theory either, you can literally go look that up. They dropped v2 because ad blocking was too powerful and gutted it in v3. They know that the ecosystem of browser forks they helped create depends on their dev effort and won't keep v2.

Even if v2 and ad blocking stay around, people still need to get the fuck off of Chromium. It's ads today, but could be something else tomorrow. The problem is Google getting to easily control what like >80% of browsers see and do all because they control Chromium. Even if Google was suddenly like "you know what, we're turning v2 back on," I'd still be practically begging everyone to stay the fuck off of Chromium and get into something Firefox based. This is about so much more than just ads.

  • source
  • parent
  • context
  • [–] 3 points 1 week ago* (last edited 1 week ago) (1 child)

    I have a few, I'm sure, but the one that comes to mind is my hatred of PDFs. Or, I suppose more accurately, the things people choose to use PDFs for. If something is not primarily meant to be printed, then a PDF is a suboar choice to something like HTML. Worse, virtually EVERY place you're getting a PDF from is already a website so they already have the ability to give you HTML.

    You can create a single HTML file, embedding all images, CSS, JavaScript, etc. directly into the file. Then you can open it in your browser. It works. It's easier to read too, unless you want to print it. I would argue that in the vast majority of cases they actually aren't being printed. And get this, you can actually print HTML files too, ya know. So PDF is really only better if you need to print something with a very specific and strict layout, like a brochure or something.

    "But Jackby, I use PDFs and I love printing them"

    Okay, that's fine, I just think you're the exception. I think most people open them in browser or some PDF viewer and never print them ever.

    My favorite response to this opinion was someone telling me that having all the CSS and JS in one file makes it load slower. Like uh, off my computer? Because I'm talking about distributing the file itself, not hosting it on a website. I think web folks just latch onto best practices for the web.

  • source
  • [–] 1 point 1 week ago

    I'll plug meshtastic and ham radio, then. Meshtastic (at least in the US, no idea about other places) is legal to do without any sort of license. It's a peer to peer messaging service basically. So imagine like a walkie talkie that sends texts. Ham Radio needs a license but blows the doors open on the types of stuff you can do.

  • source
  • parent
  • context
  •  

    Link to a (frustratingly) deleted question on Stack Overflow. Text and image copied below incase you don't have the ability to see it. (Not sure why the image shows multiple times.)


    Is there any way to more granularly control IntelliJ IDEA's inspections' "Nullability and data flow problems" option "Treat non-annotated members and parameters as @Nullable"? Preferably for unboxing specifically?

    I am aware I can use a variety of @Nullable annotations in a variety of places in the code to make the warnings appear. That's not always an option as the place the boxed primitives are coming from may be other libraries you don't have control over. (Imagine if the Holder record below was from a different project.) I included other examples below to illustrate my point.

    public class Sample {
    
        private final Boolean value;
    
        public Sample(Boolean value) {
            this.value = value;
        }
    
        private boolean isValue() {
            return value; // I would like a warning here
        }
    
        private static Boolean boxedTrue() {
            return true;
        }
    
        private static boolean unboxedTrue() {
            return boxedTrue(); // No warning here, but that's understandable since never null
        }
    
        private static Boolean boxedNull() {
            return null;
        }
        
        private static boolean unboxedNull() {
            return boxedNull(); // Only warning in the file (by default)
            // "Unboxing of 'boxedNull()' may produce 'NullPointerException'
        }
    
        public record Holder(Boolean value) {}
    
        public boolean openHolder(Holder holder) {
            return holder.value(); // I would like a warning here
        }
    }
    

    When "Treat non-annotated members and parameters as @Nullable" is enabled, the following gives warnings. While that makes sense given the name of the option, there is code like this literally everywhere. It adds hundreds of warnings to my project. I'm trying to find more granular choices.

        public static ZonedDateTime timeStuff(LocalDateTime localDateTime, ZoneId zoneId) {
            return localDateTime.atZone(zoneId); // I do not want warnings for this
        }
    

    I see that the Java Class Library has JetBrains annotations despite not actually being annotated. Is there perhaps some way to add these automatically to libraries if there is no better way to control the inspection?

    Showing @NotNull and @Contract annotations on LocalDateTime.atZone(ZoneId)

    Barbie (programming.dev)
     

    If you'd told me five years ago that there would be a Barbie movie that somehow was not only just not a cash grab or nostalgia bait but also a genuinely amazing piece of cinema with an amazing message to boot I'd never believe you.

     

    Opening your router to the Internet is risky. Are there any guides for the basics to keep things secure? Things like setting up fail2ban? My concern is that I'll forget something obvious.

    Edit: I haven't had much of a chance to read through everything yet, but I really appreciate all these long, detailed responses. ❤️ Thanks folks!

     

    This part of this blog post has always made me happy and I come back it from time to time. This is regarding the scene in Tron Legacy when one of the characters stops another from hacking. If you'd like to see the scene for context here it is. The time code is when the particular portion is. https://youtu.be/Qeh3E67brBs&t=231

    In addition to visual effects, I was asked to record myself using a unix terminal doing technologically feasible things. I took extra care in babysitting the elements through to final composite to ensure that the content would not be artistically altered beyond that feasibility. I take representing digital culture in film very seriously in lieu of having grown up in a world of very badly researched user interface greeble. I cringed during the part in Hackers (1995) when a screen saver with extruded "equations" is used to signify that the hacker has reached some sort of neural flow or ambiguous destination. I cringed for Swordfish and Jurassic Park as well. I cheered when Trinity in The Matrix used nmap and ssh (and so did you). Then I cringed again when I saw that inevitably, Hollywood had decided that nmap was the thing to use for all its hacker scenes (see Bourne Ultimatum, Die Hard 4, Girl with Dragon Tattoo, The Listening, 13: Game of Death, Battle Royale, Broken Saints, and on and on). In Tron, the hacker was not supposed to be snooping around on a network; he was supposed to kill a process. So we went with posix kill and also had him pipe ps into grep. I also ended up using emacs eshell to make the terminal more l33t. The team was delighted to see my emacs performance -- splitting the editor into nested panes and running different modes. I was tickled that I got emacs into a block buster movie. I actually do use emacs irl, and although I do not subscribe to alt.religion.emacs, I think that's all incredibly relevant to the world of Tron.

    submitted 2 years ago* (last edited 2 years ago) by to c/programmer_humor@programming.dev
     

    Literally. I open up my terminal and try to cd Desktop only to be told that no such file exists. I thought for sure everyone this was happening to was just not reading something correctly and were foolish. Nope! It literally began deleting my files.

    Edit 2: Even once it's done and you have them locally and not "on demand", the Desktop is in ~/OneDrive/Desktop instead of ~/Desktop. See this helpful comment.

    It looks like there might be a way to sort of disable Files on Demand but it looks like it won't let me do it until it's done uploading? I'll post updates.

    Not to be dramatic, but I'm really going through it. My mouse logitech mouse is suddenly chattering really bad and double clicking everything. Also while Steam refuses to let me disable auto updates for all games in any sort of easy way. And DDG seems intent on only showing me results related to launching games without updating (as opposed to merely disabling auto updates until I launch). The chatter fixer I found for my mouse does not work and the other requires some logitech program to even try to use. (The repo doesn't mention the name.) This is awful. When it rains it pours, I guess. Literally can't even high light this text to wrap it in a spoiler. This is fucking stupid.

    Context: My parents have a family plan for Microsoft 365 they added me too and it has 1 TB of storage I can use. I wouldn't have turned it on otherwise.


    Edit: My desktop background has literally vanished and turned solid black.

    DO NOT ENABLE ONE DRIVE.

     

    I have no idea how to title this post. Oh well.

    A few years back I worked somewhere that had a large breach. Many practices changed in the wake of it. Developers actually had admin access prior to the change which was very nice. In an effort to restrict access but also let folks do their jobs they deployed some tool that would start all programs that "needed" admin access as an admin. This included cmd for the devs. So every time I opened cmd I had to be careful not to break something since there was no way to launch it without admin access after that change.

    Sun Clock (sunclock.net)
     

    (I did not make this project.)

    I love this website. It helps me visualize time with regards to the sun very well. If I could get my FitBit to display this as a clock face I definitely would. It's such a beautifully simple site.

    I'm sharing it in honor of the solstice today. It's (roughly) solar noon on the east coast. I think I found this site on Reddit prior to the Lemmy Exodus, so I'd like to share it here for everyone to enjoy. Happy solstice. Happy summer (or winter for our friends in the southern hemisphere).

    Also, based on the community info panel I believe this is on topic here, but if there is a better community for "cool site I found" let me know. ❤️☀️

    view more: ‹ prev next ›