I agree. Unless the downstream data is going to be used to feed a system to make automated decisions (ex. HFT or Ad buying), having real time analytics is usually never worth the cost. It's almost always easier and more robust to have high tail latencies for humans to consume and as computers get faster and faster that tail latency decreases.
Systems that needed complex streaming architectures in 2015 could probably be handled today with fast disk and large postgres instance (or BigQuery).
I'm not confident that an online degree is the best way to improve your job prospects at the cost of $15k. The type of degree that would is likely a 4 year degree from any better-than-median school (obviously a top school would increase your chances tremendously).
In other words, the value of the degree, in tech, is largely the brand name of the school that issued the degree, and I wouldn't expect an online CS degree to open any doors that a bootcamp couldn't also open.
I way past the age where I'm going to graduate from MIT. I just want to be able to compete with the people with philosophy degrees, who made a portfolio using a template with a couple of CRUD apps on it.
At this point, my partner with a gender studies degree has a better chance of getting past the resume filters than I do.
IIRC the whole parsing performance issue was because the original code was written for the SP campaign of GTA5 that only had a handful of objects to parse data for. That was barely a blip in terms of performance impact and AFAIK was written years before GTAOnline was made (where it became an issue - and even then only became an issue much after GTAOnline was first made).
Writing some simple code that works with the data you expect to have without bothering with optimizations is fine, if anything it is one of the actual cases of "premature optimization": even with profiling no real time is spent on that code, your data wont make it spend any time and you should avoid wild guesses since chances are you'll be wrong (even if in this case it could be a correct guess, it'd be like a broken clock guessing the time is always 13:37).
The actual issue with that code was that, after they reused it for GTAOnline and started becoming a performance issue after some time as they added more objects, nobody thought to try and see what is wrong.
Are you actually arguing that using a JSON parser for JSON-formatted data is a premature optimization? The solution here was to use a different format, not a somewhat-JSON-compatible hacked together parser.
No, i'm arguing that it wasn't a performance issue for the original purpose of the code and it only became one at much later, in a different project and only after some time long after that code was pushed way beyond what it was originally meant to do.
The premature optimization would be trying to optimize that piece of code without that being necessary given what the code was meant to do.
They were not the only one to make that mistake e.g. rapidjson had to fix the same error, few people expect parsing one token out of sscanf to strlen the entire input (not only that but there are c++ APIs which call sscanf under the hood).
The second error of deduplicating values by linear scanning an array was way more egregious.
The real, systemic error is that dozens(?) of engineers worked on that product, supposedly often testing the online component and experiencing that wait time first hand; and none thought "wait, parsing JSON doesn't take that long, computers are fast! what's going on?"
I think someone estimated that error cost them millions in revenue? I'm pretty sure a fraction of that could afford an engineer who knows how fast computers ought to be.
GTA was never my wheelhouse, but from what I gathered GTA Online didn't have that much support, and since it was only the initial loading time, and it would have increased over time as the shop content increased, and a very fast machine (e.g. a dev machine) would have had less of an issue, the engineers working on it were probably not that incentivised to dig into it.
Like, even though it's pretty critical to initial user experience initial loading time is generally what gets disregarded the most.
> I'm pretty sure a fraction of that could afford an engineer who knows how fast computers ought to be.
It can, if someone cares enough or realises it's an issue, and then someone is motivated enough to dig into it, or has the time to.
This is an interesting comment. The author, has been consistently making lengthy posts since 2021 - there's no reason to believe he is using AI as it doesn't look like his writing style has changed.
However, the reader has changed, and readers are notoriously lazy. Now instead of a "tl;dr", the reader might incredulous assume the writer is using AI. This is an interesting side effect.
FWIW: The Mark and Sweep section is specifically about Go's internal implementation of Mark and Sweep and is relevant context for the design decisions made in his arena. It is not generic AI slop about Mark and Sweep GCs.
If OP is above 30 - it's probably due to the frustration of trying to modularize GCC that led to the creation of LLVM in the first place. If OP is below 30, it's probably because he grew up in a world where most compiler research and design is done on LLVM and GCC is for grandpa.
I feel like calling the PS3 a licked cookie is unfair.
>The original design was approximately 4 Cell processors with high frequencies. Perhaps massaging this design would have led to very homogenous high performance Many-Core architecture. At more than 1 TFlop of general purpose compute it would have been a beast and not a gnarly beast but a sleek smooth uniform tiger.
That's great and all, but the PS3 cost (famously) FIVE HUNDRED AND NINETY NINE US DOLLARS (roughly $900 dollars in todays money).
However one thing I noticed is that multi-core programming in 2006 was absolutely anemic. Granted I was too young to actually understand what was happening at the time, but a couple years ago I went in on a deep dive on the Cell and one thing I came away with was proper parallelism was in its infancy for mainstream development. Forget the Cell, it took a long time for game developers to take advantage of quad core PCs.
Developers were afraid of threads, didn't understand memory barriers and were cautious of mutexes. Gaben has a famous clip trashing the PS3 because most of valve's developers at the time did not have the experience programming multicore systems. It was common to just have objective-based threads (ex, Render thread, AI thread, Physics thread), and pretend coordination didn't exist for large parts of the code. This mostly worked up until you had more cores than threads. This stands in stark contrast to most parallel thread today that does userspace scheduling with tasks or threads.
Even Naughty Dog eventually figured out late in the cycle to best take advantage of SPEs using fibers with a system that looks like modern async reactors (like node or tokio) if you squint really, really hard.
The Cell was just really really early. Looking back I don't think the Cell was half-baked. It was the best that could be done at the time. Even if the hardware was fully baked, there was still 5-10 years of software engineering research before most people had the tooling to tae advantage of parallel hardware.
> Even Naughty Dog eventually figured out late in the cycle to best take advantage of SPEs using fibers with a system that looks like modern async reactors (like node or tokio) if you squint really, really hard.
Well, if anyone was going to figure it out, it would've been Naughty Dog, they've got a long history of being absolute wizards at taming Sony's hardware.
I'm 100% confusing this talk with an earlier talk on the PS3. "Fibers" (aka, tasks, coroutines) is the industry standard name but I believe their engine did something more primitive on the PS3 in which their PS4 engine evolved from.
I'll try to find it, but admittedly this is knowledge that I researched back in ~2011 around the time of Uncharted 3's launch.
Naughty Dog’s late PS3 era code was very similar to modern task/job based parallel code. That really was the start of the modern era of multitasking.
Compared to today, the Cell really isn’t so complex — we have just as many or more cores, we have GPU programming (and low level APIs with manual data moving and what not). It’s just that the cell came out in a world where dual core had just became the norm and people hadn’t really accustomed to it yet. It was ahead of its time. And a new architecture meant immature tooling.
Remember that with the PS3 it wasn’t just multicore (which was new to game consoles that generation) but it was also heterogeneous cores. VERY heterogeneous cores.
> PS3 cost ... roughly $900 dollars in todays money).
I'd like to see a list of the top-selling consoles with their inflation-adjusted prices. The ps3 did really well considering the price. I'd say the ps2 hit the sweet spot for price while still offering a performance improvement over the previous generation.
Ever since the tariffs were first announced I've been trying to understand if there is any method to the madness.
There is sound reasoning behind the tariffs, and I can at least understand the motivations. However, to execute the vision behind the tariffs would be tantamount to severely contracting the American economy, and the voters would never agree to go hungry in order to militarily independent.
He knows what he's doing, but him and his ilk are openly lying to the American public because no one would ever agree to it.
>I am not an american, I don't have time for these petty excuses.
It's not that you don't have time for the excuses. It's that you are chiming in on a system you know nothing about and simply swallowing the propoganda that you read online.
If your mayor is actively undermining your ability to get an ID in order to surpress your vote, what does "holding him responsible mean"? And if your mayor is doing this at the behest of a billion dollar superpac that has run the number and realized that if they could get 1% reduction in opposition votes by implementing voter ID laws, what is lower class person to do?
It's incredibly easy to get an ID in democratic states, and the voter ID laws aren't about targeting states like California. They almost always target battleground states like Wisconsin where there are billions of dollars spent in TV ads. If you could guarantee that your opponent could like 2-3% of the vote by spending 1 billion dollars on Voter ID bullshit vs spending 10 billion on TV ads, what would you choose?
Electoral warfare is far more salient in US politics than in Pakistan - or any other country. The Heritage Foundation (one of the largest republican think tanks) already confirms that voter fraud is a non-issue - but billion dollar PACs have managed to convince a pakistani on the other side of the world that Voter ID is a real issue. You should ask yourself why you - a pakistani - has such strong feelings about Voter ID when Voter Fraud is completely a non-issue when both political sides look at the data.
Is it that Voter ID is a real issue, or has the billions being spent on making us think it's an issue bled into the media you consume as well?
> . You should ask yourself why you - a pakistani - has such strong feelings about Voter ID when Voter Fraud is completely a non-issue when both political sides look at the data.
Because as I said somewhere else in this post, when americans are unhappy, they spread their frustration on the entire world with a shovel.
And when I see that this frustration arises from something as stupid as voter ID, I wonder why they don't just fix it. I am not interested in the actual voter fraud numbers or some random foundation... I am interested in YOU guys being happy. And if (a sufficient number of) YOU believe in voter fraud, then for ffs, get voter ID, we all have it, why can't you?
It's like with the kids' blankie to save them from the monster under the bed, don't argue about the probability of bed monsters, understand the frankly low cost of providing the blankie, realise it's not worth quibbling about and just GIVE IT TO THEM.
It isn't about about voter fraud, it's about trust in the system. When americans don't feel trust in the system, they are unhappy. And when they are unhappy, they are often distracted by their elected leaders by other things.... things that affect the entire world, like tariffs or wars.
I don't speak about Brazilian issues, not because they don't affect us (we import soybeans from them which affects chicken prices, for example) but the effect is less... catastrophic.... but a Texan sneezes, I get the flu here.
It's part of the curse of being the world hegemon.
Unfortunately, it seems people can't or won't wrestle with the underlying issue. The underlying issue is complex, and it's easier to believe Americans are just too dumb to do voter ID.
I'm not explaining this just for you - but anyone else reading this post. Here is a video from Paul Weyrich, a highly influential republican, in the 1980s discussing why voter turn out should be reduced: https://www.youtube.com/watch?v=fR4wxlCGIu0
The symptoms are "trust in the system", "voter id" and "voter fraud". The PROBLEM is one major political party has found it extremely advantageous to ensure as few people vote as possible. If every American got voter ID tomorrow, republicans would simply invent a new issue to manufacture distrust in the system in order to suppress votes. Then another pakistani/european/canadian will be flabbergasted as to why American just don't do X and how all their friends do X everyday.
That's why I'm saying the problem is complex. You are viewing the problem as "Americans just won't adopt voter ID", and on it's face you are probably confused as to why a country as rich as America can't do Voter ID. What I'm saying the problem is that it is actually financially and politically advantageous for one party so sow distrust in the voting process (and this isn't some leftist conspiracy, this is openly admitted by them). Once you understand that you will see why Voter ID is so salient. It's not that we can't do Voter ID, its that Voter ID is the current boogeyman to sow distrust and if that is ever solved, we will simply invent a new problem in order to suppress voters.
I am not ignoring it, That disenfranchisement is deliberate, and NOT as a consequence of voter-ID.
Our government and population WANT to disenfranchise them, we WANT to be bigoted against them, and if photo-ID didn't exist, voter rolls STILL exist and then we would use THOSE to lynch them or whatever.
This is hilarious. When it's YOUR government trying to disenfranchise voters, it's deliberate and you can understand that.
When it's America, then it's somehow different. I even laid it out for you clearly that republicans WANT to disenfranchise them, but your prescription is that we need a 25 year plan to offer photo IDs on the cheap.
>and if photo-ID didn't exist, voter rolls STILL exist and then we would use THOSE to lynch them or whatever.
The irony in telling Americans to build a 25 year plan to roll out photo ID when they don't even solve issues for your government. Do you not see how foolish it is to tell Americans to spend time solving a problem that YOU KNOW won't solve the issue of government targeted disenfranchisement? You wrote 500 odd words telling Americans to build a system you just admitted doesn't work to solve the underlying problem.
> If every American got voter ID tomorrow, republicans would simply invent a new issue to manufacture distrust in the system in order to suppress votes.
And?
I am sorry, you fear.... governing? Because that's what life is. You fix one issue, some other arises.
The issue is NOT complex, let's admit it... you just don't want to lose 'face'. You have hitched yourself to the no-ID bandwagon for so long it kills you to admit it was wrong.
Democrats are trying to pretend something is a civil rights issue which NO left-leaning politician the rest of the world considers it to be so. TRUST in the system is paramount, this why Trump is in the office, it seems american citizens trust him more than they trust democrats.
It's a governance/bureaucratic issue. But as the guest on Jon Stewart's podcast said[1], democrats just can't govern.
Any other person would think of it a 25-year plan and start NOW. Start small, start with the most democratic cities in democratic states, and start offering photo ID on the cheap, on the doorstep. Use all those taxes you collect for it. Then move on to other cities in the democratic state, then slowly move outward.
Maybe one day you will again hold the federal government and then you can use the learning from that to help implement it elsewhere... and even if red states don't implement, at least you will have started something good, and you will have something to PRESENT.
But don't mind me, I am just going to spend sometime just trying to understand how trump's tariffs affect us (29%!!!), I feel I will be facing some severe shortages soon.
>You have hitched yourself to the no-ID bandwagon for so long it kills you to admit it was wrong.
Please explain to me clearly where I was wrong? What is the problem you have identified and the solution that I gave that was incorrect?
This rest of the text you posted is a massive non-sequitor. I identified to you that (1) there is no voter fraud problem (2) voter ID would not fix anything except cost the government more money and (3) it's a false claim made to disenfranchise voters.
Please clearly, explain whats wrong, backed with relevant data about voter fraud instead of waffling about Ezra Klein and John Stewart on a completely different issue.
>I am sorry, you fear.... governing?
I fear spending money trying to solve a made up problem. Something you pretended to care about when you brought up Ezra Klein. Except in the case of Voter ID you oppose Ezra Klein and you actually want to spend money doing bullshit that solves nothing. Please identify what is actually solved that is worth someone spending 25 years of their life handing out voter IDs.
Systems that needed complex streaming architectures in 2015 could probably be handled today with fast disk and large postgres instance (or BigQuery).