Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ncruces
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
36 ms
·
571.
▲
by
ncruces
2y ago
There's at least… https://modernc.org/sqlite which preprocesses and transpiles the amalgamation from C to Go. https://github.com/ncruces/go-sqlite3 which runs a Wasm build of SQLite through a pure
572.
▲
by
ncruces
2y ago
Virtual tables are fully supported by my CGO free driver: https://pkg.go.dev/github.com/ncruces/go-sqlite3 You can have a look at a bunch of examples in my extensions folder: https://github.com/ncr
573.
▲
by
ncruces
2y ago
It's not about being fair to the individual, it's about producing a better outcome for society. In this case, saving money on welfare (that's also in great measured pooled across society, not an individual account). Parents b
574.
▲
by
ncruces
2y ago
Why does it need to be either/or? I make do almost the entire week without a car. Schools within walking distance, then mass transit to work. So what if I own and use a small family car, to go shopping and take the kids places? Let
575.
▲
by
ncruces
2y ago
It's down here too: https://cloud.google.com/products/storage No link and no details though.
576.
▲
by
ncruces
2y ago
That's what happens when you have an high level VM that wants to support high level concepts from multiple high level languages, and all your languages need to be able to talk to each other. Same thing will happen to Wasm as it decides
577.
▲
by
ncruces
2y ago
The most current SQLite amalgamation (3.49.1) is showing ~70 warnings when compiled with -Wwrite-strings. But maybe 70 warnings in 250k LoC is OK for your standards of proficiency.
578.
▲
by
ncruces
2y ago
I got some nice 10x improvements, but they didn't really show up in benchmarks of SQLite. I'm guessing it's mostly memset and memcpy that matter. https://github.com/ncruces/go-sqlite3/issues/257
579.
▲
by
ncruces
2y ago
Yeah, this is what I do for my Go SQLite driver: reserve a large amount of memory through a protected, private, anonymous mapping, then grow it as needed, hoping that's “free”: https://github.com/ncruces/go-sqlite3
580.
▲
by
ncruces
2y ago
We tax consumers, actual people, where they actually live, on what they consume, to fund the public services they benefit from. Why would that be a market distortion!? You're welcome to stop funding our defense. Just don't expect
581.
▲
by
ncruces
2y ago
So you'll just tax imports, fund the entire federal govt on just imports, and call it a fair trade policy? Well, good on you. Just don't be surprised if that leads to retaliatory, and targeted, tariffs.
582.
▲
by
ncruces
2y ago
Have you looked at EU countries budgets? We "invest" in social security and public health systems. Our defense budgets go in large part to buy arms from the US, and Musk complains if we decide to prop up Arianespace for some def
583.
▲
by
ncruces
2y ago
You get a 10% tariff when you run a deficit with the US. EU gets a 20% tariff on a 40% surplus. You win!
584.
▲
by
ncruces
2y ago
From the description, you can reapply transactions. How the system handles it (how much of it is up to the application, how much is handled in graft) I have no idea.
585.
▲
by
ncruces
2y ago
How? What happens when students start buying faulty hardware to justify unrelated delays?
586.
▲
by
ncruces
2y ago
They address this later on. If strict serializability is not possible, because your changes are based on a snapshot that is already invalid, you can either replay (your local transactions are not durable, but system-wide you regain serializ
587.
▲
by
ncruces
2y ago
slog.Value looks incredibly useful. Just imagine a day where database/sql doesn't generate a tonne of garbage because it moves to use something like that?
588.
▲
by
ncruces
2y ago
Oh tailscale! Hi! And thanks for this! Yeah, my Wasm uses bulk memory instructions which wazero bottoms out to Go's runtime.memmove: memory.init, memory.copy, etc are all just runtime.memmove; memory.fill fills a small segment, then ru
589.
▲
by
ncruces
2y ago
That's just not true. Pool contents are GCed after two cycles if unused.
590.
▲
by
ncruces
2y ago
The point is not to avoid GC entirely, but to reduce allocation pressure. If you can avoid allocs in a hot loop, it definitely pays to do so. If you can't for some reason, and can use sync.Pool there, measure it. Cutting allocs in
591.
▲
by
ncruces
2y ago
This is still strong typing, even it it's not static typing. It's static vs. dynamic and strong vs. weak. https://stackoverflow.com/a/11889763
592.
▲
by
ncruces
2y ago
It's been a long time since I've messed with Java bytecode [1], but shouldn't the private method call use INVOKESPECIAL? In general I don't think you can do this to INVOKEVIRTUAL (or INVOKEINTERFACE) as it covers cases w
593.
▲
by
ncruces
2y ago
Sorry for not replying sooner! Tbh, idk. I just had a user come up to me a particular query that was relatively much slower on my driver than others, and it unexpectedly turned out that it was the way I implemented context cancellation for
594.
▲
by
ncruces
2y ago
I'm curious: do you have any specific examples that stress this? I'd like to see how my Wasm build fares. I assume worse, but it'd be interesting to know by how much. I've also heard that it's allocator performance
595.
▲
by
ncruces
2y ago
Look, as I wrote: Go has zero values, and for a Go type to fully participate in the Go type system, it must have a zero value. Additionally, for it to fit the 2025 implementation of the runtime, its representation in memory must have a fi
596.
▲
by
ncruces
2y ago
You're calling designing a language with nil in 2007–2009 ridiculous. We could argue that, but that's not what I wrote. I wrote that, after 15 years of baggage, there's nothing purposely ridiculous about stating that Go sum
597.
▲
by
ncruces
2y ago
Sum types in Go need to have a zero value, if it's not nil, it needs to be something else. There's nothing purposely ridiculous about it.
598.
▲
by
ncruces
2y ago
It's not a waste if we can make it clearer for others. ;)
599.
▲
by
ncruces
2y ago
No, it uses 16 threads, and all the inserts are non-conflicting (they don't use information from previous transactions).
600.
▲
by
ncruces
2y ago
No. Two non-conflicting transactions (where neither transaction reads the other's changes) can both wait for the other to commit, so they can be left hanging, and the COMMIT/fsync can be batched. Depending on how you interpret ACI
More ›