HNHacker News
TopNewBestAskShowJobs

spintin

-17 karma · joined December 14, 2023

submissionscomments
spintin··on Found a simple tool for database modeling: dbdiagram.io
Isn't editable diagram to text more useful?

I used to query databases and create diagrams from the metadata, but text to diagram just makes little sense to me.

spintin··on Java – Integrity by Default (JVMLS 2024)
This is a perfect example of people struggling to remain employed.

Java 1.8 is good enough for eternity, so they have to break it to keep getting a salary.

Just like Google/Apple have to break HTTP/1.1 to force adoption of their "obfuscated by complexity" protocols.

What needs to be fixed in Java is the Virtual Thread pinning, and that is probably the last usable feature they will ever be able to add.

They are also trying to deprecate AWT, for their non open-source JavaFX.

The only way to not remain a slave is to break free:

Compile your own Java!

Compile your own Linux!

Buy redundant hardware that does not break easily and is repairable.

Make your own devices if you can.

Make your own encryption.

spintin··on Comparing HTTP/3 vs. HTTP/2 Performance (2020)
This.

The amount of times certificates have run out breaking things is astounding.

So I work around all certificate test the first thing I do when integrating with an external HTTPS site.

Good job people that get paid by HTTPS.

spintin··on Comparing HTTP/3 vs. HTTP/2 Performance (2020)
Me too, HTTP/1.1 for life.

The performance of these binary protocols does not scale on most server implementations.

The protocol is not the bottleneck, the parallelism and memory latency is.

spintin··on Leaving Rust gamedev after 3 years
When ever I watch someone coding C(++) all they do is compile and then add remove * and & or change between -> and . when the compiler complains.

Multiply that by all the C(++) coders on the planet and we have lost a billion man hours...

spintin··on Understanding and avoiding visually ambiguous characters in IDs
Interesting, I did different choices:

5-bit base-32 oi23456789 abcdefghkl mnpqrstuvw y

o = 0 i = 1 j, x and z removed.

I like that you can fit 6 characters in an 32-bit integer and still have to bits to spare... makes for compact usernames and network bandwidth.

spintin··on GPU compute in the browser at the speed of native: WebGPU marching cubes
WASM is adding GC... recreating the wheel of the applet but without escaping the problem of javascript glue.

Go is just Java without the WM.

Rust is just a native compiler that creates slow programs and complains a lot.

spintin··on GPU compute in the browser at the speed of native: WebGPU marching cubes
It's pretty much the only professional language you can write.

If you consider respect and responsibility.

spintin··on GPU compute in the browser at the speed of native: WebGPU marching cubes
This is the eternal browserbros. attempt to make us think native has zero value now that we have a completely captured and bloated browser.

The browser is dead, the only thing you can use it for is filling out HTML forms and maybe some light inventory management.

The final app is C+Java where you put the right stuff where it is needed. Just like the browser used to be before Oracle did it's magic on the applet.

spintin··on Help us invent CSS Grid Level 3, a.k.a. "Masonry" layout
You can very simply do this with javascript.

Browser developers are now reaching for straws to remain employable.

That said the biggest tasks remains:

- Go back to HTTP/1.1 with "One time password" auth.: https://datatracker.ietf.org/doc/html/rfc2289

- Simplify the browser so that it can be compiled in less than many hours on the latest CPU.

- Completely remove the tie-ins to any commercial/governmental entities.

Basically go back to Netscape with some improvements to javascript performance and hardware accelerated rendering of HTML.

Everything else invented in the last 20 years is meaningless. This is valid in most domains: Raspberry Pi is the only real exception.

spintin··on JEDEC Extends DDR5 Memory Spec to 8800 MT/S, Adds Anti-Rowhammer Features
HBM is slower than DDR per pin, the speed gain is from a hugely parallel bus.

Parallel means latency if you have non "embarrassingly parallelizable" tasks?

spintin··on Meta Horizon OS
I think linux would be the obvious choice.

VR is being gatekept by Valve and Meta.

How likely is Valve to use Android?

spintin··on Z80 Product Line Z84C00 End of Life / Last Time Buy [pdf]
6502 > Z80
spintin··on Fear makes you a worse programmer (2014)
As with all tools the goal is to be able to use the tool without fear.

Remember the first weeks of coding C? It took me 4 years to not get cold sweat just thinking about using it when the compiler didn't inform you about a typo and you have to rollback the code all the time to fix problems and learn assembly (in X86, ARM and now Risc-V).

And that was without deadlines or any delivery pressure.

Today I realize C is for mad people, but I learned to respect the thing while no longer being afraid to use it in a real scenario.

spintin··on Don't require people to change 'source code' to configure your programs
Unless you can hot-reload it?
spintin··on XDP for game programmers
The real way to do this is to get user space networking.

Also event-based protocols with deterministic physics.

Last but not least, you need to use a language that can atomically share memory between threads; C (with Arrays of 64 byte Structs) or Java.

spintin··on Garbage collection for systems programmers (2023)
Hm, ok I have Arrays of 64 byte atomic Structs defined in C and I want to iterate over them in Java, is that possible with the Memory API?
spintin··on Garbage collection for systems programmers (2023)
Or you just use static atomic variables no?

I mean it wont solve your race conditions but it also wont crash.

And it will be VERY fast because parallelism without cache misses!

I wish there was a Java with C struct JNI access.

spintin··on Why quantum entanglement doesn't allow faster-than-light communication (2016)
Actually I prefer no comment if you have no arguments:

"While I'm on the topic of concurrency I should mention my far too brief chat with Doug Lea. He commented that multi-threaded Java these days far outperforms C, due to the memory management and a garbage collector. If I recall correctly he said "only 12 times faster than C means you haven't started optimizing"." - Martin Fowler

https://martinfowler.com/bliki/OOPSLA2005.html

spintin··on Why quantum entanglement doesn't allow faster-than-light communication (2016)
lol classic HN down vote without comment...
spintin··on Why quantum entanglement doesn't allow faster-than-light communication (2016)
The Java concurrency package is the only way to get your multi-core CPU to share memory atomically without going "Arrays of 64 byte atomic Structures" with C.

And then you are in segmentation fault hell.

Sun had to rewrite the entire JVM in 2003 with a new memory model, later adopted in C++11 (and still the current C++ memory model) which failed for C++ because this model only works well if you have a VM with GC.

C# is just a plain Java copy after Microsoft got sued for J++ in 1998.

All other languages have problems with concurrency and threads that make them unsuitable for anything really.

So again, Java is the ONLY language/VM you can use on the server and on the client you still want a combination of C(++) and Java for performance + ease of use (avoid segmentation fault hell that no person should suffer).

If you saw bad Java code then that is not the fault of Java.

spintin··on Why quantum entanglement doesn't allow faster-than-light communication (2016)
The problem with entanglement is obviously that it does not scale many-to-many, just like Erlang. You need Java to do many-to-many or C with a GC VM.
spintin··on Broadcasting LoRa packets wihout a radio [video]
But then you are transmitting at 0,5 bit / second?

The ideal range/speed is somewhere between 100 and 1000MHz, ideally you would want that entire range.

But how do you build a band pass filter that can cover the entire range?!

spintin··on Compiling Rust to WASI
Seems to me Rust + WASM is just a recreation of the Java Applet outside of Oracles control.

I guess they forgot Java is Open-Source and anyone can make a Applet plugin if they wish.

The main reason that is not happening is that the browser is dead.

spintin··on WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport
SSE are really a subset of Comet-Stream (eternal HTTP response with Transfer-Encoding: chunked) only they use a header (Accept: text/event-stream) and wraps the chunks with "data:" and "\n\n".

But yes it's the superior (simplest, most robust, most performant and scalable) way to do real-time for eternity.

The browser is dead, but SSE will keep on doing work for native apps.

spintin··on How web bloat impacts users with slow devices
It has usability problems with f.ex. collapsing a comment tree.

I returned to it last major reskin too but then they fixed the new to become usable.

Now they removed the middle version... they should have made recent.reddit.com for those that want to wait until new.reddit.com doesn't suck as much.

spintin··on How web bloat impacts users with slow devices
I wish! The truth is server and client programmers rarely get along so persistent MMOs with alot of moving parts are only going to happen once one developer is schizo enough to do both well. AAA will never be able to do it.
spintin··on How web bloat impacts users with slow devices
No but most games are. Thus PUBG is an outlier.
spintin··on How web bloat impacts users with slow devices
Yes, on Thursday Google ended their only viable "product".

RIP Google.

The new Reddit is unusable, and the old is well too old.

Twitch is borderline usable, with chat and video stream problems...

The list is long...

All changes are bad when you have the final formula because they are job security.

Eventually the monkeys on this ball of dirt will realize that jobs and money don't exist, but then it will be to late... oh that is now!

RIP Humans.

spintin··on How web bloat impacts users with slow devices
PUBG is now a very special beast: It's CPU bound = we are unlikely to ever see a "AAA" game with anything beyond it's complexity for eternity. You can run it on a 1030 GPU at 60 FPS.
Page 1 of 3Next →