I use it in several projects. You're still open to a few seconds of possible downtime (depending how often you flush the WAL to your remote location, and how bursty your writes are), and you need to have all of your db on disk on the process doing the reads, but it's been great.
HN user
ndr
Software Engineer, traveler and wonderer.
You can and should eval your judges. They're also typically easier to eval because often you have them emit categorical/structured data.
I wonder if piano players find that easier too, compared to lay people.
It's not (just) GDPR and TFA mentions that as soon as they move on from Cookies, ie point 2 on local storage:
"This buys you nothing. Article 5(3) of the ePrivacy Directive".
They clearly have a product to sell but the article seems balanced and offers a good list of commonly used/proposed techniques that are not quite compliant.
As you alluded, there're more lawful basis than consent, one of most common ones being technical necessity to mitigate abuse.
It's powered by paying your ISPs bills as much as the restaurant bill is paid by what you spent in car/public-transport commute to the restaurant.
From TFA:
The authorized PDF versions can be purchased at www.informit.com/taocp
Is it only me or this sounds a bit counter to clojure philosophy?
Use that logic to sell phones. Don't limit civil liberties to compensate for failures of parental supervision.
There are game-theoretically aligned ways.
See for example https://oneacrefund.org/ [0] where they have a revolving loan fund.
OAF lends materials and teachers to farmers to make the more productive, by the end of the program they got productive enough to pay back the loan and OAF can lend the same money to someone else.
It's super capillary, with many boots on grounds and quality problems.
Embedded into this there's a good feedback channel: farmers who don't think are getting a good service stop paying back the loan. This allows OAF to go and audit what's failing there.
[0] The person who started also appeared in a podcast where they explained the basics https://foreveron.com/podcast/episode-035/
This is what kamal does when you use localhost as registry [0] [1].
Pretty cool thing, I ship plenty of services to my tiny $5/mo vps with it without having to pay for a docker registry.
[0] https://kamal-deploy.org/docs/configuration/docker-registry/...
[1] https://github.com/basecamp/kamal/blob/eee0083b38661c3707c6b...
I do consume the parquets with DuckDB but had to read in firebird sql stuff.
I didn't think of checking, but I now learnt there's an extension for DuckDB but it's C++ and also embeds the same DLL [0] https://github.com/flozer/duckdb-firebird
Great loop spotting!
Recently I was messing around with parquet files in Python and ended up needing to ship the results on Windows, without a Windows machine to test on.
Shipping Python to end users is half mad already, and doing it on Windows is exactly the kind of thing I don't want to spend my life maintaining.
So I figured I'd rewrite it in Go. But that meant embedding a DLL, and how would I test it? I could spin up a VM, sure. But GitHub Actions already has a Windows environment, and there was my loop: let the agent push to the repo, run tests in GHA, rinse and repeat.
In under an hour it had a full rewrite of my Python, passing every test and producing row-for-row copies of my Parquet output. And it does work on the user machine!
Spotting a loop like that is as satisfying as noticing you can walk your chess opponent into a smothered mate. Truly empowering.
Of course I meant that it won't make data up.
It can only emit SQL and the json spec of the chart.
Since shipping I've reviewed dozens of queries and charts it produces answering the user. I'm yet to catch sonnet off guard.
Yes it's that, in particular `duplicate-code`.
`pylint . --disable=R0801` will work, `pylint profiling/ --enable=duplicate-code` doesn't seem to exit in a reasonable time. So that's likely hitting some pathological case, possibly accidentallyquadratic.tumblr.com material.
TBH this is true only on the root of black. If you do `uvx pylint src/` it takes 5s on my machine.
It's still impressive but it looks like a pathological case in a test directory.
This. I've recently used both duckdb and sqlite to power a dashboard for a small restaurant of a family member. It converts all their sales to a very tiny parquet files, daily.
The file fits in memory and can do all sort of computation in the browser itself. The backend is extremely simple, it just loads the JS and serves the parquet files.
It was also trivial to let the owner do their own queries, just give the schema to an LLM and let it use the charting library, no data hallucinations. If they need it in the dashboard they can either use that one or ask me to review that query.
To be honest, given how simple some things became, it's been really fun to work on.
Context is that which is scarce.
It's hard to predict what parts of shared understanding we have today is going to be scarce tomorrow. And one can't serialize _all_ of that current shared understanding in documents and integration tests.
https://marginalrevolution.com/marginalrevolution/2021/12/co...
Ugh HN removes the timestamp from the link!
Lightly edited transcript of Richard Hipp, creator of SQLite, from 28'53":
Suppose you had a pull request for SQLite. "Hey, I've got this new feature for SQLite. Here's the pull request." When you want me to pull that into the tree, you say, "Oh, it's free."
No, it's not free. What you're doing is asking me - you've got this cool feature, and you want me to maintain it for you, to document it for you, to test it for you, to maintain it for you for the next twenty-five years. That's not free.
Linus Torvalds is famous for saying there's free as in beer and free as in speech. But there's another kind of freedom: free as in puppies. "Oh look, I've got a free puppy for you." You see where this is going?
A pull request is a free puppy. And then you've just got a kennel full of puppies at the end of the day. And you can't just throw them out - you're morally obligated to take care of them for their natural life.
I don't want any free puppies.
Originally posted at https://news.ycombinator.com/item?id=48567803 but may be worth its own entry
Thank you, I was too eager copy-pasting YT transcriptions.
Related to this, the concept of "free as in puppies" from D. Richard Hipp, creator of SQLite:
Suppose you had a pull request for SQLite. "Hey, I've got this new feature for SQLite. Here's the pull request." When you want me to pull that into the tree, you say, "Oh, it's free."
No, it's not free. What you're doing is asking me - you've got this cool feature, and you want me to maintain it for you, to document it for you, to test it for you, to maintain it for you for the next twenty-five years. That's not free.
Linus Torvalds is famous for saying there's free as in beer and free as in speech. But there's another kind of freedom: free as in puppies. "Oh look, I've got a free puppy for you." You see where this is going?
A pull request is a free puppy. And then you've just got a kennel full of puppies at the end of the day. And you can't just throw them out - you're morally obligated to take care of them for their natural life.
I don't want any free puppies.
Is this what Cursor uses or a standard I'm unaware of?
Thank you for resurfacing this, it has been my daily commute read for years, it was great!
"Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp."
-- Greenspun's tenth rule
He had some lack of conviction to scope it so narrowly.
With what credit card provider?
I've done it multiple times when a vendor wasn't behaving fairly and it always went through.
I don't recommend doing it to a vendor you plan to have business with again in the future as they might ban you (eg food delivery apps)
50k LOC wouled be the rust code without tests.
But it's not apples to apples because they seem to have done much more performance work though, this is far from code golfing.
Evolution didn't spend millions of years so we could sit 8 hours a day and slouch through the rest.
This is uncharitable, but makes a prediction. I imagine you'd bet the author won't be successfully using this, at MS/Uber or wherever they are, in a year time?
Rust makes no promise of being terser than C++, and RSL does less than this considering the optimization.
Also it's only 45/50k LOC so not so very from the 36k LOC.
Also that, I suspect that's correlated to how practical is to have multiple people (with their agents) iterating on it.