Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
MrJohz
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
31.
▲
by
MrJohz
4mo ago
TS has committed to not adding any more features like that. Features only get added when they reach a certain threshold on the TC39 standardisation track.
32.
▲
by
MrJohz
5mo ago
The other thing out of date is Svelte using compile-time tracking — Svelte now also uses runtime tracking, i.e. signals. At this point, I think React and Lit are the only major frameworks not using signals. And I'm not 100% sure about
33.
▲
by
MrJohz
5mo ago
Haha, that was part of the reason we originally went down this route. In practice, as soon as you want to implement spills, you lose a lot of the benefits because the contents of a spill can depend on any other cell and affect almost any o
34.
▲
by
MrJohz
5mo ago
I've built quite complex applications (e.g. a spreadsheet app) using SolidJS as a base layer, and in that sense it scales really well. It's very easy to separate data management from the UI, so architecturally it scales well, and
35.
▲
by
MrJohz
5mo ago
I think the biggest issue with Deno is that it fixes real issues but in the wrong way. Take the sandboxing stuff. In theory, you have always been able to sandbox your applications. There are so many tools that let you limit what domains a
36.
▲
by
MrJohz
5mo ago
It's usually easier to build something that maintain it for extended periods of time, particularly if that maintenance requires adding new features.
37.
▲
by
MrJohz
6mo ago
And yet the examples in this post are of slop code, so clearly they're not that long gone.
38.
▲
by
MrJohz
6mo ago
I mean, it's not that surprising that you'll learn better in a stack you already know well - you know enough there to know what you don't know and need to learn. But if you don't know anything about a language, it will b
39.
▲
by
MrJohz
6mo ago
It's basically doing the same thing that, say, `return true` might do to indicate a function succeeded, but with more explicit types. However, because it uses `Result`, it can be used with the `try`/question mark operator which ca
40.
▲
by
MrJohz
6mo ago
As I understand it, in teaching there's an idea of the "Zone of Proximal Development" (ZPD). Some things you can do without help, other things you can only do if others do it for you, and then in between there's all the
41.
▲
by
MrJohz
6mo ago
This is true, although I have to say as someone who doesn't own a car, good public transport can avoid most of those issues. I live in a small-ish city (500K - 1M pop, depending on how you count it), and I can get pretty much anywhere
42.
▲
by
MrJohz
6mo ago
I'd add jj to that list, tbh. It simplifies a lot of stuff, but in doing so it exposes a lot of those core ideas. That's where I got my list of essential complexity, really - the stuff that comes to the fore when you start using j
43.
▲
by
MrJohz
6mo ago
Did you mean inherent complexity instead of incidental complexity? I think the inherently complex things in git are (1) the content-accessible object store, snapshots, plus the merkel tree approach to keeping track of commits and parenthood
44.
▲
by
MrJohz
6mo ago
I don't understand your example. Why haven't you added commit messages? Would you do that with git? In what situation are you creating different branches like that and not using either `jj commit` or `jj describe`?
45.
▲
by
MrJohz
6mo ago
Or you make tools that are easier to use, so that you can spend that week learning something more useful than the finicky details of branch vs detached head checkouts.
46.
▲
by
MrJohz
6mo ago
The only thing that changed in the two things you wrote was `ranch` -> `cdef`. Every other part of that PS1 output was the same. Now put yourself in the shoes of a git novice and ask yourself if you'd always notice the difference. A
47.
▲
by
MrJohz
6mo ago
I think there's a sense that magit and jj are in some way equivalent tools, although I don't have enough experience with magit to be sure. They both sit in top of git and expose the underlying model of git far more cleanly and eff
48.
▲
by
MrJohz
6mo ago
They look identical to people who don't know what to look for, and who don't realise that these two states are different, which is the key thing. You can also distinguish them by running `git status`, but that's kind of the p
49.
▲
by
MrJohz
6mo ago
I think the right intuition to have with jj is that `jj st` should show an empty change unless you are actively working on something. `jj commit`, as mentioned below, is a good example of this - it automatically creates a new change and che
50.
▲
by
MrJohz
6mo ago
But branches are not just named pointers to a commit. If they were, then checking out the pointer would be the same as checking out the commit itself. But I can check out a commit and I can check out a branch and depending on which I'
51.
▲
by
MrJohz
6mo ago
I find rebases are only a footgun because the standard git cli is so bad at representing them - things like --force being easier to write than --force-with-lease, there being no way to easily absorb quick fixes into existing commits, interd
52.
▲
by
MrJohz
7mo ago
In our case, we're not using a text editor, but instead building a spreadsheet, so a lot of these collab-built-into-an-editor are, like you say, pedagogically useful but less helpful as direct building blocks that we can just pull in a
53.
▲
by
MrJohz
7mo ago
I've looked through the site, and right now it's probably the thing I'd try out first, but my main concerns are the missing documentation, particular the more cookbook-y kinds of documentation — how you might achieve such-and
54.
▲
by
MrJohz
7mo ago
Are there any major libraries for OT? I've been looking into this recently for a project at work, and OT would be completely sufficient for our use case, and does look simpler overall, but from what I could tell, we'd need to wri
55.
▲
by
MrJohz
7mo ago
More recently, it's been designed so this is the case. Namespaces, enums, and the property constructor shortcut thing were all added relatively early on, before the philosophy of "just JS + types" had been fully defined. The
56.
▲
by
MrJohz
7mo ago
Do-notation in the sense of Haskell's monadic do blocks: https://en.wikibooks.org/wiki/Haskell/do_notation
57.
▲
by
MrJohz
7mo ago
With push-pull, assuming you set up the dependency chain on pull, you need an initial pull to give you your initial values and wire up the graph, and then every time an update comes in you use the push phase to determine what should be chan
58.
▲
by
MrJohz
7mo ago
I've worked through the same process in SolidJS, which had the dynamic dependency tracking from the beginning. I agree that not seeing reactivity in the type system can be irritating. In theory, you can wrap reactive elements in `Compu
59.
▲
by
MrJohz
7mo ago
Yeah, the UX/DX of the turning these algorithms into something usable is really interesting, and something I didn't get to talk much about. With the variations on the push algorithm, you do kind of need to know the graph topology
60.
▲
by
MrJohz
7mo ago
The illustrations are hand-drawn on my tablet, and then converted to SVG and touched up via an incredibly laborious and probably fairly unnecessary process.
More ›