• 0 Posts
  • 364 Comments
Joined 2 years ago
cake
Cake day: July 4th, 2023

help-circle

  • i was born in a country with a military dictatorship who used to disappear people. just because the country is going to hell doesn’t mean you can’t carve out a meaningful life for yourself in the chaos. and living in a dystopian version of the US is probably still better than living in a dystopian version of a 3rd world country

    then history has a very important lesson to teach you.

    at no point in US history has the US been at war with a neighboring country over a trade war escalation and instituted a draft as a result of that war

    any future war is going to be versus China and we’ve probably got at least a few years before that comes to fruition.

    we’re in the years leading up to WW3. think of it like the early 1930s. if you look at history, everywhere sucked. i’d rather be in a 1st world country when the bombs go off rather than a 3rd world country where i’m liable to starve due to mass famines



  • Sometimes I feel like I was the only one who remembered that this is what it was like the last time he was in office

    I feel like it’s worse this time. Darker. We didn’t have the Ukraine or Israeli war. We didn’t have perverse AI videos like the Gaza video with a giant golden Trump statue.

    2016 was the rise of Trump. Right now we are in the age of Trump. Trump is steadily increasing his power and I believe fairly soon he will be able to more or less unilaterally control the federal government as he continues his purges.


  • just means they are in bed with Nazis

    Fascism is always the best business decision. This is the inevitable result of capitalism. The institutions on a good decade are strong and resilient. Oligarchy, yes, but still a more or less free society.

    Eventually though, there will be a series of crisis in succession that causes the establishment to weaken just enough for a strongman to slip in and take the reigns. In the 20th century it was the fallout from WW1 and the Great Depression. In our time it was COVID and the Ukraine + Israeli wars (and to some extent, 2008 housing crisis)

    One key part of fascism is that it is almost paradoxical

    a) A populist-driven ideology, which means it appeals to the lowest common denominator

    b) An elitist-driven ideology, which means it idolizes and puts value in the elites of a society

    What ends up happening is the state picks and chooses elite groups of people who end up running the show. So for example, if you are Zuckerberg or Musk or Bezos… you know that if you play nice with Trump that he will reward you and you will have certain advantages by having a friend in an authoritarian government. You also know that if you don’t play nice with Trump, he will try and hurt you using both legal and illegal mechanisms.

    Therefore, the best investment you could make is aligning yourself with the fascist state.

    This was always going to happen. Sort of like how humans eventually will catch a cold or develop cancer. The immune system on a good day is strong enough to repel these types of problems. But eventually, you will be under some stress for one reason or another and your immune system is not enough to stop the inevitable cold or what have you.



  • i don’t think it’s so simple as they worship power. i think there’s a very strong inbuilt desire to belong to an “in-group” when you feel insecure and vulnerable

    and if unchecked neoliberal capitalism has done anything over the last half century, it’s made average americans feel insecure. financially and emotionally

    so sort of the same reason there’s race-based prison gangs is the same reason fascism tends to flare up when the system is going through severe stress. just like when your immune system is weak and the herpes virus manages to break out. we always have fascism possible yet most of the time the immune system is strong enough.

    2008 + covid + ukraine + more have left us vulnerable



  • not claiming private organizations don’t have to the right to regulate speech on their platforms. was responding to statement

    I understand why there are exceptions for those in positions of power, but I’d be more than happy to live in a world where there weren’t.

    which to me implies some sort of state censorship on this type of material

    Really, I just wanted to understand the rationale behind the desire to ban this type of material.

    On the topic of Judge Roberts, on a similar although different legal issue

    He wrote the Court’s opinion in United States v. Stevens (2010), invalidating a federal law that criminalized the creation or dissemination of images of animal cruelty. The government had argued that such images should be a new unprotected category of speech akin to child pornography. Roberts emphatically rejected that proposition, writing that the Court does not have “freewheeling authority to declare new categories of speech outside the scope of the First Amendment.” Roberts also wrote the Court’s opinion in Snyder v. Phelps (2011), ruling that the First Amendment prohibited the imposition of civil liability against the Westboro Baptist Church for their highly offensive picketing near the funeral of a slain serviceman.

    In oft-cited language, Roberts wrote:

    “Speech is powerful. It can stir people to action, move them to tears of both joy and sorrow, and — as it did here — inflict great pain. On the facts before us, we cannot react to that pain by punishing the speaker. As a Nation we have chosen a different course — to protect even hurtful speech on public issues to ensure that we do not stifle public debate. That choice requires that we shield Westboro from tort liability for its picketing in this case.”

    If Judge Roberts were to be consistent, and I make no such claims that he will ever be consistent, I believe he would likewise not support banning fake AI porn.



  • As shady as Mozilla is, they’re competing against a functional monopoly

    yeah this is a part we need to recognize. right now there are essentially three browsers. Chrome, Safari, and Firefox. Every other browser is some derivative of one of these- mostly Chromium.

    Google can change some small detail about how they render HTML or a small part of their JS engine and that has global effects all over the internet. Without a Firefox to compete, they will implement policies to hurt the consumer. People think just because Chromium is open source that this mitigates the risk.

    Google’s V8 javascript engine does not only power all Chrome and chrome-derivatives, it also powers nodeJS and therefore vast swathes of server-side javascript as well.

    it’s actually difficult to understate how much raw power Google has in determining what you see on the internet and how you see it

    we desperately need Firefox. I really hope that an open source alternative could be viable but it’s been decades and we haven’t had a real browser pop into existence. will the death of Firefox mean something else comes out? Or will the death of Firefox be the last nail in the coffin for a free internet?


  • really it’s a cautionary tale about the intersections of different technologies. for example, csv going into a sql database and then querying that database from another language (whether it’s JS or C# or whatever)

    when i was 16 and in driver’s ed, I remember the day where the instructor told us that we were going to go drive on the highway. I told him I was worried because the highway sounds scary- everybody is going so fast. he told me something that for some weird reason stuck with me: the highway is one of the safest places to be because everybody is going straight in the same direction.

    the most dangerous places to be, and the data backs this up, are actually intersections. the points where different roads converge. why? well, it’s pretty intuitive. it’s where you have a lot of cars in close proximity. the more cars in a specific square footage the higher probability of a car hitting another car.

    that logic follows with software too. in a lot of ways devs are traffic engineers controlling the flow of data. that’s why, like you said, it’s up to the devs to catch these things early. intersections are the points where different technologies meet and all data flows through these technologies. it’s important to be extra careful at these points. like in the example i gave above…

    the difference between

    WITH (FORMAT csv, HEADER true);
    

    and

    WITH (FORMAT csv, HEADER true, NULL '');
    

    could be the difference between one guy living a normal life and another guy receiving thousands of speeding tickets https://www.wired.com/story/null-license-plate-landed-one-hacker-ticket-hell/


  • How do devs make this mistake

    it can happen many different ways if you’re not explicitly watching out for these types of things

    example let’s say you have a csv file with a bunch of names

    id, last_name
    1, schaffer
    2, thornton
    3, NULL
    4, smith
    5, "NULL"
    

    if you use the following to import into postgres

    COPY user_data (id, last_name)
    FROM '/path/to/data.csv'
    WITH (FORMAT csv, HEADER true);
    

    number 5 will be imported as a string “NULL” but number 3 will be imported as a NULL value. of course, this is why you sanitize the data (GIGO) but I can imagine this happening countless times at companies all over the country

    there are easy fixes if you’re paying attention

    COPY user_data (id, last_name)
    FROM '/path/to/data.csv'
    WITH (FORMAT csv, HEADER true, NULL '');
    

    sets the empty string to NULL value.


    example with js

    fetch('/api/user/1')
      .then(response => response.json())
      .then(data => {
        if (data.lastName == "null") {
          console.log("No last name found");
        } else {
          console.log("Last name is:", data.lastName);
        }
      });
    

    if data is

    data = {
      id: 5,
      lastName: "null"
    };
    

    then the if statement will trigger- as if there was no last name. that’s why you gotta know the language you’re using and the potential pitfalls

    now you may ask – why not just do

    if (data.lastName === null)
    

    instead? But what if the system you’re working on uses JSON.parse(data) and that auto-converts everything to a string? it’s a very natural move to check for the string "null"

    obviously if you’re paying attention and understand the pitfalls of certain languages (like javascript’s type coercion and the particularities of JSON.parse()) it becomes easy but it’s something that is honestly very easy to overlook


  • The devs have the same kind of “we know better than you do” mentality towards design

    It’s not “we know better than you do”

    It’s “we have a vision for the desktop environment”

    If you granted the user every little thing they wanted, you don’t become a better piece of software. You end up middle of the road. There are limited resources and by keeping a limited scope and having a clear idea of what you want to accomplish- you can do what you aim to do really well. Instead of being mediocre at a lot of things.

    My experience with Gnome- it does 95% of what I need a Desktop Environment to do (and certain things others don’t do very well). Some features like

    • Being able to push a button, start typing an application’s name, and push enter to start that application
    • Being able to push a button, and immediately see at a glance all of the windows I have open and quickly navigate to them
    • Being able to easily set keyboard hotkeys so that I launch applications and can run my own custom scripts with the push of a button

    Example- I have a script that I set to “Control+Num Pad 5” that opens up a Gnome folder search dialog. I navigate to a folder and click “Ok” and then 4 terminals open on my left monitor. Three small ones stacked on top of each other on the left, one big one on the right. Basically like a tiling window manager. This script has custom commands that run depending on the directory. If I open a react-native folder, it runs an Android emulator and neovim on the big terminal.

    Setting that script to a hotkey is as simple as going to “settings -> keyboard -> shortcuts” and just typing in the path to the script and the hotkey combination

    • Being able to easily run scripts on files and directories directly from Nautilus (Gnome’s file manager)

    Example- When I right click on a pdf file in Nautilus, I have custom scripts that I can run. One is “splitPdf” which creates a new folder called “split” and then creates n.pdf files where n is the number of pages in that pdf. I also have “compressPdf” which will compress the pdf as much as possible and pops up a notification showing you how much. I have one for .xlsx and .doc files called “printPdf” that converts those to pdf files.

    Those scripts can be whatever language you want, they just have to be executable, and you just drag and drop them into a specific folder ( ~/.local/share/nautilus/scripts if I remember correct)

    Those 4 things I think Gnome does better than any other default desktop environment I’ve ever used and I’ve used a lot over the course of my life. The remainder of the items (the 5% of stuff Gnome can’t do) I have found custom plugins and in one scenario it only took me a couple hours to write my own custom plugin.

    MacOS does #2 and #4 well by default (although it’s harder to write scripts with their clunky apple script language whereas with Gnome because you can just use regular old fish or bash scripts). With certain applications (like better-touch-tools or karabiner) you can get similar functionality as Gnome.

    Windows with Autohotkey does #3 although you have to again use a clunky language (even clunkier than Apple script)

    KDE can do #1 (search/launch apps), but feels slower and less streamlined than Gnome’s immediate overview. It does #2 (window overview) and #3 (keyboard shortcuts), but buries these features under layers of settings and inconsistent menus. For #4 (file manager scripts), Dolphin technically supports actions, but configuring them requires wrestling with clunky .desktop files whereas on Gnome you just use fish or bash or python or javascript or whatever the hell you want and stick it in a directory.

    In my opinion, Gnome is miles ahead of KDE and while it’s obviously not as polished as MacOS, it has accomplished so much more with its limited resources than a megacorp like Apple does.

    What I love is it gets rid of stuff that’s useless. For example desktop icons. What’s the point of having some directory on your computer that’s somehow different than all the other directories? So that you can clutter up your background?

    I 100% agree that desktop icons are an outdated concept and I love that Gnome got rid of them in order to focus on the fundamentals. It’s often not about what you add, but what you take away.


  • NP++ was good 20 years ago during a time with much weaker competition and it’s been coasting on that good will ever since

    It’s OK for a text editor (compared to something totally basic like notepad) but other text editors have caught up in every single category

    like you said, VS Code is now the default go to code editor for a lot of people. if you don’t use VS Code, you use vim.

    for non-coding uses, I don’t see the functional difference between NP++ or something basic like Gnome’s text editor






  • And also if you want books that can’t be altered buy a paper book

    The books on my 1st generation kindle have been there 15 years unchanged. Just don’t connect devices to the internet that don’t need to be connected to the internet.

    The “internet of things” that was sold to us is just a way for corporations to exert more control. I am pro-technology. I think an ebook reader is infinitely more useful and valuable than a paper book - I can fit tens of thousands of books on my Kindle, more than I could read in a lifetime, and a full charge lasts more than a month at a time.

    I can use whatever font I want, I can scale the size to what I want. I can change the margins, place bookmarks, gives a % of how far I am in a book, skip to chapters, etc.

    Like, it’s objectively better than a book.

    But it doesn’t need to be connected to the internet.