HN user

fpoling

4,292 karma
Posts74
Comments374
View on HN
www.newscientist.com 3y ago

Nuclear fusion: Has there been a breakthrough and what will it mean?

fpoling
4pts0
prce.hu 4y ago

The View from Nowhen (1997)

fpoling
1pts0
interestingengineering.com 4y ago

A new path to nuclear fusion? A novel pistol shrimp-inspired system

fpoling
3pts0
www.livescience.com 4y ago

'Burning' hydrogen plasma in the largest laser sets fusion records

fpoling
3pts0
sllc.umd.edu 5y ago

The Putin-Era Propaganda State (2015) [pdf]

fpoling
3pts0
www.bbc.com 5y ago

SEG Plaza evacuation: Shaking China skyscraper sends shoppers fleeing

fpoling
3pts0
www.bbc.com 5y ago

Mind-boggling magnets could unlock plentiful power

fpoling
2pts0
news.ycombinator.com 5y ago

Android Introduction for a Java Developer?

fpoling
1pts2
jessewarden.com 5y ago

React Redux Thunk vs. Elm (2019)

fpoling
1pts0
www.bbc.com 5y ago

A battery invented 120 years before its time

fpoling
93pts68
arxiv.org 5y ago

Testing dark matter in the Milky Way (2020)

fpoling
2pts0
blog.shitiomatic.tech 5y ago

Haskell is a Bad Programming Language (2020)

fpoling
340pts307
source.chromium.org 5y ago

C++ file with 542 lines of include statements

fpoling
4pts1
www.infoq.com 5y ago

Facebook Natively Rewrites Messenger to Make It Faster and Smaller on iOS

fpoling
2pts0
github.com 5y ago

Resource Ownership for Swift

fpoling
1pts0
www.forbes.com 5y ago

Tesla ‘Battery Day’ Promises 56% Reduction in Battery Cost

fpoling
3pts0
www.bbc.com 5y ago

The wind turbines standing up to the world’s worst storms

fpoling
1pts0
www.seattletimes.com 6y ago

Microsoft cutting MSN news production workers and replacing them with AI

fpoling
16pts9
www.bbc.com 6y ago

Europe's supercomputers hijacked by attackers for crypto mining

fpoling
5pts0
phys.org 6y ago

Scientists explore the power of radio waves to help control fusion reactions

fpoling
10pts0
wayland-book.com 6y ago

The Wayland Protocol Book

fpoling
2pts0
news.wisc.edu 6y ago

Physicists to improve plasma fusion mirror devices

fpoling
1pts0
vanemden.wordpress.com 6y ago

Recursion Got into Programming (2014)

fpoling
2pts0
www.bbc.com 6y ago

'Bath sponge' breakthrough could boost cleaner cars

fpoling
95pts108
www.feynmanlectures.caltech.edu 6y ago

Feynman's Nobel Lecture (1965) [pdf]

fpoling
2pts0
www.nature.com 6y ago

A Simple Fusion Recipe

fpoling
15pts6
scottlocklin.wordpress.com 6y ago

Shitty future: Bugman design versus eternal design

fpoling
1pts0
pdfs.semanticscholar.org 6y ago

The Dark Ages of AI (1985) [pdf]

fpoling
85pts28
scottlocklin.wordpress.com 6y ago

The Fifth Generation Computing Project

fpoling
3pts0
medium.com 7y ago

Object-Oriented Programming – The Trillion Dollar Disaster

fpoling
20pts8

The article over-downplays the need for sentinel values. Surely Rust has Option that also spreads into C++ these days as std::optional. But for plain C using -1 or negative values to denote sentinels or error code is rather nice idiom.

The argument will be more valid if array indexes will be 1-based like in Fortran/Matlab/Julia as then 0 becomes extremely nice sentinel values. But C is C and needs -1.

Road to Elm 1.0 16 days ago

Yet Elm due to its simplicity does not need a lot of examples. Language itself is small and blessed way to architecture things consist of few patterns. Then things are composable. This is ideal for LLMs.

The price for that is verbosity. What in other languages are hidden behind async and complicated libraries in Elm has to be done explicitly resulting in boilerplate. But that is never a problem for LLMs.

Then Elm compiler has one of the best error messages. This helps agents a lot.

Then Time Machine debugger is another big help for agents as they have access to the full execution trace of the program. The trace is much smaller than would be necessary for other languages and typically fits into content window.

Java allowed to handle out-of-memory rather well if one wanted to even 25 years ago. Basically one allocated a buffer on a startup taking 5% of memory that the application was supposed to use and made all threads to catch the oom exception. When handling that the buffer would be released, GC would be forced and a special flag would be set asking app to cancel any memory-intensive tasks until enough memory would be released and the buffer can be allocated again. It worked extremely well.

Interesting idea. On the other hand on the latest SSD with hardware encryption the raw disk speed under Linux can be over 5 GB/s so on my laptop with 64 GB of RAM the full restoration from disk takes like 45 seconds. With LUKS it is like 2 times slower. Which is not a problem at all. So I do not see much value in memory encryption in suspend.

On my laptop with Fedora I just configured Linux to hibernate to disk after 15 minutes of suspend. Powering memory off ensures that bugs like this Debian-specific would not matter.

Plus what Debian extension to Linux tooling does although nice in theory, but in practice if one really worries about cold-boot attacks, then all keys and important documents has to be wiped out from memory, not only LUKS keys.

So hibernating is really the only proper way to protect against cold boot.

Many such IDs are designed for local physical verification, like proof that the mobile phone owner is above certain age or has a valid driving license, they are not designed for remote verification.

For executables on Linux there are things like bubblewrap or firejail. One can also use a restrictive container. But those are strictly weaker than browser sandboxes.

The most secure way presently is to use qubes-os that allows to use a very hardened VM to run individual applications.

Browsers run it in a sandbox process together with allocator hardening. Most of the bugs then are just crashed of the sandbox

Another option is WASM or WASM-style sandboxes if using another process is undesirable.

Modern solar work nicely in UK in May-August when wind is weakest due to long hours and cooler weather. However one needs more expensive panels that also work on a cloudy days.

Then in UK somebody calculated that a house needs 1MWh battery to last over winter using only solar panels that a typical suburb house can install. In 5-10 years that would cost 40K USD making it rather realistic to have. This ignore availability of industrial-scale wind which is the strongest in winter.

In 1920 in Berlin there were more electrical taxes than gasoline one. But cheap gasoline killed electrical car industry.

Without that electrical cars would proceed to develop and batteries with high capacity would happen much sooner.

As for pollution it would not be that bad. Fuel would be expensive and cars with combustion engines would not happen on massive scale. There would be much more freight by trains and nuclear energy would be developed on much bigger scale.

If oil and gas would not exist, then liquid fuel would be produced from coal. With the latest processes the cost of production is like 80 dollars per barrel, but with processes that Germans developed during WWII it was probably like twice of that in modern money.

In alternative universe that would be cheaper due to massive scale, but the era of very cheap liquid fuel would never happen. So electrical cars on big scale will happen much earlier. And given that coal is much more evenly distributed on Earth, one can speculate that there would be much less reasons for conflicts.

ThinkPad X1 from 2 years ago was very solid and under Fedora everything but camera worked out of the box. And for camera issue I had to blame myself for not checking details of a specific model as Lenovo was offering at that time fully-Linux compatible model. It took about one and halve year before Linux fully supported it. And I already upgraded SSD on it which took less than 10 minutes.

The only complain is bad battery life. With several VMs running mostly idle it doesn’t lasts even two hours. But then I used beefy MacBook M2 at my previous work and with VMs it lasted only 4 hours.

With Go basic stuff like url parsing or HTTPS support is written in Go and comes with the standard library. With Rust too many necessary things are just wrappers around C and C++ making cross-compilation and reproducible builds much harder to archive.

As for availability if CGO is ok, then calling C or C++ code from Go is not that hard. Also, there is always an option to just start C++ process if extra data copies are OK.

With backend serving many clients with widely varying performance profile of individual requests when latency spikes happen there is no particular hot loop. Just many go routines each doing reasonable thing but with a particular request pattern hitting pathological case of GC.

Java with its copying GC deals fine with fragmentation albeit at the cost of more upfront memory. And even in Rust one can change the allocator to try to deal with fragmentation. But with Go there is simply no good options besides the rewrite.

In his last book “The Dawn of Everything” David Graeber very convincingly argued that the idea of modern democracy came from Indian tribes in Northern America.

And it is also interesting how easily European countries went back to authoritarian or even totalitarian states given the opportunity. Yet US is more resilient and one explanation is subtle influence of Indian culture that still affects US.

As for technological advantage of Europe then 3000 years ago Ancient Egypt was way more advanced than Europe. 1000 years ago Arabic countries were more advance and 500 years ago China was more advanced. And Europe was lucky that China was focused on internal problems and not territorial expansion.

For me the main advantage of Go over Rust is compilation speed. Then compared with Go Rust still rely on many C and C++ libraries making it problematic to cross-compile or generate reproducible builds or static binaries.

The minus side of Go is too simplistic GC. When latency spikes hit, there are little options to address them besides painful rewrite.