Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
MrJohz
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
14 ms
·
181.
▲
by
MrJohz
1y ago
Reflow in the sense of wrapping blocks of text? That exists, I think under :reflow, although I always forget the name when I'm looking for it.
182.
▲
by
MrJohz
1y ago
I've not actually used the file explorer much, but I've seen that it's there. I assume it can't do file moves or deletes, though? That's the one thing I really miss from file pickers in other tools, otherwise I find
183.
▲
by
MrJohz
1y ago
I think part of the issue is that a lot of the changes have been fairly incremental, and therefore fairly easy to include back into NodeJS. Or they've been things that make getting started with Bun easier, but don't really add muc
184.
▲
by
MrJohz
1y ago
See, I'd almost see that the other way around, that it's easier for kids in a city with good public transport links because they can get around without having to drive. I live in a medium-sized city in Germany, and kids here can b
185.
▲
by
MrJohz
1y ago
You can have that on your website and put a summary and a link to your website in the feed. That's been a common approach for a while. If RSS has been more common, I imagine the bigger RSS readers (bearing in mind one of them was from
186.
▲
by
MrJohz
1y ago
Hey, that's me! I wrote this about a year ago, and I'm still using Helix, and still quite happy with it. The lack of a plugin ecosystem is sometimes irritating, but work there is slowly progressing. And I'm still not a fan of
187.
▲
by
MrJohz
1y ago
If your linter is enforcing subjective aesthetic constraints, then I'd argue it's not really a linter but a formatter at that point, and it should be automatically fixing all that stuff for you rather than have you do that manuall
188.
▲
by
MrJohz
1y ago
I don't know that I understand why parsing necessarily has to error out on the first mismatch. Good parsers will collect errors as they go along. Zod does take in invalid state as input, but that is what a parser does. In this case, th
189.
▲
by
MrJohz
1y ago
Can you give some examples of this working well? It certainly goes against all of my experience working with CLIs and with parsing inputs in general (e.g. web APIs etc). In general, I've found that the quicker I can convert strings int
190.
▲
by
MrJohz
1y ago
> I don't want to write my own validation in a CLI, give me a good API already that first validates and then converts the inputs into my declared schema But that _is_ parsing, at least in the sense of "parse, don't validat
191.
▲
by
MrJohz
1y ago
I mean, that's much the same as working with web APIs or any other kind of interface. Your DTO will probably be different from your internal models. But that doesn't mean it can't contain invariants, or that you can't pa
192.
▲
by
MrJohz
1y ago
It's not about costing less, it's about program structure. The goal should be to move from interface type (in this case a series of strings passed on the command line) to internal domain type (where we can use rich data types and
193.
▲
by
MrJohz
1y ago
You can have that with Mypy and friends in Python, and Typescript in the JS world. The problem is that older libraries often don't utilise that type safety very well because their API wasn't designed for it. The library in the ori
194.
▲
by
MrJohz
1y ago
Actually, I think argparse falls into the same trap that the author is talking about. You can define lots of invariants in the parser, and say that these two arguments can't be passed together, or that this argument, if specified, requ
195.
▲
by
MrJohz
1y ago
I think the key part, although the author doesn't quite make it explicit, is that (a) the parsing happens all up front, rather than weaving validation and logic together, and (b) the parsing creates a new structure that encodes the inv
196.
▲
by
MrJohz
1y ago
With saving, I usually add a confirmation directly next to the save button, so the save button itself doesn't change state (people often like pressing save multiple times!). But even then, I find a little bit of animation that moves t
197.
▲
by
MrJohz
1y ago
I'm not sure that's true. For example, Supernote have done very well with their A6X/Nomad range (confusingly about the size of an A5 sheet of paper), I think partly because they're the only company that has targeted that
198.
▲
by
MrJohz
1y ago
The problem is that branches _aren't_ an imaginary concept in git. The easiest way to see this is by looking at the difference between `git checkout master` and `git checkout ae596fe`. The first one checks out a branch, but the secon
199.
▲
by
MrJohz
1y ago
That's true, although it's often limited in applicability. The amount of time it takes us to learn something often depends on what we already know and what analogies and comparisons we have. I can imagine Kernighan has worked wi
200.
▲
by
MrJohz
1y ago
I think the word "later" is unhelpful in this situation because it implies all sorts of different timescales. You don't want to be resolving merge conflicts three weeks after you've created them, you're right! Typic
201.
▲
by
MrJohz
1y ago
Git branchless is basically jj as a git subcommand - it's no coincidence that arxanas is also involved in jj's development!
202.
▲
by
MrJohz
1y ago
They're not quite the same thing as named branches in Git. In jj, a branch is a chain of commits. This chain of commits cannot be named. It's possible to create a bookmark, which is a name for a particular commit, and it's po
203.
▲
by
MrJohz
1y ago
Bookmarks are similar to branches (and I believe implemented as branches?) but aren't quite the same thing. In particular, you can't check out a bookmark, you can only check out commits. If you do something like `jj edit <bookm
204.
▲
by
MrJohz
1y ago
The cool thing about this is that it's self-balancing - if either side gets larger than the other due to random chance, the ball in that side will have more space to bounce in, and therefore bounce less often, slowing its growth. Meanw
205.
▲
by
MrJohz
1y ago
Eh, it's not a particularly informed opinion, it's his experience from a brief stint with it where it doesn't really sound like he got enough to grips with it to make much of a judgement. It's like if I took my brief exp
206.
▲
by
MrJohz
1y ago
It is important to have integration tests, but my experience is very much the opposite of what you're describing. I almost never have bugs where the cause is the small amount of glue code tying things together, because that code is usu
207.
▲
by
MrJohz
1y ago
I mean, you get to decide what the unit is. I think this is one of the biggest issues with Java and some similar languages, in that it puts so much emphasis on classes (each class gets its own file and is the unit of import) that people use
208.
▲
by
MrJohz
1y ago
> Right, and, likewise, you'd put it in its own package in its own right so that it is available to all sort cases you have. Thus, it is really its own program — and thus would have its own tests. Sure, yeah, I think we're sayi
209.
▲
by
MrJohz
1y ago
The interface ideally doesn't change, but the implementation probably will. And most of the units you're writing are probably internal-facing, which means that even if the interface does change, fixing that is just an internal r
210.
▲
by
MrJohz
1y ago
It's very often easier to trigger edge cases when just testing a smaller part of a system then when testing the whole system. Moreover, you'll probably write more useful tests if you write them knowing what's going on in the
More ›