NTS (TeX reimplementation in Java from 2001) still compiles under Java 16
github.com
github.com
https://github.com/mmastrac/raritan-multi-platform-client-mo...
Say what you will about Java, but the app actually functions -- including all the wild features like remote virtual media, audio tunnelling, etc. It doesn't look very pretty, however.
'find . -name "*.java" -exec sed -i "s/search/replace/g" \;' on a per package basis will likely sort things out.
This was a great feature of the Macintosh II in 1987. Sad that it's not ubiquitous yet. (Even modern Macs snap apps to one monitor or the other, so no video walls.)
Linux, and I believe Windows as well, can display windows across different monitors just fine. But sometimes the monitors are too different, and part of the window gets ugly. Probably a blocker in Appleverse.
The vast majority is just bloat. Unimaginable bloat, hundreds of levels deep.
I can play video games at 4k 10bit HDR 120Hz with a 1kHz mouse polling rate. I can copy data at 10Gbps across computers via 30m of copper. I can transfer at 1.3Gbps through wifi.
But it takes 250ms for the f'n calculator to start up on a good day?
This is a general issue to all modern software.
And you can certainly have such features in modern / fast frameworks. Take a Java Swing or JavaFX app and compile it with GraalVM Native Image. The framework dates from the 90s but is maintained because JetBrains relies on it. It supports hi-dpi displays, accessibility apps, multi-monitor rendering and so on. And when natively compiled, it will start in the blink of an eye.
Like, there shouldn’t be anything fundamental that prevents it from working (it just has platform specific native dyn libs which works fine with graal), but never seen an example, so I would appreciate a pointer.
https://github.com/gluonhq/substrate
Sibling gave a link for Swing. I've also seen it done for Jetpack Compose but that's definitely more experimental.
None of this stuff is very smoothed over though. There aren't many people doing it. But, the results are pretty magical.
ftp://ftp.adobe.com/pub/adobe/reader/
Somebody else on HN said they don't rely on anything which has Semver and yet the major version is 4 or greater, because that means they were so wrong they had to change their API already at least three times so they've clearly got no idea what they're doing. I think I'm beginning to agree.
Given the discussion in a sibling (nephew?) thread (https://news.ycombinator.com/item?id=40755845), I thought at first that this was a description of how many modern, bloated apps you could run on a modern computer before the OS slowed to a crawl.
Go 1.0 code mostly compiles and runs just fine.
C# 1.0 is still valid syntax, and library authors can target both legacy and current day versions of .NET with netstandard2.0 target. Most libraries do just that.
Moreover, there are still some applications that get to use modern runtime-independent language features and SDK-style projects (terse Cargo.toml-like project manifests, still XML but they are very readable) while targeting both .NET Framework 4.8 and .NET 8 at the same time (and everything in-between them). Hell, I've seen projects[0] which look relatively modern but for some reason still target .NET Framework 3.5, I do not condone that, but it is doable and sometimes there are reasons for it.
[0]: https://github.com/Kevin-Robertson/Inveigh/blob/master/Invei...
The enterprise want to keep running. IT is a cost so not needing to upgrade is a massive win.
Maybe I should adopt this mentality.
All you have to do is not care about the next person doing your job and it's easy —the poor shmuck.
https://github.com/jamespfennell/new-typesetting-system/blob...
Alot of this doesnt look much different than Java code bases i see
My word, that is indeed an odd licence! Those "strange clauses" make up most of the body of the licence. I've never read a licence like that before.
I keep a set of old Debian VMs around, to find a machine from the time a program was created, so I can run older stuff.
(If you wonder why I'm running so much old, unsupported stuff, that's academic research software for you)
I started using again an old ~12 year old Asus Android tablet. Impossible to browse the web, as it doesn't support newer TLS versions, newer CA. Impossible to install more recent software on that old Android version. Play store don't even work anymore (probably for the TLS reason). Then I wanted to install a recent Linux, and even after working around all the above and have the Asus bootloader unlock app installed, with mitm proxy to simulate old TLS, I realized that the Asus service to unlock bootloader doesn't exist anymore...
Software rot so much faster than hardware sadly :( (the good news is that old software is also full of vuln, so I was able to install my Linux - postmarketos - anyway without unlocking the bootloader, and to my surprise, everything works perfectly out of the box)
WTF. Did that service check something while it worked?