Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
tikhonj
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
28 ms
·
421.
▲
by
tikhonj
3y ago
"Couple" implies a specific sort of relationship between two people—there are lots of pairs of people, even pairs who know each other, that we would never refer to as "couples"! That's a distinct meaning from "
422.
▲
by
tikhonj
3y ago
Politicians benefit from locking people up because it gives them an easily measurable way to look "tough on crime".
423.
▲
by
tikhonj
3y ago
It's no more insane than async programming. In fact, it's less insane: it's what you'd get if you let async and await be first-class citizens in your language instead of awkward special cases.
424.
▲
by
tikhonj
3y ago
If you say something like "I read an article about grammar, which I didn't understand", it's ambiguous whether "which" refers to "article" or "grammar". In this specific example it's pr
425.
▲
by
tikhonj
3y ago
You can have set theories that allows sets to contain themselves without allowing Russell's Paradox. You can read about non-well-founded set theory[1] if you're curious. [1]: https://en.wikipedia.org/wiki/Non-
426.
▲
by
tikhonj
3y ago
I interned at a company that used an s-expression format as an alternative to JSON and it was great —much better than any mainstream format for config files and human-readable representations for API data. It was great at representing st
427.
▲
by
tikhonj
3y ago
It would let you represent physical systems as normal Haskell functions and get accurate derivatives "for free". At least in the one-dimensional case it's probably simpler than numeric differentiation while also letting you
428.
▲
by
tikhonj
3y ago
No idea if this book does it, but this seems like a perfect fit for automatic differentiation. You can get a simple implementation of automatic differentiation for one dimension in a small amount of surprisingly clear code, without needing
429.
▲
by
tikhonj
3y ago
There are a lot of ways for good code to express bad abstractions. The abstraction could be inconsistent with other parts of the system, inconsistent with the concepts it is meant to represent, inconsistent with its own observable behavior,
430.
▲
by
tikhonj
3y ago
I like to think their choice of language definitely helped, but I'm also pretty biased :) In particular, I've found that having an expressive type system makes it easier to develop and communicate this kind of mental model, as w
431.
▲
by
tikhonj
3y ago
Yeah. One of my friends and coworkers started his career at GS around that same time and had some (very!) positive stories about both the tools and the people building them. It sounded like the combination of Slang and SecDB was a real fo
432.
▲
by
tikhonj
3y ago
As a counterpoint, I interned at Jane Street about a decade ago—when they were much smaller than now—and they also built everything in-house. I'm not just talking about the trading/finance-specific systems (I didn't interact
433.
▲
by
tikhonj
3y ago
As a wild guess, this same construct might not always work with linear types—if we had to use x exactly once, we wouldn't always be able to write `return (x, y)`. I haven't really used them, but linear types are supported in Has
434.
▲
by
tikhonj
3y ago
People say this, but it hasn't been my experience in practice—the worst, most complex codebases I've seen have been in Python and Java. But I guess they look simple and uniform at a superficial, syntactic level. If you can't
435.
▲
by
tikhonj
3y ago
I used to be annoyed by how Flakes are coupled to Git, but I've realized that dealing with that is way less pain than dealing with builds that accidentally depend on non-version-controlled files. Missing an unstaged file is annoying, b
436.
▲
by
tikhonj
3y ago
We actually had the opposite experience in hiring for our Haskell team: it was substantially easier to find legitimately strong engineers for Haskell than for other teams using Python and Scala. I figure it comes down to two things: 1. A
437.
▲
by
tikhonj
3y ago
I've worked on a Haskell + Rust project that followed roughly the dynamic you're describing and was pretty happy with it. I wrote some simple tooling that let us share algebraic types between the two to manage our interfaces and i
438.
▲
by
tikhonj
3y ago
I mean, if it was a good decision, it was a good decision. But there are a lot of ways for a decision to be bad without legibly causing a legible problem—and the "business" might be happy with that—but that doesn't make i
439.
▲
by
tikhonj
3y ago
The copyright license of the cp code itself has no bearing on the copyright of what you produce (well, copy) with cp.
440.
▲
by
tikhonj
3y ago
I was going to make the same comment. London's buildings vary in age and style even in the most historic districts—thanks to German influence—and it still looks and feels great. I loved walking around and exploring central London the f
441.
▲
by
tikhonj
3y ago
Hah, I remember seeing that at the Guggenheim. You could actually use it, if you were willing to wait in line. If I remember correctly I was following a nice tour at the time focused, appropriately enough, on sculpture, so our little group
442.
▲
by
tikhonj
3y ago
You can even generalize linear algebra algorithms to closed semirings and have some really cool algorithms pop out, like finding the shortest path in graphs. There's a great paper called "Fun with Semirings" that goes into mo
443.
▲
by
tikhonj
3y ago
From the point of view of the standard, maybe, but not from the point of view of somebody learning or using DNS.
444.
▲
by
tikhonj
3y ago
Because language popularity is, at best, loosely correlated with any intrinsic qualities of the language itself.
445.
▲
by
tikhonj
3y ago
Captcha providers can't rely exclusively on mouse movement because of accessibility considerations, and it seems pretty easy to emulate human-like keyboard interaction. Emulating realistic mouse movement is more difficult but probably
446.
▲
by
tikhonj
3y ago
You can't get away from some debugging, but I've certainly seen massive differences in how much debugging I've had to do between different codebases!
447.
▲
by
tikhonj
3y ago
Abstractions reduce cognitive load because they let us consolidate multiple bits of information into a single concept.
448.
▲
by
tikhonj
3y ago
The April 2022 update at the end of the article has a good short summary: > If you're looking to reduce the whole discourse to "X vs Y", let it be "serde vs crossing your fingers and hoping user input is well-formed&
449.
▲
by
tikhonj
3y ago
Unless my memory is playing tricks on me, I've seen the bots a couple times over the last few weeks.
450.
▲
by
tikhonj
3y ago
Surprisingly, I still see them around in Berkeley. As a pedestrian they're a bit annoying underfoot but mostly harmless. As a potential customer, they're so slow and ineffective that I've never felt tempted to try them out. T
More ›