-17 karma · joined December 14, 2023
I have always had to do synchronized(something) { socketInputStream.read(); }
And the dude himself says that reading from a socket is a problem if you listen to the interview.
Moving monitors into Java is not a good solution, like the long solution they are working on.
Java should be the API not the implementation!
To get the whole context, so virtual threads are unusable?
What holds a monitor by default and is there a workaround?
Found more:
A virtual thread cannot be unmounted during blocking operations when it is pinned to its carrier. A virtual thread is pinned in the following situations:
The virtual thread runs code inside a synchronized block or method
The virtual thread runs a native method or a foreign function (see Foreign Function and Memory API)
For those those that don't know what this means: Blocking network TCP IO needs a sychronized block to work = you can't use virtual threads for networking. I wish they formulated it like that from the start!Atleast now we know what they meant with don't use virtual threads for anything but tasks <- not blocking IO with synchronization!
So for now manual NIO is still the king of the hill.
We are reaching peak humanity levels of complexity!
It's been a year for the JH7110 too, so I wouldn't hold my breath.
On Vision Five 2 everything is still softpipe in the official Debian from Star Five!
On the PineTab-V NOTHING involving the 3D part of the GPU works!
YouTube works for consumption, but that's not interesting for production.
To write/film a review of a SoC with GPU without running glgears is backwards.
I think the only hope now is for the upstream to gain a working driver in a year or two.
"Don't replace platform/native threads with virtual ones, replace tasks (without further explanation) instead"?!
Combine that with the fact that they chose to implement the scheduler in Java instead of C(++) and you're set for performance problems.
Remember that NIO took from 1.5 to 1.7 to be usable/performant and that was native!
Edit: Finally figured out why: https://news.ycombinator.com/item?id=39010648
I know that it's hard to build the intuition and sharp judgment without failing, but with time anyone can dismiss mistakes in their head. Only money makes you make mistakes because you are 1) pressed for time 2) greedy.
Money IS the problem, soon money will be the problem of the past though (energy is the final problem), so that wasted time (most of 4 billion man centuries) is lost forever in a puff of smoke.
Everything is shit, think before you act! It's better to do nothing, than to deliver more shit.
To produce value you need to get away from bloat, not embrace it.
Linux has it's problems too, but it's open; so we can fix them.
Microsoft can't be fixed.
Cache misses are one thing but here it's virtual memory and page tables!?
TLB = Translation Lookaside Buffer
- If you begin in a corner (best) or side (ok), you can win if the side opposite to the one you are rushing towards does not rush you. If you begin in the center there is no way to win.
- To rush wait until ~17 because then you'll fill a full run before your lands get 2, enabling a second rush if the first fails.
If you win against one player before 50 seconds the chances get exponentially higher to win. Beat 2 in the first 100 seconds and you probably have 90% chance of steamrolling the entire board.
If so what made you resign that?
- Central Paris will have ZERO diesel cars after 2024.
- 1, 2, 3, 4 and north parts of 5, 6, 7 arr. will have limited non-diesel traffic.
- Neuilly is also adopting the same limitation, because everyone there already have Teslas. (Electric is not the solution, the bike is the solution)
Respiratory diseases are not only caused by viruses they are also increased by diluting gasoline and diesel with other oils (historically mostly palm-derived, but now any cooking oil is used) to increase supply.
I'm betting fracking also puts a lot of bad things into these fuels that then end up in the air you breathe.