HN user

eddd-ddde

1,334 karma

life enjoyer, science enjoyer

meet.hn/city/ca-Kitchener

Interests: AR/VR, DevOps, Web Development

---

Posts2
Comments739
View on HN
Road to Elm 1.0 16 days ago

This is very similar to my recent experience!

LLMs are surprisingly effective at helping you learn the "vibes" of making music and understanding various concepts.

My flow state with AI is having 5 different conversations at the same time making good progress on all of them by giving key insight and feedback at the right times.

You can actually go super fast with the right setup and focusing only on the important details like ensuring the shape of the APIs make sense and that test quality is good.

The main benefits you get are transformations. You can leverage tooling to automate include remapping and things like that.

But it's definitely not geared towards forks, but rather mirrors with deterministic and invertible transforms.

The "supported" workflow is you keep your source of truth in either the monorepo or the external repo. Then you export the current state of the source of truth to keep the mirrors up to date. Then, since we can assume the mirrors are up to date, the inverse transform can be applied to import change requests from the mirrors.

It works well when the assumptions hold, that there isn't large divergence on either side. It can actually be largely automated.

My favorite:

This report was reviewed by Legal, who have asked us to clarify that the fox was depicted as over eighteen.

I like being able to memorise IP addresses, it really helps testing.

This is even easier with IPv6. At work we have a bunch of test devices, and you calculate the IPv6 from the device's serial number. Simple as that, no memorization at all.

I hate compilers 1 month ago

I don't think these kind of features belong in a compiler. If you want a stamp then pass it in to your compiler invocation via explicit defines.

You might accidentally end up including it transitively and suddenly your binary is nondeterministic.

The internal version at least is heavily based on a global commit cloud.

If you give me your commit ID I can immediately print it on my workspace without you having to upload a formal change request.

The pattern I notice more frequently at work now is:

"I'm working on X problem, I tried Y solution, AI thinks Z is wrong and W could be better, human opinion?"

This way there's never space for ambiguity, you showed you did your homework to the best of your extent, you already asked AI, all that's left is explicit request for human input.

It works quite well, and I appreciate it from both ends, as it saves everyone time.

This is obviously massively understating what an IDE does.

Do you never use language server features? Showing git blame on files? Doing regex search and replace? Doing multi-cursor editing? Run test?

If you genuinely never do, then that's ok, you don't need an IDE.

I actually think these constraints _help_ the average project as well. By enforcing remote builds and execution you completely remove the need for something like docker. You also get cloud backups for your code automatically.

With JJ I sometimes make a 'jj new a b c' to work on top of multiple changes. Then as I tweak things 'jj absorb' to automatically patch the right changes.

Insanely easy and effective.