Live data from Hacker News

Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

github.com

71–80 of 176 posts

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#71
Oh, this is great. And pretty much the process of what I do when I look at larger codebases, except not as clean and organized. I would normally have a half dozen terminals open into various source files at once trying to build the map in my head. Though it eventually clicks and happens, it's laborious, but it seems like something like this would help immensely. Now, the only thing left is to combine it with an ultrawide monitor.

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#72
post #51

> Haystack takes care of the tedious confusing parts of coding Tedious, yes, but confusing? Yikes! My job as a coder is to resolve ambiguity favorably. Every day, I strive to leave the world less confusing than I found it. I would no more rely on an IDE to "take care" of confusion than I would outsource my firm's core competencies. But the main conceit is cool, and I'm sure the dependency graph is helpful. I'm just p…

I strive for the same thing, but every time surprising new requirements arrive, there's a good chance that the elegant architecture my team created is in conflict with the design we now want. At that point, there is a three step process:

1. Design the new architecture.

2. Gain a full understanding of the existing architecture and all of its trade-offs.

3. Design a way to convert the old architecture into the new architecture.

This happens surprisingly often and it's quite unavoidable. In the past, I tried to avoid redesigning by building things that could be expanded in every conceivable way, but I discovered that over-engineering actually makes it harder to redesign. YAGNI wins!

I've been thinking for a while that a canvas-type editor might help a lot in the process of redesigning. It should help by taking better advantage of spatial memory.

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#73

Does this project take any inspiration from Light Table? Potential feature request - take the visualization beyond 2D. Really complex systems are usually an intricate graph (polite way of saying ball of yarn) and just visualizing in the 2D plane doesn't seem to cut it in my experience. I would love to have something like concentric spheres of visualization - boundary services on the outer layer, core/domain services…

A lot of people mentioned Light Table, but I didn't know about it until post-launch! It's interesting that you mention a more 3D view. We were ideating on this, but it's really hard to get right in a way that the user can understand. This is definitely part of our vision for the future though! EDIT: Deleted the bit about my speculation regarding Light Table since it's false.

For 3D I’d run a clustering algo across the graph and use the Z axis to background “far” clusters.

I’m imagining a typical graph might end up looking a bit like this: https://upload.wikimedia.org/wikipedia/commons/thumb/8/81/07... in which case I’d want to have whatever cluster/file/method/object I’m focused on front and center with some visual cues like low-contrast and z-axis perspective that preserves edges to show the “far” clusters that interact with the focal point.

edit to add: as per usual, naming the clusters automatically might be hard.

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#74

Earlier quoted context omitted.

I love the idea of a Haystack VR world! It's a shame that VR software is in a tenuous state due to the biological factors, but I believe it's the future "one day".

"In a tenuous state due to the biological factors" is easily the funniest SV euphemism for "can't be used by humans."

It’s ok after they deliver the MVP there will be a wetware update.

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#75

Earlier quoted context omitted.

I love the idea of a Haystack VR world! It's a shame that VR software is in a tenuous state due to the biological factors, but I believe it's the future "one day".

"In a tenuous state due to the biological factors" is easily the funniest SV euphemism for "can't be used by humans."

Who knows, one day it may be possible (hopefully without any dystopian updates to human biology)!

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#76
post #62

Why can't this be an extension? I love the idea and can perfectly imagine this inside a tab of the editor area. This would allow for multiple haystack tabs as well, so switching contexts would be seven easier. Having to install another IDE (even if it is based on vscode) is a bit of a bummer for me. None the less, keep it up!

I understand the frustration here! As the other commenter noted, it's quite bit tougher to make Haystack as good in the form of an extension, but we do plan to eventually explore this path!

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#77

If you structure your directories sensibly, you can get the same effect/value prop in every IDE and dev env. Or is there a deeper experience/knowledge that gets unlocked coding in this paradigm?

Not sure if I completely grasp what you're saying, but you're saying that if you plan the codebase well then dependencies between files/bits of code are more easily followed?

For our users, Haystack has been helpful to understand how code works together, from simple React components to legacy C codebases that are a decade or older. I think the value prop shines when you're trying to understand how multiple pieces of code together, and this will become more useful as folks increasingly lean on AI tools to modify/create/delete multiple files.

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#78

Earlier quoted context omitted.

Collaborative and generative AI features. E.g. sharing Haystack workspaces, searching your codebase in the natural language, making edits to multiple files, etc.

> Monetization All right > Collaborative OH! YES! > and generative AI features Oh no.

Since it's opt-in, the generative AI features won't ever bug you unless you want to use them!

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#79

Is this just a pretty picture of the AST that I"m already navigating with go-to definition, fuzzy search, and harpoon in 2024?

Harpoon is kind of like a bookmarking tool right? I think the value prop is that you have to do less manual window management, can see connections between code better, and can context switch between tasks.

Reposting this from another comment: For our users, Haystack has been helpful to understand how code works together, from simple React components to legacy C codebases that are a decade or older. I think the value prop shines when you're trying to understand how multiple pieces of code together, and this will become more useful as folks increasingly lean on AI tools to modify/create/delete multiple files.

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#80
post #65

Did you really have to pick the same name as the Haystack open source AI framework? https://haystack.deepset.ai/ https://github.com/deepset-ai/haystack It's a very active project and it's confusing to have two projects with the same name. Besides, I don't understand why you'd give a "2D digital whiteboard that automatically draws connections between code as you navigate and edit files" the name haystack.

This is an unfortunate name collision, but in our defense the concept of a "needle in a haystack" is hardly unique and I believe a code editor is different enough from the AI framework that it's OK.

The idea is that a codebase is much like a haystack and finding the relevant portions of it for a task or specific flow would be equivalent to finding needles.

Post reply on HN