Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
eliasdejong
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
An Introduction to HTML Streaming for Interactive Web Applications
(github.com)
1 points
by
eliasdejong
12h ago
|
0 comments
2.
▲
by
eliasdejong
16d ago
> typed databases let you express queries which are just super hard to express otherwise Isn't type validation already in SQL with `CHECK` constraints? I don't see what the language is adding here exactly.
3.
▲
by
eliasdejong
1mo ago
> FWIW I have a potential solution: to show live data in my app I use an SSE stream of OOB swaps. You might be interested in Datastar [1], which is like htmx but centered around Server-Sent Events. You don't have to do diffing yours
4.
▲
Show HN: Spsc-ring-threadsafe Python C ext. 100x faster as multiprocessing.Queue
(github.com)
1 points
by
eliasdejong
2mo ago
|
0 comments
5.
▲
Show HN: Plox – Lox compiler in ~600 LOC from the 'Crafting Interpreters' book
(github.com)
2 points
by
eliasdejong
2mo ago
|
0 comments
6.
▲
by
eliasdejong
4mo ago
standby, server is taking some load. should be back up soon
7.
▲
by
eliasdejong
4mo ago
Creator here, For those interested: - ZERO CLIENT-SIDE OR INLINE JAVASCRIPT except Datastar & Datastar attributes - real-time multiplayer powered by CQRS - 45x45 characters chunks stored in LMDB - all characters are read & written t
8.
▲
by
eliasdejong
4mo ago
check info tab on the top
9.
▲
by
eliasdejong
4mo ago
Read your blogpost, I will need a code editor soon so I might have a stab at hacking something together. > but this doesn’t really work in mobile and it messes with the selection I haven't tested it personally, but on the OverType t
10.
▲
by
eliasdejong
4mo ago
CodeMirror is great, but still requires a lot of clientside JavaScript. I wonder if it would be possible to create a code editor in the same style OverType[0], where the editor is basically just an HTML textarea. You would need 70% less Jav
11.
▲
by
eliasdejong
7mo ago
Checkout DataStar, it's also a hypermedia web framework but it subsumes the functionality of htmx, is faster, more efficient and fits inside 11 KiB. It uses SSE + brotli streaming compression to achieve compression ratios up to 4000x.
12.
▲
by
eliasdejong
7mo ago
To me this sentiment is silly. Programming was never about the act of writing, but about making the computer do something. Now we can ask computers to helps us write instructions for them. Great if you ask me. And no, your job is not going
13.
▲
by
eliasdejong
8mo ago
Very cool project! Being able to replay history is huge and makes it possible to look back in time without having to make full copies of the database. This is something that is very much lacking in many SQL systems where you need 'temp
14.
▲
by
eliasdejong
8mo ago
Performance of Protobuf is a joke. Why not use a zero copy format so that serialization is free ? For example, my format Lite³ which outperforms Google Flatbuffers by 242x: https://github.com/fastserial/lite3
15.
▲
by
eliasdejong
8mo ago
See also, RUM Conjecture: https://www.codementor.io/@arpitbhayani/the-rum-conjecture-1... Conceptually similar to CAP, but with storage trade-offs. The idea is you can only pick 2 out of 3.
16.
▲
by
eliasdejong
8mo ago
Really excellent research and well written, congrats. Shows that io_uring really brings extra performance when properly used, and not simply as a drop-in replacement. > With IOPOLL, completion events are polled directly from the NVMe dev
17.
▲
by
eliasdejong
8mo ago
The library contains iterator functions that can be used to recursively traverse a message from the root and discover the entire structure. Then every value can be checked for defined constraints appropriately while at the same time validat
18.
▲
by
eliasdejong
8mo ago
Imagine if you measured the speed of beer delivery by the rate at which beer cans can be packed/unpacked from truck pallets. But then somebody shows up with a tanker truck and starts pumping beer directly in and out. You might argue th
19.
▲
by
eliasdejong
8mo ago
The primary motivations were performance requirements and frustration with schema formats. The ability to mutate serialized data allows for 2 things: 1) Services exchanging messages and making small changes each time e.g. adding a timestamp
20.
▲
by
eliasdejong
8mo ago
No, I have not benchmarked yet against other languages. Rkyv is Rust only. One primary difference is that Rkyv does not support in-place mutation. So any modification of a message requires full reserialization, unlike Lite³.
21.
▲
by
eliasdejong
8mo ago
> A key feature of this code is that it skips CPU cache when copying Are those numbers also measured while skipping the CPU cache?
22.
▲
by
eliasdejong
8mo ago
Yes, any zero-copy format in general will have this advantage because reading a value is essentially just a pointer dereference. Most of the message data can be completely ignored, so the CPU never needs to see it. Only the actual data acce
23.
▲
by
eliasdejong
8mo ago
If the new value is equal size or smaller, it will overwrite the old value in-place. If it is larger, then the new value is appended to the buffer and the index structure is updated to point to the new location. In the case of append, the o
24.
▲
by
eliasdejong
8mo ago
The limit is the number of outstanding cache line requests to the memory controller. CPUs have a fixed number of slots for this, around 10-12 usually. Intel calls them LFBs (Line Fill Buffers) and AMD MSHRs (Miss Status Holding Registers).
25.
▲
by
eliasdejong
8mo ago
Being schemaless is deliberate design decision as it eliminates the need for managing and building schema files. By not requiring schema, messages are always readable to arbitrary consumers. If you want schema, it must be done by the applic
26.
▲
by
eliasdejong
8mo ago
> 14 GB/s Yes, those numbers are real but only in very short bursts of strictly sequential reads, sustained speeds will be closer to 8-10 GB/s. And real workloads will be lower than that, because they contain random access. Mos
27.
▲
by
eliasdejong
8mo ago
Increasingly the performance limit for modern CPUs is the amount of data you can feed through a single core: basically memcpy() speed. On most x86 cores the limit is around 6 GB/s and about 20 GB/s for Apple M chips. When you see
28.
▲
by
eliasdejong
9mo ago
Yes, language ports are being worked on :) You will be able to access the same data in different languages using APIs specific to your language. Right now someone has already made a (private) Go port. And Rust is also in the works.
29.
▲
by
eliasdejong
9mo ago
Hi, you are right in calling out the Postgres example in the context of DBs/MVCC. The purpose of JSONB is to be an indexable representation of JSON inside a Postgres database. It is not trying to be a standalone format for external int
30.
▲
by
eliasdejong
9mo ago
(author here) The documentation page is out of date, the format now resolves collisions through quadratic probing.
More ›