Hacker News new | past | comments | ask | show | jobs | submit | mibsl's comments login

There is still glass (and silicone?).


glass is a lot heavier and way more expensive (glass is made out of silicon).

There are a lot of different types of plastics the common ones use in packaging are LE-PE (light density polyethylene) and PP (polypropylene). They are both thermoplastic, they melt then heated. Silicone is also a form of plastic, it's thermoset (it chars effectively and it doesn't melt) - and it's awfully expensive. There are other plastic, e.g. nylon (PA6) that are still expensive but much cheaper than silicone.


Silicone rubber has high gas permeability. This makes it good for contact lenses, but bad for food packaging.


I think Haskell's Software Transactional Memory has used this novel write-snapshot isolation level for close to two decades.


This is done so that the programmer doesn't have to reason about it. Polonius makes the compiler accept code that's obviously valid, but the current borrow checker isn't sophisticated enough to declare it as safe.

I've bumped into this kind of problem when writing rust, at first it was hard to understand why the compiler doesn't accept my code.


This kind of control would drive me up the wall. If I write code and my logic is wrong I appreciate compiler being able to tell me to sod off. Doing it when the logic is perfectly valid is a turn off.


That's the draw of having a borrow checker, which is arguably the contributor to the biggest pain points of Rust. Everything is a tradeoff. Rust's "unsafe" blocks are also a tradeoff. To my understanding, Rice's theorem ensures that, for checking borrows, either all invalid programs and some valid programs are rejected, or all valid programs and some invalid programs are accepted. Given Rust's goal of overall safety, the conservative route (which rejects some valid programs) is favored.


>" the conservative route (which rejects some valid programs) is favored."

I understand it and consider it very reasonable choice given the goals. Still no fun ;)


Some languages require you to declare your variables, and if you use an undeclared variable, the compiler complains and refuses to emit any code. Is that a turn off for you, too?


>"Is that a turn off for you, too?"

Quite the opposite


The problem described in 2018 seems completely unrelated to downfall. It looks like a potential optimization to the original spectre, doesn't even mention AVX gather instructions.

I don't see this going anywhere.


To me this one feels cluttered, way too much going on. Definitely distracting, but I wouldn't call it beautiful.


Not really. The NH D15 is an impressive cooler, but it falls behind 280 AIOs. Even ones cheaper than itself.

https://www.gamersnexus.net/hwreviews/3571-arctic-liquid-fre...


Yeah I admit that there are cheaper water coolers than Noctua that perform better. But the main issue I have is with water cooling itself (can burst or leak if unlucky or with poor maintenance, has a more limited life span, etc...)


Semiconductors - Physics inside Transistors and Diodes

Physics Videos by Eugene Khutoryansky

https://www.youtube.com/watch?v=hrpPKCDLRN0


The code snippets appear to be full of mistakes.

E. g. filter_vec_avx2 doesn't declare the loop variable i and stores input elements into the output instead of their indices. Or from_u32x8 has a DataType instead of __m256i and [u32; __m256i] instead of [u32; 8].


Meaningless because (adequately cooled) modern desktop CPUs mostly run near their boost clock in single threaded loads and somewhere between base and boost in multithreaded.


Short circuiting is a special case of laziness. It's local only, so no thunks are required.

The beauty of functions like fromMaybe is they're only that - just plain, regular functions. No special casing under the hood required.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: