4 ms·
yeah the site's clearly vibecoded and isn't opensource, but i also think this is a genuinely interesting design space and more people should be building in it.
by enduku 3mo ago
yeah the site's clearly vibecoded and isn't opensource, but i also think this is a genuinely interesting design space and more people should be building in it. APL (https://www.dyalog.com/ https://www.dyalog.com/), BQN (https://mlochbaum.github.io/BQN/ https://mlochbaum.github.io/BQN/), J/Jd (https://code.jsoftware.com/wiki/Jd/Overview https://code.jsoftware.com/wiki/Jd/Overview), Klong (https://news.ycombinator.com/item?id=10586872 https://news.ycombinator.com/item?id=10586872), Kerf (https://news.ycombinator.com/item?id=9782520 https://news.ycombinator.com/item?id=9782520), RayforceDB (https://news.ycombinator.com/item?id=45889607 https://news.ycombinator.com/item?id=45889607), k/q (https://kx.com/ https://kx.com/) glad there's a new entrant.
- zX41ZdbW 3mo agoI've recently tested BQN on ClickBench (a benchmark for OLAP databases), and the results are not great: https://benchmark.clickhouse.com/#system=+N|liH&type=-&machine=-6t|ca2|6ax|g4e|6ale|3al&cluster_size=-&opensource=-&hardware=+c&tuned=+n&metric=combined&queries=- https://benchmark.clickhouse.com/#system=+N|liH&type=-&machi... If anyone is curious how queries in this language look, you can see it here: https://github.com/ClickHouse/ClickBench/pull/939/changes#diff-35c34fc8faa9e96b09e7c39c5a0597fcc73d6d83e23edc5ce922f45559cc73b3 https://github.com/ClickHouse/ClickBench/pull/939/changes#di...
- jloveless 3mo agohttps://github.com/l-labs/db-benchmark/tree/main/l https://github.com/l-labs/db-benchmark/tree/main/l
- dzaima 3mo agoFYI, your "8‿64 •bit._cast -⟜@ raw" in bqn/util.bqn results in passing to •bit._cast integers in the range 0..255, whereas it expects integers ¯128..127 (and does arbitrary platform-specific things on integers outside that for the int16→int8 narrow); removing the "-⟜@" makes it work properly, and 2.5-5x faster while at it from not going to intermediate int16 (allowing the bitcast to be O(1) by itself). (•FBytes → •file.MapBytes also probably improves things, at the cost of the obvious mmap problem of issues if the file changes, as BQNs arrays are immutable). This is also what caused the problem at https://github.com/ClickHouse/ClickBench/pull/939/changes/409c2ca013b427d7496b616ae3f533471afadf2a https://github.com/ClickHouse/ClickBench/pull/939/changes/40... (there's been some discussion about what to do about invalid •bit._cast before, considering it's rather perf-sensitive; it's the only place in CBQN with such quiet very-wrong results on invalid inputs) The default CBQN "make o3" on x86-64 also results in it only using SSE2 (utilizing function multiversioning is on the ever-infinite TODO list, though somewhat-low on it considering it's strictly-unnecessary in any specific situation; there's also AVX-512 usage on a branch, but mostly only AVX2 on mainline; and no arm SVE) That all said, CBQN doesn't currently do any loop fusion, so being significantly-slower for sequences of operations over larger-than-cache arrays would kinda just be expected. BQN also just isn't particularly intended for database work anyway. (didn't look much at the specific query impls, though "Pair" in utils.bqn is at least an overlong version of "Pair ← ⋈¨"; and some if not all of those Pairs would be better as "≍˘" to avoid nested arrays and ensuing pointer chasing; and, of course, if some of the columns are bools/int8/int16/int32, it'd be beneficial to store & load them as such instead of float64)
- jloveless 3mo agoBQN & CBQN are absolutely wonderful pieces of code. L is mac/lin but linux is avx512 only specifically to try to deal with that problem. The compute on compressed algos helps fit more in those cache lines! https://lv1.sh/blog/compute-on-compressed/ https://lv1.sh/blog/compute-on-compressed/
- jackdoe 3mo agoI vibecoded https://punkx.org/apl/learn.html https://punkx.org/apl/learn.html [1] its good slow entry into gnu-apl, at least it got me to be able to make tictactoe, vibecoded or not, it helped me to start. I am amazed how quickly APL changed the way I think. Also strongly recommend watching Aaron Hsu on youtube. There is no better time to re-learn programming, try APL, Forth, LISP, z80 machine code, UXN TAL, just try new things. "Men are born soft and supple; dead they are stiff and hard. Plants are born tender and pliant; dead, they are brittle and dry. Thus whoever is stiff and inflexible is a disciple of death. Whoever is soft and yielding is a disciple of life. The hard and stiff will be broken. The soft and supple will prevail." [1]: https://github.com/jackdoe/gnu-apl-wasm https://github.com/jackdoe/gnu-apl-wasm source of the repl and learn playground and also how to compile gnu apl to wasm (vibecoded)
- johanvts 3mo agoAPL is cool, but that quote hurts my brain. Disregard the funny typo, clearly different situations call for different strategies. For example, it might be great to use LLM slop interactively while learning, but that doesn’t mean it can be used as a finished product.
- quotemstr 3mo ago... DuckDB. Columnar databases are array languages, after all.
- jloveless 3mo agoduckdb is great and its h2o.ai benchmark was difficult to beat!
- Onavo 3mo agoI hope OP can survive the lawsuits though, the K authors are infamously litigious.
- macmac 3mo agoInteresting, references?
- Onavo 3mo agoLook online for Kx systems history of IP enforcement and legal threats. They are well known in the quant community for essentially being the Disney of time series databases. Nice tech yes, but the people behind it hold values that are typically diametrically opposite of hacker ethos. Good riddance.
- scrawl 3mo ago[flagged]
- kensai 3mo agoWhat's the problem if a site is vibecoded? We will be seeing it more often, I recon. Let's get used to it. On the other hand, perhaps a disclaimer is in order.
- jloveless 3mo agothere's one in the footer and agree.
- itishappy 3mo agoIt's a strong signal of unknown quality. Caveat emptor. Closed-source makes that extra difficult. We are used to this, hence why folks here point it out.
- jloveless 3mo agoFor QC this is a pretty solid tester (run on L or other compatible runtime) - focused on performance as it pushes multiple edges. https://github.com/l-labs/master-benchmark https://github.com/l-labs/master-benchmark Which can also be run with minimal modifications on ngn and others. For database the h2o.ai for duckDB really is a solid hard bench IMHO: https://github.com/l-labs/db-benchmark/tree/main/l https://github.com/l-labs/db-benchmark/tree/main/l
- jloveless 3mo agoEven deeper is the full test suite ala https://github.com/l-labs/rust_ipc/blob/master/tests/ipc_test.rs https://github.com/l-labs/rust_ipc/blob/master/tests/ipc_tes... Which is ~6k tests (Rust is actually what I use to drive release testing)
- dragonwriter 3mo ago“It's a strong signal of unknown quality.” Unknown quality is the absence of information, you can’t have a signal for it. If you are using “unknown” as a euphemism for “poor”, which is the most obvious thing that makes the signal meaningful in the direction that seems apparent from context, why?.
- hoppp 3mo agoThe bottom of the page states: "Site by Claude. Runtime by hand" I think that's completely acceptable.
- throwaway2037 3mo agoI agree 100%! If anything, I would encourage the site owner to increase the font size on that message. There is no shame to be vibecoding simple websites in 2026. IMHO: It takes away nothing from project. Also, I really like the second part: "Runtime by hand." That's cool in 2026 in the era of AI slop.