nothis's recent activity

  1. Comment on Tildes and multi-dimensional weighted votes in ~tildes

    nothis
    Link Parent
    Would be interesting how much those are used. They’re no longer displayed which makes sense but I tend to plain forget they exist (which might be partly because of the comment quality being pretty...

    Would be interesting how much those are used. They’re no longer displayed which makes sense but I tend to plain forget they exist (which might be partly because of the comment quality being pretty high on Tildes and most of them being negative — more positive labels beyond the somewhat extreme “exemplary” would be nice!).

    5 votes
  2. Comment on There is no “Linux” Platform in ~tech

    nothis
    (edited )
    Link
    It's okay that Linux is its own thing, aimed at tech enthusiasts who mostly want to work in terminals. But it's just a reality that, if there should ever be a serious (in terms of market share)...

    It's okay that Linux is its own thing, aimed at tech enthusiasts who mostly want to work in terminals. But it's just a reality that, if there should ever be a serious (in terms of market share) Windows and macOS alternative, Linux is our only chance. Nobody can force anybody to make it so but it's just how it is. I can understand excuses that ultimately argue that this isn't Linux' job or any specific distro's job. That is disappointing but fair and realistic. But the frustrating part is that I see people who genuinely are enthusiastic about the prospect of beefing up Linux as an open, mainstream alternative, who maybe even are willing to put in thousands of hours of work into the technical side of that but who get dismissive and defensive when it's pointed out that Linux, as a platform, absolutely sucks.

    It's great that an idealistic college student can set up an Ubuntu desktop for their parents and they "totally don't complain" but that's not enough. Linux has the equivalent of a multi-billion-dollar company's work put into it but even the most user friendly distros have an UI that’s wonky as hell and constantly breaks. Drivers are a nightmare. It is expected that, if you want to do anything more complex than open a browser (though sometimes even that!), you have to spend an afternoon reading poor documentation and vague forum posts to get it to work. Support from major hardware and software companies is poor, because of all of the above and more, which is a bit of vicious cycle but these companies have zero incentives to take the first step.

    So I think posts like this are an absolutely vital message to anyone still idealistic about Linux making a dent in the PC operating system market. But I can already hear the excuses.

    5 votes
  3. Comment on Tildes and multi-dimensional weighted votes in ~tildes

    nothis
    Link
    Love the theory but I doubt people would bother to read the manual. I generally agree that it's frustrating that nobody seems to bother to treat the "upvote" as a vote for quality, rather than...

    Love the theory but I doubt people would bother to read the manual.

    I generally agree that it's frustrating that nobody seems to bother to treat the "upvote" as a vote for quality, rather than opinion, amusement and whatnot. But adding further complication probably wouldn't make this any better.

    My armchair theory has long been that votes could be entirely replaced with tags that spell out what you're labeling the post as. Humorous, insightful, hateful, etc. I think Tildes treats some of the comment tags like votes? Or it was at least a plan? But generic votes likely still drown out any tags.

    11 votes
  4. Comment on CNN treats politics like a drama, and it's making us all less informed. in ~news

    nothis
    Link Parent
    I love that phrase. Explains so much that is wrong with politics.

    "politics as a sport"

    I love that phrase. Explains so much that is wrong with politics.

    5 votes
  5. Comment on Day 5: Sunny with a Chance of Asteroids in ~comp.advent_of_code

    nothis
    (edited )
    Link Parent
    No shit, this one was exhausting, you're basically programming a compiler, now? Had to read the instructions like 5 times to even make sense of them and they're long (not to mention build upon day...

    No shit, this one was exhausting, you're basically programming a compiler, now? Had to read the instructions like 5 times to even make sense of them and they're long (not to mention build upon day 02, so if you hadn't done that one yet, it's double the work). I spent way too long on the second star's final test sample before I remembered to check outputs for "immediate mode".

    Part 2
    const readline = require("readline-sync");
    
    const ops = input.split(",").map(numberString => parseInt(numberString));
    
    function runOps(ops) {
      let pos = 0;
      while (ops[pos] != 99) {
        // get opcode digits
        const op = getDigits(ops[pos]);
        const currentOp = op.pop();
        console.log(`### op "${currentOp}" at pos ${pos}`);
    
        // add
        if (currentOp === 1) {
          let [p1, p2] = getParameters(ops, op, pos);
          ops[ops[pos + 3]] = p1 + p2;
          pos += 4;
        }
    
        // multiply
        if (currentOp === 2) {
          let [p1, p2] = getParameters(ops, op, pos);
          ops[ops[pos + 3]] = p1 * p2;
          pos += 4;
        }
    
        // input
        if (currentOp === 3) {
          const consoleInput = parseInt(readline.question("Input: "));
          ops[ops[pos + 1]] = consoleInput;
          pos += 2;
        }
    
        // output
        if (currentOp === 4) {
          if (op.pop() === 0) {
            console.log(ops[ops[pos + 1]]);
          } else {
            console.log(ops[pos + 1]);
          }
          pos += 2;
        }
    
        // jump if not zero
        if (currentOp === 5) {
          let [p1, p2] = getParameters(ops, op, pos);
          if (p1 !== 0) {
            pos = p2;
          } else {
            pos += 3;
          }
        }
    
        // jump if zero
        if (currentOp === 6) {
          let [p1, p2] = getParameters(ops, op, pos);
          if (p1 === 0) {
            pos = p2;
          } else {
            pos += 3;
          }
        }
    
        // jump if less
        if (currentOp === 7) {
          let [p1, p2] = getParameters(ops, op, pos);
          if (p1 < p2) {
            ops[ops[pos + 3]] = 1;
          } else {
            ops[ops[pos + 3]] = 0;
          }
          pos += 4;
        }
    
        // jump if equal
        if (currentOp === 8) {
          let [p1, p2] = getParameters(ops, op, pos);
          if (p1 === p2) {
            ops[ops[pos + 3]] = 1;
          } else {
            ops[ops[pos + 3]] = 0;
          }
          pos += 4;
        }
      }
      return ops;
    }
    
    const getParameters = (ops, op, pos) => {
      let p1, p2;
      if (op.pop() === 0) {
        p1 = ops[ops[pos + 1]];
      } else {
        p1 = ops[pos + 1];
      }
      if (op.pop() === 0) {
        p2 = ops[ops[pos + 2]];
      } else {
        p2 = ops[pos + 2];
      }
    
      return [p1, p2];
    };
    
    const getDigits = number => {
      let digits = [];
    
      for (let d = 10000; d >= 10; d = d / 10) {
        if (d === 10) {
          digits.push(number);
          break;
        }
        let digit = Math.floor(number / d);
        digits.push(digit);
        number -= digit * d;
      }
    
      return digits;
    };
    
    runOps(ops);
    
    1 vote
  6. Comment on James Bond - No Time to Die trailer in ~movies

    nothis
    Link Parent
    I don't mind negativity on the internet if it's even vaguely constructive. Honestly, with the Daniel Craig Bonds, the main complaint I've seen is basically that the Bond franchise shouldn't really...

    I don't mind negativity on the internet if it's even vaguely constructive. Honestly, with the Daniel Craig Bonds, the main complaint I've seen is basically that the Bond franchise shouldn't really exist anymore. Other than that, it's hard to argue against Skyfall being maybe the best Bond ever made, for example. It's a bit hit and miss but overall, it's a great time for the franchise!

  7. Comment on Alien Isolation Switch Review: Image Quality Is Better Than PS4! in ~games

    nothis
    Link
    This might have just become the most impressive Switch port yet. It's honestly quite astonishing. The anti-aliasing they're using (together with overall high resolution) is so damn perfect, I hope...

    This might have just become the most impressive Switch port yet. It's honestly quite astonishing. The anti-aliasing they're using (together with overall high resolution) is so damn perfect, I hope this will become a new standard.

    6 votes
  8. Comment on James Bond - No Time to Die trailer in ~movies

    nothis
    Link Parent
    Yea, glad I'm not seeing cynicism in the first comment. I mean, it's just cool, right? Not earth shattering, not original... just cool. We can have fun with that!

    Yea, glad I'm not seeing cynicism in the first comment. I mean, it's just cool, right? Not earth shattering, not original... just cool. We can have fun with that!

    9 votes
  9. Comment on Climate-Change simulator (beta) in ~enviro

    nothis
    Link Parent
    I guess I'm too much a pessimist to even have considered turning all the sliders to their actual maximum.

    I guess I'm too much a pessimist to even have considered turning all the sliders to their actual maximum.

    1 vote
  10. Comment on Climate-Change simulator (beta) in ~enviro

    nothis
    Link
    This is pretty cool yet disillusioning. I set all sliders to their best (?) values and still barely scratched the 2°C line.

    This is pretty cool yet disillusioning. I set all sliders to their best (?) values and still barely scratched the 2°C line.

    3 votes
  11. Comment on The Mandalorian | S01E04: Sanctuary in ~tv

    nothis
    Link
    This was a bit weird. The whole episode felt very self-contained, very classic TV, like a 90s Star Trek episode almost? The weird space tribe ("floppy blue fish are our identity!") didn't help....

    This was a bit weird. The whole episode felt very self-contained, very classic TV, like a 90s Star Trek episode almost? The weird space tribe ("floppy blue fish are our identity!") didn't help. Also the acting seemed kinda awful throughout.

    I guess keeping it oldschool is the show's thing but they might have gone a little too far. I'm a bit worried now that they're already looking for ways to stretch it out, especially since it's only 9 episodes this season.

    2 votes
  12. Comment on Day 2: 1202 Program Alarm in ~comp.advent_of_code

    nothis
    Link Parent
    wtf is Befunge? And wow.

    Befunge

    wtf is Befunge? And wow.

    1 vote
  13. Comment on Day 4: Secure Container in ~comp.advent_of_code

    nothis
    (edited )
    Link
    This one felt significantly easier. Maybe because I was actually trying to concentrate and doing it fast (seeing the top-100 swoosh by, of course). The main difficulty seems to have been getting...

    This one felt significantly easier. Maybe because I was actually trying to concentrate and doing it fast (seeing the top-100 swoosh by, of course). The main difficulty seems to have been getting the digits but it's almost a programming exercise cliche.

    I hard-coded almost all of it, expecting it to bite me in the ass for the second star (varying number of digits, etc) but it seems for the second star just copy-pasting it manually was also the fastest way. Anyway, couldn't help but clean it up a tiny little bit.

    Part 1
    const getPossiblesCount = (min, max) => {
      let count = 0;
    
      for (let i = min; i <= max; i++) {
        const digits = getDigits(i);
        let doubles = false;
        let increasing = true;
    
        for (let d = 0; d < digits.length - 1; d++) {
          if (digits[d] === digits[d + 1]) {
            doubles = true;
          }
          if (digits[d] > digits[d + 1]) {
            increasing = false;
          }
        }
    
        if (doubles && increasing) {
          count++;
        }
      }
    
      return count;
    };
    
    const getDigits = number => {
      let digits = [];
    
      for (let d = 100000; d >= 1; d = d / 10) {
        let digit = Math.floor(number / d);
        digits.push(digit);
        number -= digit * d;
      }
    
      return digits;
    };
    
    console.log(getPossiblesCount(130254, 678275));
    
    Part 2
    const getPossiblesCount = (min, max) => {
      let count = 0;
    
      for (let i = min; i <= max; i++) {
        const digits = getDigits(i);
        let doubles = false;
        let increasing = true;
    
        for (let d = 0; d < digits.length - 1; d++) {
          if (digits[d] === digits[d + 1]) {
            if (
              (d === 0 && digits[d + 1] !== digits[d + 2]) ||
              (d === digits.length - 1 &&
                digits[digits.length - 3] !== digits[digits.length - 2]) ||
              (digits[d - 1] !== digits[d] && digits[d + 1] !== digits[d + 2])
            ) {
              doubles = true;
            }
          }
          if (digits[d] > digits[d + 1]) {
            increasing = false;
          }
        }
    
        if (doubles && increasing) {
          count++;
        }
      }
    
      return count;
    };
    
    const getDigits = number => {
      let digits = [];
    
      for (let d = 100000; d >= 1; d = d / 10) {
        let digit = Math.floor(number / d);
        digits.push(digit);
        number -= digit * d;
      }
    
      return digits;
    };
    
    console.log(getPossiblesCount(130254, 678275));
    

    Part of me likes how simple these exercises are (especially that the outcome is a single number so you don't have to fiddle with formatting), part of me would love there to be a higher emphasis on optimization challenges (though that would limit the amount of possible languages you can use). I heard this will get harder so I assume the later ones might simply run too long if you don't optimize?

    1 vote
  14. Comment on Advent of Code 2019 in ~comp.advent_of_code

    nothis
    Link Parent
    I just brute-forced day 3 at first, storing the coordinates (and distance traveled) for each point touched by a wire. It ran embarrassingly slow but I had a result roughly half an hour in. Then I...

    I just brute-forced day 3 at first, storing the coordinates (and distance traveled) for each point touched by a wire. It ran embarrassingly slow but I had a result roughly half an hour in.

    Then I tried optimizing for fun. I basically just stored "line segments" with a start and end point and did an AABB style test for overlapping (checking whether the start point of the first line is lower than the end point of the other line and vice versa, for the x and y axis). I then picked the y value of the horizontal line (identical y start and end values = horizontal) and the x value of the other line. I assume what you used is the fancy numeric version of just doing this with a bunch of if-then branches.

    I cheekily assumed no lines with the same orientation (horizontal, vertical) ever overlap, which would have complicated things, I guess (it worked, maybe I just was lucky). Walking distance required storing the combined distance of previous line segments plus adding the distance from the current line segment's start to the intersection.

    This reduced running time from like half a minute (lol!) to a split second. I guess there's further optimization you can do by sorting lines to quickly discard all lines above and below the current line's boundaries but that seems like overkill to me.

    3 votes
  15. Comment on North Korea's Kim celebrates completion of 'modern mountainous city' in ~news

    nothis
    Link Parent
    Uhm... it's North Korea. The only thing interesting is how they present it and what picture it paints of their current ability get anything done (from kinda awful to awful). Sounds awful as usual.

    Uhm... it's North Korea. The only thing interesting is how they present it and what picture it paints of their current ability get anything done (from kinda awful to awful).

    Delays in construction prompted the Kim regime to mobilise youth labour brigades, which defectors and human rights activists likened to "slave labour" as they get no pay, poor food and are forced to work more than 12 hours a day for up to 10 years in return for better chances to enter a university or join the all-powerful Workers' Party of Korea.

    Sounds awful as usual.

    2 votes
  16. Comment on Super Mario Maker 2 - A Legendary Update, coming Dec 5 in ~games

    nothis
    Link
    Good stuff! Totally random (basically a Zelda-mode for the classic SMB theme??!) but lots of content that will likely result in lots of fresh new level ideas. With all the great pseudo-Zelda...

    Good stuff! Totally random (basically a Zelda-mode for the classic SMB theme??!) but lots of content that will likely result in lots of fresh new level ideas. With all the great pseudo-Zelda levels out there, this should allow a ton of new "proper" ways of doing that kind of gameplay.

    Took me a bit to fully get into it but I'm now 100% hooked, this game is just an amazing idea, the creativity of its makers is endless!

    6 votes
  17. Comment on A slower speed of light in ~games

    nothis
    Link
    Ah, I thought the idea is almost too cool for a modern indie game. Today, it would have to be a “rogue-like souls-like metroidvania with moba elements”. Gotta check this out!

    2012

    Ah, I thought the idea is almost too cool for a modern indie game. Today, it would have to be a “rogue-like souls-like metroidvania with moba elements”.

    Gotta check this out!

    1 vote
  18. Comment on Impostor Factory trailer - The third game in the To The Moon series in ~games

    nothis
    Link Parent
    Man, I still haven't played To The Moon. I remember it as one of the really early modern indie games, like, there must be dozens that do similar stuff now but it was mind-blowingly weird in 2011,...

    Man, I still haven't played To The Moon. I remember it as one of the really early modern indie games, like, there must be dozens that do similar stuff now but it was mind-blowingly weird in 2011, JRPG aesthetic included. Gotta give the original another try, howlongtobeat.com says it's only like 4 hours.

    5 votes
  19. Comment on Why I Voted to Sell .ORG in ~tech

    nothis
    Link
    Yea, didn't expect some magical argument to pop up that suddenly counters the concerns of apparently pretty much everyone who cares about the internet. He says they did it because they wanted the...

    Yea, didn't expect some magical argument to pop up that suddenly counters the concerns of apparently pretty much everyone who cares about the internet. He says they did it because they wanted the money. That's his argument.

    11 votes