Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
josephg
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
28 ms
·
391.
▲
by
josephg
6mo ago
Almost all rust (95%) is safe rust. You can opt out of array bounds checks with unsafe { array.get_unchecked(idx) } instead of just typing array[idx]. But I can't remember the last time I saw anyone actually do that in the wild. Its no
392.
▲
by
josephg
6mo ago
> What do you think C would need in order to reach the user experience of those languages? - A better, cross platform build system. - Generics - Ergonomic compile time metaprogramming (zig's comptime, rust's macro system, etc)
393.
▲
by
josephg
6mo ago
> We're talking about critical bugs in the filesystem so what the FS processes idea of a file handle is doesn't really matter. The copyfail bug wasn’t a bug in the filesystem code. It was a bug in the crypto algorithm code, whi
394.
▲
by
josephg
6mo ago
> I wrote an essay explaining the issues here This essay only addresses my second point - capabilities within a program. It doesn't address OS level capabilities at all. But even in the space of programming languages, I find this es
395.
▲
by
josephg
6mo ago
> Note that capabilities would not help for those bugs we are discussing today. Yes they would. Copyfail uses a bug in the linux kernel to write to arbitrary page table entries. A kernel like SeL4 puts the filesystem in a separate proces
396.
▲
by
josephg
6mo ago
Yes. But its nowhere near as powerful as capabilities. - Pledge requires the program drop privileges. Process level caps move the "allowed actions" outside of an application. And they can do that without the application even knowi
397.
▲
by
josephg
6mo ago
I've been wanting a capability based security model for years. Argued about it here in fact. Capabilities are kind of an object pointer with associated permissions - like a unix file descriptor. We should have: - OS level capabilities.
398.
▲
by
josephg
6mo ago
I know what its like to be on the other side of it too. I've had plenty of things I've done posted to HN over the years. I've gotten all sorts of comments. Honestly, I'm chuffed and always a little surprised when people
399.
▲
by
josephg
6mo ago
Eh. I draw the line in a slightly different place. I think saying that some piece of software is bad is not an attack on the developers. It doesn't imply ill will, or entitlement or any of that. People are allowed to write whatever sof
400.
▲
by
josephg
6mo ago
> The other obvious reason is profiteering When supply is constrained, widgets to get sold to whoever is willing to pay the most. It’s capitalism, baby. Arguably this is a good thing, because the limited resources are allocated to the pe
401.
▲
by
josephg
6mo ago
If you haven't done it, I really recommend the official resolve training: https://www.blackmagicdesign.com/products/davinciresolve/tra... The UI patterns make a lot more sense after watching the people who de
402.
▲
by
josephg
6mo ago
Yep. And ironically, the most complex software I use - IntelliJ and davinci resolve - don’t have any onboarding at all. They’re great! The makers of resolve have some excellent video tutorials on their website and a manual that is many hund
403.
▲
by
josephg
6mo ago
The central freedom provided by opensource software maintainers is the fork button. Not the “merge pull request” button. Git hosting provides discoverability and the ability to fork repositories. Everything else is an optional feature.
404.
▲
by
josephg
6mo ago
Yep. We could have a system like how there's a global system allocator, but you can override it if you want in your app. We could have something similar for a global async executor which can be overridden. Or maybe you launch your own
405.
▲
by
josephg
6mo ago
They do work well. But I still see the occasional type related issue or bug from refactoring that claude will introduce into javascript and python code. It seems to be happening less and less frequently as the models get better. But, the ru
406.
▲
by
josephg
6mo ago
ASI is the acronym you’re looking for. It stands for Artificial Superintelligence. Arguably it’s already here. ChatGPT knows more than any human who has ever lived. It can carry out millions of conversations at once. And it has better worki
407.
▲
by
josephg
6mo ago
Because its fun. And because your experience using a tool is fundamentally different if you made it yourself, compared to if its something someone else made for you. I don't think I can explain the difference, but it feels really diffe
408.
▲
by
josephg
6mo ago
Yeah. Especially in the era of doctor ChatGPT. Sometimes patients will also have an expired prescription from a different doctor, and they want a top-up. Good doctors check. Just because some other doctor prescribed some drug 3 months ago d
409.
▲
by
josephg
6mo ago
> As a senior developer, 25+ years, I have been thrown recently into a meeting "hey can you join in for 5 mins". This is a common thing doctors complain about. Patients come in, saying they just need a prescription for some dru
410.
▲
by
josephg
6mo ago
Can you give some examples? What is Haskell’s type system capable of that you can’t express in rust?
411.
▲
by
josephg
6mo ago
Are other brands any better?
412.
▲
by
josephg
6mo ago
Yeah this is right. I bought a cheap wireless mouse, with a USB-C port for charging. None of the USB-C chargers in my house would charge it, so after awhile it inevitably went flat and I took it back to the shop - since it was faulty. The g
413.
▲
by
josephg
6mo ago
> However ... the async implemented all the mechanics needed ... As I understand it, the implementation of async in the rust compiler grew out of the implementation for generators in nightly. Its the same continuation-passing transformat
414.
▲
by
josephg
6mo ago
On all that, we have near total agreement. I've been complaining about how broken and half-baked rust's async story is for years - for more or less the same reasons you list above: - You can't name the type of a impl Future.
415.
▲
by
josephg
6mo ago
If we invented a new language, sure. Cooperative multitasking might be a fun approach. The avalanche of bugs I’m imagining would come from existing JavaScript code being run in a different context than that in which it was written and teste
416.
▲
by
josephg
6mo ago
> No, green threads / fibres or whatever you want to call them explicitly don't interleave executions. If you use them with a multithreaded executor (eg in Go), of course they interleave executions. I suppose all your green thr
417.
▲
by
josephg
6mo ago
> There is something darkly comical about using an LLM to write up It feels like a modern greek tragedy. Man discovers LLMs are untrustworthy, then immediately uses an LLM as his mouthpiece. Delicious!
418.
▲
by
josephg
6mo ago
It clearly was, at least in part. Somehow, it feels just right here: Man trusts AI to do the right thing and it burns him. 5 minutes later, man trusts AI to explain what happened on X. Its a greek tragedy in 2 acts.
419.
▲
by
josephg
6mo ago
> My point is that you do need mutexes, spin locks, etc with async as well, given that you have a multi threaded platform. No, Javascript isn't a shared-memory multi threaded platform. It would only need mutexes and so on if we adde
420.
▲
by
josephg
6mo ago
Of course I'm comparing them. Threading and async are two solutions to the same problem: How do you write high performance event driven systems like network services? How do you solve the C10K problem (or more recently the C10M problem
More ›