HNHacker News
TopNewBestAskShowJobs

fyi1183

233 karma · joined January 1, 2018

submissionscomments
fyi1183··on Temporal side-channels and you: Understanding TLBleed
Maybe the answer is "wait and see the full details when they become available", but is there an example of code that is hardened against cache side channel attacks but would be vulnerable against TLB side channel attacks?
fyi1183··on The advantages of an email-driven Git workflow
The main problem with HTML email is that it breaks interleaved responses ("bottom posting").

Bottom posting is so useful that even Outlook users reinvent it, badly of course, using different text colours etc.

It's been decades now, why have none of the advocates of HTML emails fixed this really basic problem?

fyi1183··on The advantages of an email-driven Git workflow
Phabricator is decent in many ways, but it's terrible at handling patch series. Most people don't seem to be aware of the feature at all, and it's not integrated at all into tools like arcanist.
fyi1183··on 500px will no longer allow photographers to license their photos under CC
I'm saying that it very well could have been intentional, yes. Not in the sense of somebody at Google targeting Blender specifically (that's possible but seems very unlikely), but in the sense of somebody at Google trying to see how far they can push forced monetisation through algorithmic coercion.

I don't think we have enough information to say for certain what really happened.

fyi1183··on 500px will no longer allow photographers to license their photos under CC
> once the humans at youtube are alerted about the problem, the videos are put back up, as in the case of the blender videos. But if it was an intentional human takedown, the videos wouldn't be put back up.

It could also have been an intentional trial balloon, to test the waters to see how much they can get away with. Politicians do that kind of thing all the time.

fyi1183··on AMD Tackles Coming “Chiplet” Revolution With New Chip Network Scheme
There's already been an example of this with the AMD + Intel combination sold by Intel in the Hades Canyon NUC. It's an Intel CPU and an AMD GPU in a single package on some sort of interposer.

The more common approach is via SOCs though.

fyi1183··on A Problem That Only Quantum Computers Will Ever Be Able to Solve
True. This makes me wonder if there's an oracle relative to which BQP = PH?
fyi1183··on Linux: Introduce restartable sequences system call
I suspect that something like a heap implementation could use this. For concurrency, you want different cores to use different pools to avoid atomics. In practice, this means per-thread pools are used today, but this rseq feature seems like it would allow using per-core pools instead. That would save memory and probably be even better for cache locality when a core is shared by multiple threads.
fyi1183··on A Problem That Only Quantum Computers Will Ever Be Able to Solve
This is basically the TCS version of a clickbait headline. It's a separation of BQP and PH by an oracle. Certainly a nice result, but to put it into context, we also have a separation of P and NP by an oracle. Yet, we are very far away from actually proving that P and NP are distinct.
fyi1183··on No Copyright Law: The Real Reason for Germany’s Industrial Expansion? (2010)
The JavaScript that arrives at the browser is usually not source code in the way that licenses tend to define the term (which is the preferred form for modifying the program). It's usually at least minified.

It's kind of an interesting situation since it looks like source code even though it really isn't.

fyi1183··on Learn just a little Awk (2010)
That's a nice story, but True and False are keywords in python. Such assignment attempts are a syntax error.
fyi1183··on Ask HN: What comes after BitTorrent?
There's torrent via I2P, which provides a different anonymity-vs-performance tradeoff compared to normal BitTorrent.

I would say that BitTorrent just fits is particular design constraints fairly well, so I don't see anything replacing it without changing the use case patterns.

fyi1183··on First atomic bet on Bitcoin Cash using new opcodes
You're right of course. Just remember to use addition mod X instead of xor in that case to combine the choices.
fyi1183··on First atomic bet on Bitcoin Cash using new opcodes
... with a bias if X is not a power of 2.
fyi1183··on Intel demonstrates a 28-core processor running at 5GHz
Exactly. Keep in mind that AMD is currently selling 32-core chips.

They don't go up to that insane frequency, but still. There's plenty of opportunity to shop around if you want really beefy systems, which is a very refreshing state of affairs compared to just two years ago.

fyi1183··on Intel Announces Optane DIMMs
I don't really know much about memory controllers, but being able to mask at the byte level seems like an important optimization. Without that, many writes will have to do a read first to them merge the read bytes with the dirty bytes.
fyi1183··on Python’s For - Else
On the other hand, when you do run across this construct in the wild, it is trivial to look up what it does and learn. I imagine that's how most people learned about it, since it doesn't exist in other languages.

In a way I find your comment contradictory: on the one hand, you appreciate and embrace that the body of common knowledge can change. On the other hand, you use the current state of common knowledge as an argument against doing things that can improve the common knowledge.

fyi1183··on Python’s For - Else
The if you're talking about ends in a break.

To me and many others, having an else associated to an if that ends in break/continue/return is a code smell, because it misleadingly suggests that there are two possible paths of control flow that reach the code after the if/else, when in reality you can only reach that point through the else block.

fyi1183··on Python’s For - Else
Your suggested replacement duplicates the break condition, which is not ideal for maintainability.

Also, it only happens to work due to Python's variable scoping rules. I have wished for a for-else construct in C and C++ many times: having to broaden the scope of a loop iteration variable just to duplicate a loop break check really sucks.

fyi1183··on Python’s For - Else
Funny, I actually like for-else because it can simplify loop exits.

First of all, the core of a linear search loop always has two exits: the break and the normal (unsuccessful) loop exit.

But in a lookup-or-insert pattern, a regular for loop has two possible states that the system can be in at the end of the loop. With a for-else loop, you can put the or-insert part into the else block, so that there is a simpler invariant: after the loop construct, the element always exists and has been found.

I was honestly surprised by all the negativity in this thread. To offer an alternative opinion, there have been plenty of times when I missed having for-else while writing C.

fyi1183··on Python’s For - Else
The way I remember it is that it makes sense in loops that search for something in an iterable. Such loops break when they're successful, and so it makes sense for the code in the else clause to run when the loop was unsuccessful.
fyi1183··on Real-Time Ray Tracing Demo
To be fair, raytracing a sphere is easier than raytracing triangles.

Even a single triangle is harder than a sphere, but with a triangle mesh you can't avoid thinking about acceleration structures and having a watertight intersection test, which includes worrying about floating point precision issues.

So what you're saying may be less about raytracing vs. rasterization and more about spheres vs. triangles.

fyi1183··on Real-Time Ray Tracing Demo
Gouraud shading and rasterization are not mutually exclusive. Rasterization is a technique for getting from polygons to pixels, gouraud shading is a technique for assigning colours to those pixels. Even flat shading is usually done with rasterization.
fyi1183··on The weirdest bug I’ve found in a compiler: MSVC 2017
That feels like one of these misleading marketing statements. The real competition are GCC and clang.

But yes, embedded compilers are usually a nightmare.

fyi1183··on Jim Black's Steve Jobs Story
The iDevices are not really creative computing tools. They're mostly about consumption and, in the case of iPhones, communication.

Really expressing creativity in computing requires a richer interface, at least a keyboard and a mouse.

fyi1183··on A home-made lithographically-fabricated integrated circuit
The fundamentals of a transistor, sure, but where does computer engineering include the chemistry of the actual lithography processes?
fyi1183··on EU agrees on total ban of bee-harming pesticides
Those would be the literal meanings of the words, yes.

In practice, the fundamental difference is probably more about a person's radius of empathy (progressives tend to apply their empathy to a larger group of people), and then lots of vaguely related things flow from that, e.g. different outlooks on power (conservatives prefer a strong man - obviously only assuming he's from their own "tribe" - and therefore strongly tend towards authoritarianism) and economics (empathy with more people tends to make one prefer more equal distributions of wealth and income).

The terms progressive and conservative simply arose at a time when the world was largely shaped the way conservatives like. Since then, the world has changed more towards the progressive vision, so today conservatives do want to change creating things.

fyi1183··on Intel's 10nm Is Broken, Delayed Until 2019
Interesting, thanks. I'll see if I can grok this from the link you gave.

I do have one follow-up question though: I was under the impression that clock trees contain repeaters in the form of CMOS inverters. Wouldn't those have dynamic leakage which the transmission line stuff doesn't account for?

fyi1183··on Intel's 10nm Is Broken, Delayed Until 2019
It's possible I misunderstand you, but I don't think we're talking about the same thing.

With buses, you have different clocks and data moves between them. Like you said: CPU core 1 has its own clock, the bus between them has its own and different clock, and then CPU core 2 has its own clock which is yet again different. And in those cases you actually want different clocks, because you want to be able to boost CPUs independently from each other.

What I meant goes in another direction: instead of having a single powerful clock source for e.g. a CPU core, you have multiple smaller clock sources distributed throughout the core, but synchronized to each other so they run at the same frequency and phase. So data can move freely like it does today, but clock signals don't have to be distributed as far, which would hopefully make clock distribution easier and less power hungry.

It seems like such a thing should be possible, but perhaps there are good reasons why it isn't done?

fyi1183··on Intel's 10nm Is Broken, Delayed Until 2019
Do you have a good source on how clocks work in modern designs? From the high level down to the actual circuits?

I've always wondered why you can't generate clocks locally, but in a synchronized way. So basically like clock regions, but without having to add extra logic for data that goes between regions.

Page 1 of 4Next →