Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
nasretdinov
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
4 ms
·
31.
▲
by
nasretdinov
3mo ago
<please don't take this too seriously> That's great but I believe it's still over-engineered. Unless it's a web site that can tolerate no downtime at all during schema updates, SQLite in WAL2 mode is more than enou
32.
▲
by
nasretdinov
3mo ago
I think the real issue is that lots of people somehow got convinced that Codeberg is a somehow better version of GitHub that won't ever be susceptible to the same issues GitHub had, which is mainly too much centralisation and all the r
33.
▲
by
nasretdinov
3mo ago
It actually works really well in the last couple Go versions with GOEXPERIMENT=simd. You do get a similar speedup (if not higher, since SIMD also eliminates the penalty for bounds checking and other things Go runtime does.
34.
▲
by
nasretdinov
3mo ago
IMO it's competition that makes better products in the end. If either party becomes a full monopolist the progress will stall (as already happened with Intel I guess)
35.
▲
by
nasretdinov
3mo ago
Depending on what you're working on, moving slowly and thoughtfully might be a feature. Just saying
36.
▲
by
nasretdinov
3mo ago
Definitely not my experience. No matter the model, if I'm working on something important (and there is little reason on working on something not important) I do care about correctness and understandability. While LLMs are great for thr
37.
▲
by
nasretdinov
3mo ago
That is true. Moreover, in general the performance of generic code in Go isn't any better than interface-driven one. Generics are there in Go just for better type safety, and IMO that's sufficient already :)
38.
▲
by
nasretdinov
3mo ago
The only really confusing part to me is that SQLite has separate STRING and BLOB type.ls. I always thought SQLite only really supports INTEGER, REAL and TEXT (aka BLOB) types. And even then the types aren't enforced. So it's reall
39.
▲
by
nasretdinov
3mo ago
> if you have some complex config instead of a simple default Yup, exactly that. You don't always control the environment in which your software is going to run...
40.
▲
by
nasretdinov
3mo ago
Given that even on Linux DNS resolution in Go can be quite... interesting without CGO being enabled, honestly it's hardly surprising that on iOS it would also be quite challenging. I imagine that one more interesting thing to consider
41.
▲
by
nasretdinov
3mo ago
As others have already pointed out, the issue is too high concurrency — IMO that should be the main outcome of the analysis. E.g. InnoDB has innodb_thread_concurrency setting that applies for internal operations to prevent exactly kinds of
42.
▲
by
nasretdinov
3mo ago
I can trivially copy any code even without an LLM though with a simple tool called rsync!
43.
▲
by
nasretdinov
4mo ago
Value types do indeed reduce the GC pressure, however large Virtual Memory usage (in my understanding) is mostly due to large thread count by default (one per core), and some unavoidable GC overhead in general.
44.
▲
by
nasretdinov
4mo ago
I can agree with Dan on two things: LLMs do often produce incorrect results and that it's still useful for productivity when used in moderation. For me the wrong results actually cause some kind of ragebait response so I become much mo
45.
▲
by
nasretdinov
4mo ago
You probably could limit the bloating of Go programs by setting GOMAXPROCS to something like 1 or 2 on smaller machines, but then again you wouldn't get the best performance. So IMO good call here to rewrite it in a language without GC
46.
▲
by
nasretdinov
4mo ago
Codeberg is smaller than GitHub and, you know, Go is slightly more efficient than Ruby :)
47.
▲
by
nasretdinov
4mo ago
I must say I'm quite pleased to see how well Go version works. It does only use 1.5x the CPU and (predictably) much more RAM/VRAM, but not a crazy amount either (the expected increase is 2x). Of course you can write a more optimal
48.
▲
by
nasretdinov
4mo ago
It's interesting how on a server 2 GiB of RAM can get you quite far, however on a desktop that's pretty much the minimum feasible amount. It used to be the opposite: servers needed plenty of RAM and CPU compared to desktops
49.
▲
by
nasretdinov
4mo ago
One other feature of memcache that is rarely mentioned is that all operations are O(1) by design, which is a conscious design choice from the authors: yes, it is limiting, but it also ensures no random stalls on simple operations, whereas R
50.
▲
by
nasretdinov
4mo ago
Yeah I kinda agree about Go. CockroachDB didn't catch on nearly as much as it should, and I wonder how much it has to do with the fact that optimising code in Go (both in terms of memory usage and performance) is just much harder than
51.
▲
by
nasretdinov
4mo ago
Proving something is correct doesn't automatically make it obvious though. For it to be obvious it needs to either be intuitive or it needs to be (reasonably) simple
52.
▲
by
nasretdinov
4mo ago
I think you're underselling your own level of intelligence Fil. If even you would be confused by an implementation (and you're the author of the concept) what chances do you think this PR has to actually work correctly?
53.
▲
by
nasretdinov
4mo ago
Compilers aren't made equal either. E.g. compare Visual Studio C++.NET compiler and something like Go. And Go isn't that simple either to be fair
54.
▲
by
nasretdinov
4mo ago
I think LLVM is a perfect example of what happens when it's too complicated: it's slow, it's bug-ridden when you stray away from the beaten path (e.g. Rust hits bugs in LLVM like this one https://www.reddit.com
55.
▲
by
nasretdinov
4mo ago
I think it's also worth distinguishing _problem complexity_ and _solution complexity_. The problem might be really really hard (and it very obviously is in the case of adding multi-threading to JavaScript). But it does not mean that th
56.
▲
by
nasretdinov
4mo ago
IMO the very minimum requirement should be that you've demonstrated effort to reduce unnecessary complexity of the problem. Sure, some problems are complex enough that there might not exist an obvious solution, yet usually after a whil
57.
▲
by
nasretdinov
4mo ago
The code needs to be not in the state of "no obvious bugs", but "obviously no bugs". Especially the programming language runtime. Otherwise there is no hope you can sustain any development whatsoever
58.
▲
by
nasretdinov
4mo ago
That feature is central for ClickHouse Cloud offering which essentially is what lets others have (the rest of) ClickHouse for free. If you need that feature I think it's quite obvious you'll have to pay. I don't think it'
59.
▲
by
nasretdinov
4mo ago
I think the main advantage of ClickHouse over DuckDB is *MergeTree family. It lets you sort data in the background, which allows for absurd levels of compression and performance when done right. ClickHouse can easily be 10x as performant as
60.
▲
by
nasretdinov
4mo ago
No, in fact I do not use TS at all :). However they did mention this in the article, and hopefully that also means they'll make the package accessible to others too: > The watcher is a self-contained package that has allowed us to k
More ›