HN user

annilt

183 karma
Posts7
Comments29
View on HN

So after witnessing all these problems, more projects will start closed source or with restrictive licenses(GPLs) instead of OSS or more permissive licenses. This is how OSS community is being degraded. A few tech giants are disrupting entire OSS community. It may be legal/morally ok(or not I dont care) for AWS to do this but it is for sure we’ll have less OSS because of this.

Just want to add one thing, x86 has stronger memory “semantics”. So, it doesn’t have to work that way behind the scenes, just at the end of the block, it has to appear it worked that way. So, x86 does reordering, store combining etc a lot. IMHO, performance difference between arm vs x86 barely related with ISA, in M1 case, it’s definitely not, a lot more going on than just taking advantage of weaker memory model.

Not a web developer but I feel like text only/small websites should be promoted. Unnecessary images on this page, weird backlink stuff between comments.. and this is a website about web development. Not looking good to me(I’m a dumb user) yet still better than many others.

I’m not blaming developers. Indeed extra features are more valuable(for users/marketing etc.) than performance most of the time. So, it’s completely normal. More hardware will lead to more features and bloat. There is no one to blame on that.

Problem is these softwares can be made as fast as they were before but instead of investing time on performance/resource usage, developers see more value on extra features. So you end up with a fully featured but slower than ideal software. Even it is slower, still in acceptable limits to the majority of users.

He uses Chrome as an example. You can think of a website instead of it, its ‘start up’ time always matters and almost all websites are slower than 10 years ago

Search engines should punish slow/big/bloated websites or promote light ones. Is google doing something for that? It is so annoying to spend time on web nowadays. I find myself skipping search results when website looks bloated to me. So it is like ‘search something, quickly look at results, try to click on most accurate and lightweight looking link, if website is actually bloated click back without waiting it to be fully loaded and try again on another link.’

Afaik all spectre/meltdown family attacks are possible even with a single OoO execution. But increasing the quantity(adding more complexity) might cause new batch of security issues ofcourse.

They do something similar for ‘loops’. CPU doesn’t decode same instructions over and over again, just using them from ‘decoded instruction cache’ which has capacity around 1500 bytes.

Out of order execution makes your code run faster like 20x-50x. You can’t produce a CPU without it and compete in the market. There are many variations of spectre and meltdown bugs, some of them might be fixed in the CPU and some in the OS. So, there is no simple answer to your question I believe.

I meant no use-after-free bugs in production, otherwise we find a lot in development with daily tests etc. but looks like we catch them pretty effectively. It works good for us but doesn’t mean it’ll work for all other projects, so yeah I can imagine myself applying such tricks to a project some time, especially when you jump to another project which has messy code, you become paranoid and start to ‘fix’ possible crash scenarios proactively :)

If it works for you, then it is okay. It is not ‘a little effort’ for me to worry about someone else might use this pointer mistakenly, so I need to think about that all the time. It shifts my focus from problem solving to preventing future undefined behavior bugs. These bugs in the link, I don’t know C++, it is a big language which does a lot of things automatically, so it is already scary for me :) Maybe that is it, I write C server side code mostly(database) with very well defined ownership rules. Things are a bit more straightforward compared to any c++ project I believe. I just checked again, we don’t have any use-after free bugs in the bug history, probably that is because of %100 branch coverage test suite + fuzzing + sanitizers. So I rather adding another test to the suite than doing defensive programming. It is a personal choice I guess.

Please don’t get me wrong but these precautions sound like you are sweeping problems under the carpet which will come out one day back again. It sounds like you have ownership issues in the design and trying to hide ‘possible future bugs’.

Do you use sanitizers for use-after free bugs? I see many people still don’t use them even though sanitizers have become very good in the last 5-6 years

I don’t have a Windows setup, anybody knows what is the latest situation with WSL2? If you can run posix apps as if they’re windows apps, like a posix server app listens on localhost and windows client app can connect via localhost, that may solve problems for some apps. This doesn’t apply to libraries though.

I’m back to Firefox after many years, it’s quite good and I don’t miss anything from Chrome other than one click translate page button. Also looks like FF has caught up Chrome performance-wise. It’s fast, it respects your privacy, very nice!

Problem with these kind of tools, they don’t play nicely with other applications, e.g games. Does it handle it? Like by automatically disabling it or some other way, preventing control change to effect any other program.

You are right, it is not necessary to be effective. I just feel like having ability to reason about tools you use is more important than any language you learn. New developers should care less about languages, care more about fundamental things(could be anything depending on their work, not necessarily ‘deep’ stuff but its not a programming language imho)