Spyke

Replies

news

Comment on

US supreme court ends lawsuit alleging Cisco helped China pursue Falun Gong

Reply in thread

If you ever read any of the stuff the Epoch Time posts with a critical eye, you'll be 100% convinced that the Falun Gong is a doomsday cult. Both can be true: the Chinese government persecuting them and them being a cult is not mutually exclusive.

The tragedy is that the Falun Gong targets victims and family of the CCP policies (such as parents of the victims from the 6/4 massacre), using their grief to drive them deeper into the cult for monetary purposes. "Divine judgement will punish the CCP soon" is not a productive way forward, especially when the cult is also asking for contributions that drains their wallets dry.

Fun fact: the Falun Gong used to provide free VPNs out of China. The default homepage that opens is the Epoch Time website. Their front page is a mix of real wrongdoings of the CCP, unproven conspiracy theories, and doomsday cult "end is neigh" slogans.

world

Comment on

‘It was like a mosh pit’: Swatch closes stores as watch launch causes crowding and scuffles

I've been lurking in various watch-related forums right before this release, and all the drama leading up to this has been hilarious:

FYI: this "watch" is a collab between a brand (swatch) that makes <$100 disposable watches (the watch movement is sealed such that you can't repair/maintain it) and a brand (AP) that makes $30k watches with a long waiting list. The collab was announced first, then the specs of the watch, then the actual watch itself (being on a keychain?). Each round of announcements led to a new wave of drama.

  1. There are people mad that this collab devalues their $30k watch brand
  2. There are people mad that the watch is an exact plastic replica of their $30k AP Royal Oak
  3. There are people mad that the collab watch doesn't come on a strap, but is instead a glorified keychain
  4. There are people mad that said keychain comes at a price of $400, is plastic, and cannot be maintained (mechanical watches need regular maintenance, this plastic piece is destined for the trash in 4-5 years)
  5. There are people mad about the colors
  6. There are people mad that said colors devalue their $30k watch
  7. There are scalpers selling the watch on eBay before the watch was released for $3k
  8. There are strap makers making 3D printed straps for the thing as soon as the watch was announced, at the price point of the watch itself ($400)
  9. The release event almost entirely consisted of scalpers. Every reasonable watch person thinks it's overpriced garbage
  10. This is NOT a limited release watch. These plastic watches will fill the oceans for years to come
  11. Swatch had to close stores due to public safety issues with these scalpers
  12. There are scalpers that stole a "sorry were closed today" paper sign from a swatch store and selling it on eBay

The best part: nobody is actually interested in the watch. It's almost all scalpers and people owning a $30k watch having a meltdown.

Edit: if you are looking for a <$400 mechanical watch that is worth the money, I recommend the Seiko 5 or Orient Bambino instead of this plastic toy. Learn to regulate and maintain it by yourself, it's easier than it looks. My Max Bill runs at a rate of +0.5s per day after regulation. Watching a fully mechanical minute hand sweep (as well as the date flicking over instantly at midnight) is such a joy.

Comment on

Intel 'Downfall': Severe flaw in billions of CPUs leaks passwords and much more

Reply in thread

ELI5, or ELIAFYCSS (Explain like I'm a first year CS student): modern x86 CPUs have lots of optimized instructions for specific functionality. One of these is "vector instructions", where the instruction is optimized for running the same function (e.g. matrix multiply add) on lots of data (e.g. 32 rows or 512 rows). These instructions were slowly added over time, so there are multiple "sets" of vector instructions like MMX, AVX, AVX-2, AVX-512, AMX...

While the names all sound different, the way how all these vector instructions work is similar: they store internal state in hidden registers that the programmer cannot access. So to the user (application programmer or compiler designer) it looks like a simple function that does what you need without having to micromanage registers. Neat, right?

Well, problem is somewhere along the lines someone found a bug: when using instructions from the AVX-2/AVX-512 sets, if you combine it with an incorrect ordering of branch instructions (aka JX, basically the if/else of assembly) you get to see what's inside these hidden registers, including from different programs. Oops. So Charlie's "Up, Up, Down, Down, Left, Right, Left, Right, B, B, A, A" using AVX/JX allows him to see what Alice's "encrypt this zip file with this password" program is doing. Uh oh.

So, that sounds bad. But lets take a step back: how bad would this affect existing consumer devices (e.g. Non-Xeon, non-Epyc CPUs)?

Well good news: AVX-512 is not available on most Intel/AMD consumer CPUs until recently (13th gen/zen 4, and zen 4 isn't affected). So 1) your CPU most likely doesn't support it and 2) even if your CPU supports it most pre-compiled programs won't use it because the program would crash on everyone else's computer that doesn't have AVX-512. AVX-512 is a non-issue unless you're running Finite Element Analysis programs (LS-DYNA) for fun.

AVX-2 has a similar problem: while released in 2013, some low end CPUs (e.g. Intel Atom) didn't have them for a long time (this year I think?). So most compiled programs wouldn't compile with AVX-2 enabled. This means whatever game you are running now, you probably won't see a performance drop after patching since your computer/program was never using the optimized vector instructions in the first place.

So, the affect on consumer devices is minimal. But what do you need to do to ensure that your PC is secure?

Three different ideas off the top of my head:

  1. BIOS update. The CPU has a some low level firmware code called microcode which is included in the BIOS. The new patched version adds additional checks to ensure no data is leaked.

  2. Update the microcode package in Linux. The microcode can also be loaded from the OS. If you have an up-to-date version of Intel-microcode here this would achieve the same as (1)

  3. Re-compile everything without AVX-2/AVX-512. If you're running something like Gentoo, you can simply tell GCC to not use AVX-2/AVX-512 regardless of whether your CPU supports it. As mentioned earlier the performance loss is probably going to be fine unless you're doing some serious math (FEA/AI/etc) on your machine.

Comment on

Departure from Von Neumann Architecture Imminent?

The argument is that processing data physically "near" where the data is stored (also known as NDP, near data processing, unlike traditional architecture designs, where data is stored off-chip) is more power efficient and lower latency for a variety of reasons (interconnect complexity, pin density, lane charge rate, etc). Someone came up with a design that can do complex computations much faster than before using NDP.

Personally, I'd say traditional Computer Architecture is not going anywhere for two reasons: first, these esoteric new architecture ideas such as NDP, SIMD (probably not esoteric anymore. GPUs and vector instructions both do this), In-network processing (where your network interface does compute) are notoriously hard to work with. It takes CS MS levels of understanding of the architecture to write a program in the P4 language (which doesn't allow loops, recursion, etc). No matter how fast your fancy new architecture is, it's worthless if most programmers on the job market won't be able to work with it. Second, there're too many foundational tools and applications that rely on traditional computer architecture. Nobody is going to port their 30-year-old stable MPI program to a new architecture every 3 years. It's just way too costly. People want to buy new hardware, install it, compile existing code, and see big numbers go up (or down, depending on which numbers)

I would say the future is where you have a mostly Von Newman machine with some of these fancy new toys (GPUs, Memory DIMMs with integrated co-processors, SmartNICs) as dedicated accelerators. Existing application code probably will not be modified. However, the underlying libraries will be able to detect these accelerators (e.g. GPUs, DMA engines, etc) and offload supported computations to them automatically to save CPU cycles and power. Think your standard memcpy() running on a dedicated data mover on the memory DIMM if your computer supports it. This way, your standard 9to5 programmer can still work like they used to and leave the fancy performance optimization stuff to a few experts.

Comment on

Google Pixel 8 and Pixel 8 Pro confirmed to lack Wi-Fi 7 connectivity

I'm just going to put this information here: the use case for 46Gb WiFi is going to be extremely niche. There is nearly no legitimate use case where you can achieve that speed on your phone.

The problem here is that:

  1. The majority of internet traffic is TCP
  2. TCP protocol processing is atomic (i.e. your speed is bottlenecked by a single CPU)
  3. The bottleneck is the receiver (i.e. downloader)
  4. TCP is too complex for efficient receiver-side hardware offloads (i.e. can't workaround this issue by adding more special hardware)

What does this mean?

Your connection speed on a wifi 7 device WILL be bottlenecked by your single-core CPU speed, even if you are doing absolutely nothing except transmitting data. This assumes you are only using a TCP single connection (e.g. downloading a file from a website). But that's the majority of use cases unless you are running a server (in this case on your phone).

I haven't checked what CPU the Pixel 8 uses. But my Pixel 7 has a Cortex A-78. I also don't have the raw data handy for the 3Ghz A-78, but I do have data from the 2Ghz A-53 connected to a 100Gbps Ethernet NIC which is around 8-9Gbps. The A78 generally outperforms the A53 by 1.5x (At least that's the characteristics on the Nvidia Bluefield DPUs). So we can assume 12-14Gbps max for a single connection with Wifi 7 running on a state-of-the-art ARM CPU.

That is still nowhere near 46Gbps. It's like mounting a Vulcan Minigun on a bicycle.

To use the full wifi bandwidth, you would need to have multiple connections running on different cores. That's also not including the switches/servers connected to the wifi AP. Unless you are running a Redis server on your phone, I see no reason why Wifi 7 would be needed unless the remaining hardware is upgraded significantly.

news

Comment on

Gen Z is the first generation dumber than their parents, neuroscientist claims

Reply in thread

University "educator" here. There is a dramatic increase in students who are lacking in critical thinking, especially after COVID. I'm not referring to people who just bomb tests, but a complete lack of motivation/ability to do basic things without someone handholding them through the entire process.

We're seeing students completely refuse to solve basic equations X = Y + Z for advanced upper div computer science courses, or have trouble setting up a basic C/C++ template with very a detailed Readme guiding people through the whole process. We're also seeing students zone out and blue screen when being guided through a homework question. ("Here's the equation, where are the numbers in this question description, what happens if you change XYZ". This is all being done in bite sized chunks). A lot of people only respond to traditional lecturing in a big hall and cannot/will not respond to any questions/reading materials. In these cases, I believe their standardized testing scores reflect their knowledge level accurately.

This isn't to say there aren't good students. If you look at the overall distribution, there's still a decent amount of good/smart students. It's just that test results are no longer showing a bell curve these days. Usually, it's a bell curve overlapped with a large tail that can consist up to 20-30% of a class.

Comment on

*Permanently Deleted*

An API is an official interface to connect to a service, usually designed to make it easier for one application to interact with another. This is usually kept stable and provides only the information needed to serve the request of the application requesting it.

A scraper is an application that scrapes data from a human readable source (i.e. website) to obtain data from another application. Since website designs can update frequently, these scrapers can break at any time and need to be updated alongside the original application.

Reddit clients interact with an API to serve requests, but Newpipe scrapes the YouTube webpage itself. So if YouTube changes their UI tomorrow Newpipe could very easily break. No one wants to design their app around a fragile base while building a bunch of stuff on top of it. It's just way too much work for very little effort.

It's like I can enter my house through the door or the chimney. I would always take the door since it's designed for human entry. I could technically use the chimney if there's no door. But if someone lights up the fireplace I'd be toast.

Comment on

What Amazon Kindle? Here's an Open Source eBook Reader

Reply in thread

Having a good, dedicated e-reader is a hill that I would die on. I want a big screen, with physical buttons, lightweight, multi-weeklong battery, and an e-ink display. Reading 8 hours on my phone makes my eyes go twitchy. And TBH it's been a pain finding something that supports all that and has a reasonably open ecosystem.

When reading for pleasure, I'm not gonna settle for a "good enough" experience. Otherwise I'm going back to paper books.

Comment on

‘A’ Grades Are Suddenly Everywhere Since the Arrival of ChatGPT

Reply in thread

We are allowing LLMs for all of our homeworks. As long as you can solve the problems in the indicated way with a reasonable answer.

In case you are not sure about the "indicated way", there are practice questions with detailed step-by-step solutions for each hw problem that you just have to change the numbers/equations a bit and you'll get points.

What we've noticed is that the year-after-year averages are significantly higher, especially this year. However, students are bringing in details that we explicitly didn't go over in lecture and putting that on the homework (e.g. Delayed branching in Computer Architecture, because it's a random quirk of MIPS that even assembly programmers don't have to deal with). None of these details are ever mentioned in lecture or the practice homeworks (in a few cases, they are mentioned with the explicit wording "do not worry about this now")

We can only assume people are copying the homework into LLMs and copying the results straight down. The latest exam had a question where students were asked to analyze a specific chunk of assembly code to deduce certain properties about it. Approximately 20-30% of the students didn't know the FORMAT to answer it, despite it literally being item 1 on last week's homework.

And when I say format, I don't mean exactly "you must write these exact words or you lose points". It's literally just point out "line A and B have this property X because of attribute Y". Just including ABXY as shown in the practice homework is enough. But apparently people are too lazy to read a 10 bullet point answer...

Comment on

Japanese disaster prevention X account can’t post anymore after hitting API limit - The issue has arisen after major Tsunami warnings have been issued in areas of Japan following a strong earthquake

Reply in thread

The problem here is they need to stay where the users are. It doesn't matter if Twitter is shit, as long as that's where people are the broadcasts need to be there to reach as many people as possible. Hell, if 90% of the people are on IRC then they should also support IRC. Dumping Twitter isn't going to make it better, it would only mean people are less likely to get warnings -> more people in danger.

At least with a half broken app there's still a chance.