Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
benwilber0
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
1.
▲
Code Is A Commodity
(benwilber.github.io)
2 points
by
benwilber0
7mo ago
|
0 comments
2.
▲
by
benwilber0
10mo ago
The "runtime" word is very confusing in this case. It's a web application server written in Rust (Axum/Tokio), that has hooks into Lua bindings (mlua) so that application behaviors can be implemented in Lua.
3.
▲
by
benwilber0
10mo ago
Looks neat. I built a programmable server for Server-Sent Events using a similar stack (Rust/mlua/axum) [1]. I think the Rust/Lua interop story is pretty good. [1] https://github.com/benwilber/tinysse
4.
▲
by
benwilber0
1y ago
> I am surprised more projects don’t provide a Lua scripting layer. Completely agree. I've been adding Lua scripting support to pretty much everything I make now. Most recently my programmable SSE server [1]. It's extended t
5.
▲
by
benwilber0
1y ago
Github was a "social network" from its very beginning. The whole premise was geared around git hosting and "social coding". I don't think it became enshittified later since that was the entire value proposition fr
6.
▲
A lithium deposit valued at $1.5T discovered in the US state of Oregon
(earth.com)
3 points
by
benwilber0
1y ago
|
2 comments
7.
▲
by
benwilber0
1y ago
But why are they spending any time switching away from Redis at all unless they are a hosting provider offering Redis-as-a-service? I wasn't aware the license had any negative affect on private internal use.
8.
▲
by
benwilber0
1y ago
Your company invested hundreds of engineering hours switching from Redis to a clean fork of Redis?
9.
▲
by
benwilber0
1y ago
> I probably would have gone for turning the UaF into an type confusion style attack I'm aware that Linux is nearly 40 years old at this point, and C is even decades older. But it is mind-boggling to me that we're still talkin
10.
▲
SQLite is great for what it is: a small, embedded SQL database. But nothing more
(benwilber.github.io)
3 points
by
benwilber0
1y ago
|
1 comments
11.
▲
by
benwilber0
1y ago
> their software also downloaded a 250MB update file every five minutes How on earth is a screen recording app 250 megabytes
12.
▲
by
benwilber0
1y ago
> contention slowdowns caused by having a primary key that needs a lock (incrementing key) This kind of problem only exists in unsophisticated databases like SQLite. Postgres reserves whole ranges of IDs at once so there is never any co
13.
▲
by
benwilber0
1y ago
You use a regular bigint/bigserial for internal table relations and a UUID as an application-level identifier and natural key.
14.
▲
by
benwilber0
1y ago
> Always use a BigInt (64 bits) or UUID for primary keys. Use bigint, never UUID. UUIDs are massive (2x a bigint) and now your DBMS has to copy that enormous value to every side of a relation. It will bloat your table and indexes 2x for
15.
▲
by
benwilber0
1y ago
Tokio + Axum + SQLx has been a total game-changer for me for web dev. It's by far the most productive I've been with any backend web stack.
16.
▲
by
benwilber0
1y ago
Americans in the market for a "premium" shower head are clearly not looking for the cheapest thing on the market. So it's obvious that they would be willing to spend more for the added feel-good of a domestic product.
17.
▲
by
benwilber0
1y ago
got hugged. Maybe the next post will say "Blog is hosted on a Nintendo Wii (running Varnish)"
18.
▲
by
benwilber0
1y ago
My initial thought is about GPG's "Web of Trust" system for trusting strangers' keys. But I don't know if that's a very good example since it always seemed somewhat esoteric and maybe not very successful in ge
19.
▲
by
benwilber0
1y ago
I'm guessing because users will just "verify" themselves, and then the whole thing is meaningless.
20.
▲
by
benwilber0
1y ago
The first mistake we're going to see a library developer make is: def execute(query: Union[str, Template]): Maybe because they want their execute function to be backwards compatible, or just because they really do want to all
21.
▲
by
benwilber0
1y ago
the {name} parameter is in the locals() dict like it always is
22.
▲
by
benwilber0
1y ago
Aren't there other benefits to server-side parameter binding besides just SQL-injection safety? For instance, using PG's extended protocol (binary) instead of just raw SQL strings. Caching parameterized prepared statements, etc.
23.
▲
by
benwilber0
1y ago
Don't use one of the most permissive licenses in existence and certainly not one that doesn't provide copyleft. This is all very well established at this point and yet somehow the GPL seems to have gone out of vogue.
24.
▲
by
benwilber0
1y ago
> when we tried to use them in production at scale Debian and Ubuntu have been using them in production and "at scale" for decades. What are the "sharp edges" that you're trying to solve?
25.
▲
by
benwilber0
1y ago
What is an example of something that would require "distributed signing"?
26.
▲
by
benwilber0
1y ago
Maybe I'm wrong, but aren't apt repositories just files in a web root? There are many scripts in the Debian ecosystem to generate and maintain such web directories. Maybe the actual package building would be interesting, but I d
27.
▲
by
benwilber0
1y ago
I love seeing new languages targeting the Lua runtime. I've been adding Lua scripting support to pretty much everything I make now. I recently made my SSE server programmable with Lua and it's extended the functionality far beyo
28.
▲
by
benwilber0
1y ago
Yeah. RooCode intentionally uses one of the most permissive licenses in existence and even formally declares in the README of the project that they are not responsible for the usage or output of the software whatsoever. And yet people will
29.
▲
by
benwilber0
1y ago
"just works" in the sense that this is a complete SSE client application: while true; do curl example.com/sse | handle-messages.sh done Because it's just text-over-http. This isn't possible w
30.
▲
by
benwilber0
1y ago
I pretty much always prefer SSE over websockets just because of the simplicity end-to-end. It's "just HTTP", so all the HTTP-based tech and tools apply out-of-the-box without any really special configuration that is required
More ›