HackerTrans
トップ新着トレンドコメント過去質問紹介求人

benhoyt

no profile record

投稿

Every dependency you add is a supply chain attack waiting to happen

benhoyt.com
4 ポイント·投稿者 benhoyt·3 か月前·1 コメント

Detecting file changes on macOS with kqueue

vegardstikbakke.com
101 ポイント·投稿者 benhoyt·4 か月前·16 コメント

Celebrating Tony Hoare's mark on computer science

bertrandmeyer.com
140 ポイント·投稿者 benhoyt·4 か月前·32 コメント

GNU Awk and Me: 37 Years of Free Software Development [video]

youtube.com
6 ポイント·投稿者 benhoyt·6 か月前·0 コメント

Code Coverage for GoAWK (2022)

maximullaris.com
1 ポイント·投稿者 benhoyt·6 か月前·0 コメント

I/O is no longer the bottleneck? (2022)

stoppels.ch
264 ポイント·投稿者 benhoyt·6 か月前·130 コメント

Don't fear Python subprocess or Go codegen

benhoyt.com
2 ポイント·投稿者 benhoyt·7 か月前·0 コメント

Jubilant: Python Subprocess and Go Codegen

benhoyt.com
2 ポイント·投稿者 benhoyt·7 か月前·0 コメント

Coregex: Go regex lib 3-3000x+ as fast as stdlib via multi-engine arch and SIMD

github.com
1 ポイント·投稿者 benhoyt·7 か月前·0 コメント

コメント

benhoyt
·5 か月前·議論
I'm not very familiar with functional programming and Haskell in particular. I think I understand the gist of this article, and "use data structures that make illegal states unrepresentable". However, is there a similar article but written with more common languages (C#, C++, Java, Go) in mind? Or is a big part of this concept only relevant for strong functional languages with sum types and pattern matching?
benhoyt
·6 か月前·議論
Not me personally, but a GitHub user wrote a replacement for Go's regexp library that was "up to 3-3000x+ faster than stdlib": https://github.com/coregx/coregex ... at first I was impressed, so started testing it and reporting bugs, but as soon as I ran my own benchmarks, it all fell apart (https://github.com/coregx/coregex/issues/29). After some mostly-bot updates, that issue was closed. But someone else opened a very similar one recently (https://github.com/coregx/coregex/issues/79) -- same deal, "actually, it's slower than the stdlib in my tests". Basically AI slop with poor tests, poor benchmarks, and way oversold. How he's positioning these projects is the problematic bit, I reckon, not the use of AI.

Same user did a similar thing by creating an AWK interpreter written in Go using LLMs: https://github.com/kolkov/uawk -- as the creator of (I think?) the only AWK interpreter written in Go (https://github.com/benhoyt/goawk), I was curious. It turns out that if there's only one item in the training data (GoAWK), AI likes to copy and paste freely from the original. But again, it's poorly tested and poorly benchmarked.

I just don't see how one can get quality like this, without being realistic about code review, testing, and benchmarking.
benhoyt
·7 か月前·議論
That's a good caution. However, traversing a flat AST (iterating a "struct of arrays" rather than a pointer-based tree) is also going to be faster. So the next steps of the compiler, say type checking and code emitting, will also be faster. But how much, or whether it's worth it even then, I'm not sure.
benhoyt
·8 か月前·議論
I use the "baby bear" strategy mentioned in the article. My criteria are something like: archive emails from humans as well as important emails like receipts and invoices; delete advertising emails, newsletters, notification emails, and things that I can just as easily find online.
benhoyt
·7 年前·議論
The format feels ad-hoc to me. These are intended almost exclusively for machine-reading, so why not JSON? One of the proxy endpoints (version metadata) returns JSON, so why not this one? If I were writing the client, I'd much prefer to parse a structured JSON object than that text file. So I'm curious why this choice -- I'm probably missing something.