Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
drothlis
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
31.
▲
by
drothlis
4y ago
It can't even do arithmetic.
32.
▲
by
drothlis
4y ago
Reminds me of natbot, which uses GPT-3 to do all 3: https://github.com/nat/natbot
33.
▲
by
drothlis
4y ago
Related, "natbot" uses the stock GPT-3 model (no fine-tuning apart from the examples in the prompt) to drive a browser: https://github.com/nat/natbot
34.
▲
by
drothlis
4y ago
A lot of commenters suggesting "pipefail" aren't realising the full extent of the problem. Here's an example that might be clearer, from https://david.rothlis.net/shell-set-e This prints “a”, as you’d ex
35.
▲
by
drothlis
4y ago
`|` is a bitwise-or in Python, not a boolean-or.
36.
▲
by
drothlis
4y ago
Ninja stores the header dependencies in a database and then deletes the “.d” file. As far as I know it doesn’t do your deduplication – presumably because it hasn’t been necessary; reading and parsing hundreds of “.d” files was the slow part
37.
▲
by
drothlis
4y ago
See also gittup, an experimental linux distro where the entire linux kernel + userspace is built using tup. https://gittup.org/gittup/
38.
▲
by
drothlis
4y ago
I did hit a weird edge case in Make's job scheduling. Ninja will try to build things in the order that they are listed in the "build.ninja" file; make kind-of does too, but if any dependencies need to be built first, the late
39.
▲
by
drothlis
4y ago
Yeah, meaningful benchmarks take a lot of work. - Does the reported ninja time include the cmake step that generates the ninja files? (which typically doesn't need to be done for incremental builds). - "make -j" doesn't
40.
▲
by
drothlis
4y ago
> So no include files? That's another deal-breaker! Tup monitors any files that are read while the build command is running, and implicitly adds them as dependencies.
41.
▲
by
drothlis
4y ago
Tup has some automated performance tests, which I co-opted to benchmark Ninja vs. Make: https://david.rothlis.net/ninja-benchmark/
42.
▲
by
drothlis
4y ago
Do you mean VSCode’s standard git support, or is there a git hub plugin specifically? (Just curious if I’m missing out on something!)
43.
▲
by
drothlis
4y ago
That “cap” wasn’t a previous policy. It’s the amount of tickets already sold!
44.
▲
by
drothlis
4y ago
Just watched Daniele's talk. Brilliant, practical advice. Thanks so so much for the link.
45.
▲
by
drothlis
4y ago
Congratulations! Our own journey was fairly similar: Unsatisfied with existing tooling, created open-source project with blessing of employer (it helped that in <2 weeks we built a prototype that was already better than what $big_consult
46.
▲
by
drothlis
4y ago
Many distros, including Debian & Ubuntu, have merged /bin and /usr/bin, with symlinks for backwards compatibility: /bin -> /usr/bin (and similarly for /usr/lib etc). https://www.free
47.
▲
by
drothlis
4y ago
Mentioned in yesterday's discussion on declarative schema migrations for SQLite: https://news.ycombinator.com/item?id=31249823
48.
▲
by
drothlis
4y ago
I don't know about Django but in Rails† the migrations are numbered with a timestamp (in the filename itself), instead of a sequential number, precisely to avoid (git) merge conflicts. Then they're run in alphabetical order. There
49.
▲
by
drothlis
4y ago
Ha! I use `textwrap.dedent` all the time but didn't make the leap of logic to check for the existence of `indent`. :-) I suspect this was a leftover from Python 2.7 days.
50.
▲
by
drothlis
4y ago
We are big fans of Datasette (though I've yet to use it in real life). I think it's important work.
51.
▲
by
drothlis
4y ago
Thanks! Coincidentally one of the first articles I wrote for my blog was about compile-time checking of table/column names: https://david.rothlis.net/d/templates/ (Just something I was messing around with, no
52.
▲
Simple declarative schema migration for SQLite
(david.rothlis.net)
109 points
by
drothlis
4y ago
|
28 comments
53.
▲
by
drothlis
5y ago
> The PEG will parse the first a, and then the recursive call will parse from a|aaaa. Now the next recursive call will eventually fail. Thanks for taking the time & effort to explain! I know you're right because I have reproduce
54.
▲
by
drothlis
5y ago
I can't wrap my head around it. Why doesn't it work? It parses this: a a aaa a a But not this: a aaa a
55.
▲
by
drothlis
5y ago
> Is there a mechanism that works well for improving errors in PEGs (i.e. something like a non-returnable node) Yes, it's called the "cut operator". > how does one practically implement that? Pick a parser generator tha
56.
▲
by
drothlis
5y ago
Same way that if you make 2 "normal" GETs simultaneously to the same server the responses don't get mixed up, i.e. they'll be separate HTTP Connections which are separate TCP connections: > Each HTTP connection maps t
57.
▲
by
drothlis
5y ago
Thanks! I spent 3-4 months on it (getting up at 5am most days to spend 1-2 hours on it before my day job) so it's nice to know it was of some use! :-)
58.
▲
by
drothlis
5y ago
I suspect it's because so many Emacs tutorials out there cover the same material as the built-in tutorial. And so many pre-packaged Emacs configuration files disable the menu-bar for no good reason other than that's what everyone
59.
▲
by
drothlis
5y ago
Years ago I wrote the Emacs tutorial I wish had existed when I was learning Emacs: https://david.rothlis.net/emacs/tutorial.html It follows a similar philosophy as the OP: Start by reading Emacs's built-in tutoria
60.
▲
by
drothlis
5y ago
Hold on, 2 million divided by 1 million equals 2, not 0.000000014. What am I missing?
More ›