Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
kaba0
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
46 ms
·
811.
▲
by
kaba0
3y ago
This is what Java does, so in a way, data races are safe.
812.
▲
by
kaba0
3y ago
GraalVM has Isolates that can do this on a much more fine-grained level and with multiple languages (it can also run LLVM-languages now).
813.
▲
by
kaba0
3y ago
Go has absolutely zero interesting properties here. It has a shitty, inexpressive type system, dangerous concurrency, brain-dead error handling. It is a managed language, which provided memory-safety for many many decades now.
814.
▲
by
kaba0
3y ago
Java’s recent Foreign Function & Memory API gives you temporal, spatial and thread-safety. In short, foreign memory is represented as a Segment, with known bounds (it also has a possibility for unbounded “pointers”, for e.g. c strings),
815.
▲
by
kaba0
3y ago
How are exceptions less safe or less clear? Also, crashing fast is the best way to deal with unforeseen events one can’t recover from. Your anecdotal experience with regards to firefox and rust just shows that they put more assertions int
816.
▲
by
kaba0
3y ago
C is not a particularly low-level. It has no (standard) way to control vectorization, stack usage, calling conventions, etc. It just had an insane about of money spent on making its compilers optimize better.
817.
▲
by
kaba0
3y ago
With all due respect, these “adversial compiler” expression just makes zero sense, and takes a lot away from your comment. Guess what, the world is complex, and software has no bound for complexity. Which is better, a multi-million lines co
818.
▲
by
kaba0
3y ago
> [..] and the ability to extract every last drop from limited hardware was back in the day more important than software working perfectly always That seems to contradict the “very simple to implement compiler”
819.
▲
by
kaba0
3y ago
That’s hardly the whole picture. There are endless possibilities within that - e.g. the design of a text editor will look nothing like that of an AAA game’s ECS.
820.
▲
by
kaba0
3y ago
> This is done on potentially millions of machines multiple times a day And? Your car is working at an average of 20-30% of thermal efficiency, yet the benefit you get greatly outweighs the costs, doesn’t it?
821.
▲
by
kaba0
3y ago
There is iSH for ios, where I can run most x86 binaries just fine, without any jailbreak, for what it’s worth. GrapheneOS is very cool, but it’s a significant tradeoff for people (having the sufficient knowhow, also I prefer the iphone’s be
822.
▲
by
kaba0
3y ago
WasmGC is now available, so I guess it can also be solved sometime in the future, and I wouldn’t mind it at all. Though we would need much better wasm debug tooling, similarly to JS consoles — today’s minified, obfuscated JS is not much bet
823.
▲
by
kaba0
3y ago
> than something natively compiled Yet, basically every hot enough method will be run as JIT compiled native code.
824.
▲
by
kaba0
3y ago
Wasm is not more efficient for many use cases than regular old JS. HTML is text is pretty meaningless - it is parsed into the DOM, which is efficiently represented in native code by the browser. And this DOM - with all its warts - is the
825.
▲
by
kaba0
3y ago
Withholding != not providing. It is a very muddy topic as is, but let’s not leave out that Gaza is not bordered by Israel alone. What some random politician says (and then some of them gets cut up out of context for propaganda) has not much
826.
▲
by
kaba0
3y ago
There is basically no production-ready free hardware on the market, the pinephone (which is in the toy category, let’s be honest) is also full of proprietary firmware.
827.
▲
by
kaba0
3y ago
GrapheneOS is by far the most secure option. Unfortunately, it’s only for pixels (as the former “director” (in my opinion rightly) claims that there is not much point to “extreme” security if the hardware itself is already vulnerable, and m
828.
▲
by
kaba0
3y ago
> An alternative design would have been to have built Wayland inside X.org and tunnel the new protocol over the existing protocol, and then migrate chunks of functionality one at a time You are looking at it from the wrong direction, tho
829.
▲
by
kaba0
3y ago
As if linux was so good at accessibility before that.. as one ex-X-maintainer once said: “there is only so much lipstick you can put on a pig before you question why you try to make it fly” (I may be butchering up the quote).
830.
▲
by
kaba0
3y ago
5: There is waypipe and similar programs, some that even support audio transmission (as arguably, that’s the whole feature set. There is not much point having it built into the part responsible for display only) 6: continued using is not th
831.
▲
by
kaba0
3y ago
Just an additional note (though I’m coming from the Java side of things), in some managed languages the difference between the stack and the heap is also not as significant as they are in a malloced, manual language. E.g. in case of Java, t
832.
▲
by
kaba0
3y ago
I see what you say, but have to nitpick this: “Java a while back had the problem that when GC would run, the application would freeze for a bit due to how the GC worked” — Java has pretty much always had the very best garbage collector avai
833.
▲
by
kaba0
3y ago
> In C, Zig, Rust, C++ (hardish) I can sit down with pen and paper and map out the layout of memory and take informed decisions on cache locality, access patterns, etc s/informed decisions/educated guess at most Even a seemingl
834.
▲
by
kaba0
3y ago
It’s the same as using “unsafe” in rust, it shouldn’t be necessary by default, but when you do need it, you can have a well-defined part that safely encapsulates all the logic of dealing manually with memory. The end result will be a safe p
835.
▲
by
kaba0
3y ago
Well, automatic doesn’t add much to the picture, it’s more of a marketing name. But you are right, I used rust’s terminology here.
836.
▲
by
kaba0
3y ago
ARC can stand for multiple things and is more of a marketing name here, than anything. The relevant garbage collector algorithm is called reference counting - and depending on whether it is single-threaded or have to do it over multiple thr
837.
▲
by
kaba0
3y ago
RC is slower than a modern garbage collector, ARC (if the A means it requires an atomic increment/decrement) is significantly so. I’m not saying that it is a bad choice, it is probably a good one in case of battery-powered machines wit
838.
▲
by
kaba0
3y ago
I mean, if I would have to write curl scrips to access reddit, it would still be a better experience than the official reddit app, it’s not a high bar. Honestly, I don’t think I could deliberately come up with a worse design.
839.
▲
by
kaba0
3y ago
If a c code can automatically be compiled to wasm that is compiled to a safer c and machine code, then the same c code can also be transformed the same way without that extra step to that output. It’s either that the original c code that ca
840.
▲
by
kaba0
3y ago
So what is your solution? Not doing anything is always the easy way, but it’s not a way out of most problems. Life is not a zero-sum game — in most situations there is no zero-cost decision.
More ›