HN user

pubby

2,663 karma

website: pubby.games

Posts18
Comments455
View on HN
State of Kdenlive 3 months ago

I've had several instances of Kdenlive corrupting my save file, making them unable to be recovered. So no, that's not always a solution.

Lego's original moat was their patent. This expired in the 80s, and so their new moat became their manufacturing tolerances. None of their competitors could match the quality of their product. This lasted until about the 2010s when clone brands in China finally caught up, and coincidentally, Lego's own quality started slipping. Thus, they needed a new moat, and the choice was obvious: licensing.

Why SSA? 9 months ago

You're very correct but I suppose I was really answering why compilers centralize around SSA. It's a bold choice to choose one data structure for everything, and that requires more motivation than, "it makes certain optimizations really easy". Because again, it makes other stuff harder.

And going further with the sea-of-nodes representation just makes them all more powerful; I really do recommend reading Cliff Click's thesis.

We might have to agree to disagree on this one. I actually found sea of nodes to be a boneheaded idea. It makes one or two optimizations a little more elegant but everything else a huge pain in the ass. At least, that was my experience.

Why SSA? 9 months ago

I like this article a lot but it doesn't answer the question of "Why SSA?".

Sure, a graph representation is nice, but that isn't a unique property of SSA. You can have graph IRs that aren't SSA at all.

And sure, SSA makes some optimizations easy, but it also makes other operations more difficult. When you consider that, plus the fact that going into and out of SSA is quite involved, it doesn't seem like SSA is worth the fuss.

So why SSA?

Well, it turns out compilers have sequencing issues. If you view compilation as a series of small code transformations, your representation goes from A -> B, then B -> C, then C -> D and so on. At least, that's how it works for non-optimizing compilers.

For optimizing compilers however, passes want to loop. Whenever an optimization is found, previous passes should be run again with new inputs... if possible. The easiest way to ensure this is to make all optimizations input and output the same representation. So A -> B is no good. We want A -> A: a singular representation.

So if we want a singular representation, let's pick a good one right? One that works reasonably well for most things. That's why SSA is useful: it's a decently good singular representation we can use for every pass.

Keep in mind that the ruling party has massively powerful surveillance systems at their fingertips. It's hard to say how things will unfold, but being a dissident may not be in one's best interest.

I remember playing that game once. The vast majority of the chat messages were some variant of, "I need a boy" or "I need a girl", meaning they were looking for dates. I guess boyfriend and girlfriend were banned, but boy and girl weren't. It was hilariously bad.

I didn't intend for my post to be about rural vs urban, or smart vs dumb. The point I was trying to make was that some people just aren't interested, no matter their background. You can find these people everywhere, which might explain why Trump gained in almost every county this election, even urban ones.

It's a spectrum of course. The friends you describe sound like they fall somewhere in the middle of caring about politics vs not. My point of discussion is on the people at the low end, as these are likely to swing. People past a certain threshold of attachment have had their votes locked in for years.

Something I've been wondering lately is how big of a blind spot I have from being habitually online. Like, I'll read the news, and I'll read political discussions on HN and r/politics and r/conservative and Twitter, and I'll try to get a sense of what everyone is thinking, but unfortunately I don't think that's possible. The posters on these sites all have one thing in common: they're into politics and current events.

Having a chance to talk to more people in meatspace this year, it was a surprise to find out how many people have only a passing interest in politics, but still vote. Like, the average user here probably reads 5+ news articles a day, but there are plenty of people IRL that will read one a month, or maybe just skim a headline. They don't really keep up-to-date with the race. They mostly vote by feel and pragmaticism.

People always talk about "shy" Trump voters, but what makes me more curious are voters that match the description above. If you put someone in a voting booth who isn't interested by news, who do they vote for? I mean, Trump has a lot of surface-level qualities - he's a tall, confident white man who's a successful boss of business and an anti-establishment outsider - and maybe that's enough to capture this demographic.

Take strings for example. In C you have to manually manage memory and there are a million pitfalls. Lots of programmers are lazy and use fixed-sized arrays and "unsafe" functions like strcpy which results in security vulnerabilities and large-input bugs. But even if you do it correctly you have all this mental overhead and lots of lines of code.

In C++ you just drop in std::string and go.

I mean it depends on the project and scope, but if you just write C-style code but use unique_ptr, vector, string, and <algorithm>, you're already at an advantage.

I've seen a few people/companies do this and it always baffles me. You don't have to use every C++ feature in existence, but a little bit here and there is far more productive and safe than writing C.

So here's the problem: you can buy an older cast-iron table saw with good precision and a large bed for $50-$150 on craigslist, or you can buy a cheap piece of made-in-china plastic at home depot for $500. The cheap piece of plastic checks off more safety features from a regulatory standpoint, but tiny size and poor tolerances results in more kick-back and accidents.

Trying to write a perfect optimizer is like trying to slay a hydra. Every time you address one weakness, two more are spotted. The overall approach has to run in polynomial time (or close to it), so there will always be missed optimization chances.

And then half the time it's just your compiler being stupid.

Nah, that's not it. Try riding a bike in reverse (or pushing it). It's not at all stable, because the feedback is applied in the opposite direction. You'll fall right away, even though the gyroscopic effect is identical.

I've heard that the gyroscopic effect in bicycles is rather small. The balance instead comes from the positive angle of the front wheel, creating feedback. If the bike leans one direction, the wheel rotates to counteract it.

As a kid I did the math on all the lego sets, and came to the conclusion that the 500 piece bucket was the best bargain, beating out the 1000 piece bucket by a decent amount. Most other sets were an awful value in comparison.

As an adult, I realized buying new was idiotic when I could just buy used. I ended up buying a former lego employee's collection for $60, selling the monorail it contained for $1000, and keeping the massive washing-machine sized rest for myself. Too bad deals like that come once in a lifetime!

OSB is much more nuanced than particle board, often in a bad way. Many manufactures orient the chips along a single axis, meaning it shares the anisotropic properties of solid wood where the X axis has a different strength and expansion rate than the Y axis. And looking at the 3rd dimension, the Z axis is actually quite weak. If you glue something to the face of an OSB board, you can break the joint fairly easily because the individual chips pull out.

Retro games used a ton of tables. Back then memory speeds were blazing fast, but processors were sluggish, so it made sense to pack as much computation as possible into tables. The more clever you were about it, the fancier games you could make.

Well, consumer reports is still kicking. I don't think an aggregate review service does much good though.

Reviews for physical items are super inaccurate. The average consumer doesn't have the money to buy 10 laptops and compare them, so they buy one and hold a biased opinion about it. In 5 years when shitty battery and defective hinge become apparent, the laptop is already off the market and the user isn't interested in reviewing it.

Besides, a ton of reviews are fake these days. You just can't trust them anymore. And for many products, the manufacturer cheapens them oven time without telling the public. So a review from 2 years ago may not reflect the quality of today.