Crestwave's recent activity

  1. Comment on Rubbing your eyes is way more harmful than you think in ~health

    Crestwave
    Link
    I completely stopped rubbing my eyes at a young age; breaking the habit made my eyes way less itchy and the thought of doing it now seems very horrifying and gross. As someone with perpetual...

    I completely stopped rubbing my eyes at a young age; breaking the habit made my eyes way less itchy and the thought of doing it now seems very horrifying and gross. As someone with perpetual allergies, I now use antihistamines and routinely dab my eye with a bit of water after washing my hands. When something gets stuck in my eye, I splash it some water, blink a bunch, close my eyes then stroke from the caruncle towards the other end of the eye with the tip of my finger.

    10 votes
  2. Comment on Microsoft confirms Windows 11 Recall AI hardware requirements in ~tech

    Crestwave
    Link
    Interesting to see this now, after I found out an entire genre of similar projects just a month ago when Windrecorder released. If anyone is interested in the concept but not the dystopian-esque...

    Interesting to see this now, after I found out an entire genre of similar projects just a month ago when Windrecorder released. If anyone is interested in the concept but not the dystopian-esque execution, do check out these open source projects! Some of these just index the screenshots with OCR'd text, while others also implement LLM capabilities if that's your thing.

    Windrecorder (Windows)
    rem (macOS)
    Memento (Linux)
    ActivityWatch (cross-platform)

    3 votes
  3. Comment on ‘TunnelVision’ attack leaves nearly all VPNs vulnerable to spying in ~tech

    Crestwave
    Link Parent
    This attack completely circumvents the VPN by forcing your traffic to be routed to its DHCP server. So essentially, if a malicious actor is in control of the network*, your threat model is pretty...

    This attack completely circumvents the VPN by forcing your traffic to be routed to its DHCP server. So essentially, if a malicious actor is in control of the network*, your threat model is pretty much the same as using a public WiFi without a VPN—HTTPS still protects you, HTTP is completely naked, and routing DNS queries is possible but not required (you can still sniff the IP of HTTPS connections and reverse look up its domain).

    * And you're using a vulnerable system, which is apparently everything except Linux with mitigations/Android according to the article.

    6 votes
  4. Comment on ‘TunnelVision’ attack leaves nearly all VPNs vulnerable to spying in ~tech

    Crestwave
    Link Parent
    It's not quite that dramatic since nearly all websites are encrypted with HTTPS (especially banking apps) nowadays. However, it's still a pretty major flaw since public networks are one of the...

    It's not quite that dramatic since nearly all websites are encrypted with HTTPS (especially banking apps) nowadays. However, it's still a pretty major flaw since public networks are one of the main use-cases for VPNs. And circumventing the VPN does let them check what websites you connect to, even if the contents are encrypted.

    4 votes
  5. Comment on Wizard of Legend 2 | Combat trailer in ~games

    Crestwave
    Link
    Apparently this sequel is made by a different game studio, Dead Mage. But they had some great pixel art in Children of Morta, so I'm not sure why they decided to change to a 3D style. The focus on...

    Apparently this sequel is made by a different game studio, Dead Mage. But they had some great pixel art in Children of Morta, so I'm not sure why they decided to change to a 3D style. The focus on multiplayer elements looks like a potential selling point, though!

    3 votes
  6. Comment on Riot’s Vanguard comes to League in ~games

    Crestwave
    Link
    I think it's interesting how much sense this article makes; it's not just a technical report, but a story. They're handling one of the most popular video games in the world and the move makes...

    I think it's interesting how much sense this article makes; it's not just a technical report, but a story. They're handling one of the most popular video games in the world and the move makes total sense. If I was in their shoes, I would probably do the same. And yet, I would definitely not install this on my computer. It's a tiny bit dystopian that way. :P

    Realistically, nothing much will probably come from this. It would just continue the downward trend towards normalizing increasingly closed computer environments. Or maybe we're on that rare timeline where a bug or vulnerability gets out and we get something spicier. Who knows.

    8 votes
  7. Comment on Riot’s Vanguard comes to League in ~games

    Crestwave
    Link Parent
    From what I've seen, most of the criticisms revolving around Vanguard isn't necessarily that it's kernel-level*, but that 1) it loads the driver on boot; 2) it does not support Linux; 3) it uses...

    From what I've seen, most of the criticisms revolving around Vanguard isn't necessarily that it's kernel-level*, but that 1) it loads the driver on boot; 2) it does not support Linux; 3) it uses TPM 2.0; and 4) it is/was significantly more invasive than other anti-cheats.

    The article does address some of these points, but not necessarily to a satisfactory level. For example, it says that it is not running all the time because it doesn't make network requests unless a Riot game is running. But while I'm sure that it has plenty of security measures to keep itself safe, it seems to me that it would still be theoretically be possible for it to be compromised by an attack or to crash your computer from a buggy update.

    The article also mentions that there were only 800 Linux users yesterday. This seems a bit disingenuous, given that they apparently announced the Vanguard implementation months back and thus, nearly everyone would have already dropped it by then. Although it's probably still a pretty small community compared to their total player base at full size.

    Their response for TPM 2.0 makes sense, since W11 apparently soft-requires it and considers TPM-less installations to be in an unsupported state. Still, it's a privacy issue that some people are understandably worried about.

    Finally, while I haven't been keeping up with the latest news, Vanguard has gone under fire before for straight-up preventing people from running applications like Core Temp, without any notification or warning. This source mentions that Riot has shifted their mitigation strategy to prevent this from happening again, but it's completely understandable to me for people to be wary when it has a history of invasive, always-on procedures just to play a game.

    The article isn't necessarily encouraging, either:

    They used cheating software for another game, and Vanguard unfortunately picked it up.
    With hardware-level cheating, we can't always tell which game you intended to cheat on, so it's our firm recommendation that you just not cheat on any game.

    Does this mean that you could get banned for "cheating" on a single-player game while Riot games aren't running? What if you're using debuggers for development? Does that count as "cheating software"?

    * I believe EAC/BattlEye are kernel-level and do not have the other issues I mentioned.

    10 votes
  8. Comment on Apple opens the App Store to retro game emulators in ~games

    Crestwave
    Link
    The exact wording is: which seems to imply that users will not be able to use their own ROMs. Rather, this seems to be targeted towards publishers who want to make their own games available.

    The exact wording is:

    Apps may offer certain software that is not embedded in the binary, specifically HTML5 mini apps and mini games, streaming games, chatbots, and plug-ins. Additionally, retro game console emulator apps can offer to download games. You are responsible for all such software offered in your app, including ensuring that such software complies with these Guidelines and all applicable laws. Software that does not comply with one or more guidelines will lead to the rejection of your app. You must also ensure that the software adheres to the additional rules that follow in 4.7.1 and 4.7.5. These additional rules are important to preserve the experience that App Store customers expect, and to help ensure user safety.

    which seems to imply that users will not be able to use their own ROMs. Rather, this seems to be targeted towards publishers who want to make their own games available.

    7 votes
  9. Comment on Does Linux From Scratch actually teach you anything? in ~comp

    Crestwave
    Link
    LFS is great for learning about the system-level workings of a Linux distro. If you're interested in sysadmin stuff and build systems (packaging/porting/tinkering with software), then it could be...

    LFS is great for learning about the system-level workings of a Linux distro. If you're interested in sysadmin stuff and build systems (packaging/porting/tinkering with software), then it could be a good fit for you. I know it was for me.

    If you're interested in user-level stuff, then its teachings will likely just bounce off and prove not to be relevant.

    If you're interested in programming-level stuff (how do I make an OS?), then LFS probably won't provide you much, either—just a very basic overview of the possible layers of a complete OS.

    6 votes
  10. Comment on Day 4: Scratchcards in ~comp.advent_of_code

    Crestwave
    Link
    Feels more like a proper day 4 than the previous days did; simple and fun. I went the efficient route, although from @Crespyl's comment I'm guessing that it can be brute forced as well. Part 1...

    Feels more like a proper day 4 than the previous days did; simple and fun. I went the efficient route, although from @Crespyl's comment I'm guessing that it can be brute forced as well.

    Part 1
    #!/usr/bin/awk -f
    {
    	sub(/Card[ ]*[0-9]*: /, "")
    	split($0, card, "|")
    	card[2] = card[2] " "
    	$0 = card[1]
    	num = 0
    
    	for (i = 1; i <= NF; ++i)
    		if (match(card[2], "[^0-9]+" $i "[^0-9]+"))
    			num = num ? num * 2 : 1
    
    	total += num
    }
    
    END { print total }
    
    Part 2

    Due to past experience from Lanternfish and other exponential problems in the past, I decided to simply save their multipliers in a table instead of making actual copies of the cards.

    #!/usr/bin/awk -f
    {
    	mult[NR] += 1
    	sub(/Card[ ]*[0-9]*: /, "")
    	split($0, card, "|")
    	card[2] = card[2] " "
    	$0 = card[1]
    	num = 0
    
    	for (i = 1; i <= NF; ++i)
    		if (match(card[2], "[^0-9]+" $i "[^0-9]+"))
    			++num
    
    	for (i = 1; i <= num; ++i)
    		mult[NR + i] += 1 * mult[NR]
    
    	total += mult[NR]
    }
    
    END { print total }
    
    1 vote
  11. Comment on Day 3: Gear Ratios in ~comp.advent_of_code

    Crestwave
    Link
    Longer day 3 than expected; might be because it's a weekend. Part 2 was pretty simple, at least. Part 1 POSIX AWK doesn't seem to have a way to handle multiple matches so I had to manually...

    Longer day 3 than expected; might be because it's a weekend. Part 2 was pretty simple, at least.

    Part 1

    POSIX AWK doesn't seem to have a way to handle multiple matches so I had to manually implement it. Overall went pretty smoothly other than a couple off-by-one errors.

    #!/usr/bin/awk -f
    {
    	str = $0
    	len = 0
    	while (length(str) > 0) {
    		i = match(str, /[0-9]+/)
    		if (i == 0)
    			break
    		grid[i + len, NR] = substr(str, i, RLENGTH)
    		len += i + RLENGTH - 1
    		str = substr(str, i + RLENGTH)
    	}
    
    	str = $0
    	len = 0
    	while (length(str) > 0) {
    		i = match(str, /[^0-9.]/)
    		if (i == 0)
    			break
    		sym[i + len, NR] = substr(str, i, 1)
    		len += i + RLENGTH - 1
    		str = substr(str, i + RLENGTH)
    	}
    }
    
    END {
    	for (k in grid) {
    		split(k, xy, SUBSEP)
    		for (x = xy[1] - 1; x <= xy[1] + length(grid[k]); ++x)
    			for (y = xy[2] - 1; y <= xy[2] + 1; ++y)
    				if (sym[x, y])
    					total += grid[k]
    	}
    
    	print(total)
    }
    
    Part 2

    Very minor changes. The instructions specified "adjacent to exactly two part numbers", but I didn't have any that were more than two in my input so ¯\_(ツ)_/¯

    #!/usr/bin/awk -f
    {
    	str = $0
    	len = 0
    	while (length(str) > 0) {
    		i = match(str, /[0-9]+/)
    		if (i == 0)
    			break
    		grid[i + len, NR] = substr(str, i, RLENGTH)
    		len += i + RLENGTH - 1
    		str = substr(str, i + RLENGTH)
    	}
    
    	str = $0
    	len = 0
    	while (length(str) > 0) {
    		i = match(str, /[^0-9.]/)
    		if (i == 0)
    			break
    		sym[i + len, NR] = substr(str, i, 1)
    		len += i + RLENGTH - 1
    		str = substr(str, i + RLENGTH)
    	}
    }
    
    END {
    	for (k in grid) {
    		split(k, xy, SUBSEP)
    		for (x = xy[1] - 1; x <= xy[1] + length(grid[k]); ++x)
    			for (y = xy[2] - 1; y <= xy[2] + 1; ++y)
    				if (sym[x, y] == "*")
    					if (gear[x, y])
    						total += gear[x, y] * grid[k]
    					else
    						gear[x, y] = grid[k]
    	}
    
    	print(total)
    }
    
    1 vote
  12. Comment on Day 2: Cube Conundrum in ~comp.advent_of_code

    Crestwave
    Link
    Not much to say, pretty straightforward overall. AWK solutions: Part 1 #!/usr/bin/awk -f BEGIN { FS = "; " max["red"] = 12 max["green"] = 13 max["blue"] = 14 } { sub(/Game [0-9]*: /, "") for (i =...

    Not much to say, pretty straightforward overall. AWK solutions:

    Part 1
    #!/usr/bin/awk -f
    BEGIN {
    	FS = "; "
    	max["red"] = 12
    	max["green"] = 13
    	max["blue"] = 14
    }
    
    {
    	sub(/Game [0-9]*: /, "")
    	for (i = 1; i <= NF; ++i) {
    		split($i, set, ", ")
    		for (j in set) {
    			split(set[j], cube, " ")
    			if (max[cube[2]] < cube[1])
    				next
    		}
    	}
    
    	total += NR
    }
    
    END { print total}
    
    Part 2
    #!/usr/bin/awk -f
    BEGIN { FS = "; " }
    
    {
    	split("", max)
    	sub(/Game [0-9]*: /, "")
    
    	for (i = 1; i <= NF; ++i) {
    		split($i, set, ", ")
    		for (j in set) {
    			split(set[j], cube, " ")
    			if (cube[1] > max[cube[2]])
    				max[cube[2]] = cube[1]
    		}
    	}
    
    	total += max["red"] * max["green"] * max["blue"]
    }
    
    END { print total }
    
    1 vote
  13. Comment on Day 1: Trebuchet?! in ~comp.advent_of_code

    Crestwave
    Link
    Part 2 was much trickier than I expected. As usual, here's my hacky AWK solutions. Part 1 #!/usr/bin/awk -f { gsub(/[^0-9]/, "") total += substr($0, 1, 1) substr($0, length($0 - 1)) } END { print...

    Part 2 was much trickier than I expected. As usual, here's my hacky AWK solutions.

    Part 1
    #!/usr/bin/awk -f
    {
    	gsub(/[^0-9]/, "")
    	total += substr($0, 1, 1) substr($0, length($0 - 1))
    }
    
    END { print total }
    
    Part 2

    After spotting the overlapping problem, I initially just decided to parse it from left to right for some reason. The worst part is that it worked perfectly for the sample but not for my input... made things a lot harder for myself.

    #!/usr/bin/awk -f
    {
    	trans["one"] = 1
    	trans["two"] = 2
    	trans["three"] = 3
    	trans["four"] = 4
    	trans["five"] = 5
    	trans["six"] = 6
    	trans["seven"] = 7
    	trans["eight"] = 8
    	trans["nine"] = 9
    
    	do
    		for (k in trans)
    			if ($0 ~ "^[0-9]*" k)
    				sub(k, trans[k] k)
    	while (sub(/[^0-9]/, ""))
    
    	total += substr($0, 1, 1) substr($0, length($0 - 1))
    }
    
    END { print total }
    
    3 votes
  14. Comment on Listening to music with intent in ~music

    Crestwave
    (edited )
    Link
    I personally find that picking an album that matches my mood and listening to it completely gets me pretty focused due to the cohesiveness. Having the lyrics on hand can help, too.

    I personally find that picking an album that matches my mood and listening to it completely gets me pretty focused due to the cohesiveness. Having the lyrics on hand can help, too.

    3 votes
  15. Comment on Tildes multiplayer games in ~games

    Crestwave
    Link Parent
    They do not have access to your private server; chat is not routed through Mojang. The player that makes the report uploads them with the reporting tool and messages are signed by the sender to...

    They do not have access to your private server; chat is not routed through Mojang. The player that makes the report uploads them with the reporting tool and messages are signed by the sender to prevent forgery.

    Source

    25 votes
  16. Comment on Is pet ownership slavery? in ~humanities

    Crestwave
    Link Parent
    There are plenty of animals that are illegal to own as a pet. It is only logical to have different laws depending on the capability, intelligence and behavior of an animal; humans are not special...

    There are plenty of animals that are illegal to own as a pet. It is only logical to have different laws depending on the capability, intelligence and behavior of an animal; humans are not special in that regard. Dogs are kept as pets because they have been domesticated to achieve an effective symbiotic relationship with us.

    Again, I am definitely in support for tighter laws to prevent animal abuse; I just do not think pet ownership as a whole is slavery.

    5 votes
  17. Comment on Is pet ownership slavery? in ~humanities

    Crestwave
    (edited )
    Link
    If you disagree with me that houseplants are slaves, I will end this with a challenge: I claim that there can be no found no current law in America which defines a houseplant as anything other...

    If you disagree with me that houseplants are slaves, I will end this with a challenge: I claim that there can be no found no current law in America which defines a houseplant as anything other than property.

    You make some valid points regarding the mistreatment of animals, but they should be discussed in terms of animal rights and not human terminology, because pets are not humans.

    EDIT: s/animals are/pets are/

    12 votes
  18. Comment on Blizzard’s bringing its PC games to Steam, starting with Overwatch 2 in ~games

    Crestwave
    Link Parent
    It's been confirmed that it will launch directly through Steam. I've been having a lot of issues with Battle.net on Linux lately, so this is great news. Another thing people often overlook when...

    Unfortunately we still have to deal with stacking launchers, and I have no doubt that Blizzard games in Steam will just launch Battle.net which will then launch the game

    It's been confirmed that it will launch directly through Steam. I've been having a lot of issues with Battle.net on Linux lately, so this is great news.

    Just give me the game on Steam, please.

    Another thing people often overlook when comparing launchers is regional pricing; Steam has very generous regional prices, while most other launchers just don't have them at all.

    8 votes
  19. Comment on Is Apple's "walled garden" as bad as it was when the first few iPhones came out? in ~tech

    Crestwave
    Link Parent
    I have tried it before and there are more ads that go through than ones that are blocked; you would be better off using the built-in adblocker. The linked issue says that uBO is not supported but...

    I have it currently running on my phone in Orion.

    I have tried it before and there are more ads that go through than ones that are blocked; you would be better off using the built-in adblocker.

    Its GUI toolkit is not available .. The linked bug issue only says the same.

    The linked issue says that uBO is not supported but the settings should at least render. Here's another post from one of the devs confirming the lack of support.