HNHacker News
TopNewBestAskShowJobs

akshaysg

488 karma · joined July 29, 2023

Twitter at https://x.com/AkshaySubr42403
submissionscomments
akshaysg··on Show HN: Haystack Code Reviewer – Perform code reviews on a canvas
We can get it working with Ruby ASAP!
akshaysg··on Show HN: Haystack Code Reviewer – Perform code reviews on a canvas
As of now, you need to log in on desktop to review pull requests. Theoretically, we would not require login if your pull requests are in a public repo. If that's the case, I can get a change in for this ASAP!

EDIT: By log in, I mean you have to log in to GitHub. There's no separate Haystack log in.

akshaysg··on Show HN: Haystack Code Reviewer – Perform code reviews on a canvas
If you don't understand what it does the fault is all mine!

The arrows represent dependencies. For example, if you create a function A that calls a function B in a pull request: 1. We'll render function A as a diff on the top part of the canvas 2. We'll render function B as a diff on the bottom part of the canvas And we'll draw an arrow from A to B, to represent that A is calling B

In this way, you can more easily understand the relationships between different parts of what someone is editing. We hope that this reduces the amount of mental modeling or mapping someone has to do during code review!

akshaysg··on Show HN: Haystack Code Reviewer – Perform code reviews on a canvas
Good point! Yeah I think I should record myself doing an actual review while balancing showing the complete feature set.

Thank you!

akshaysg··on Show HN: Haystack Code Reviewer – Perform code reviews on a canvas
Language support relies on the same language servers that VS Code uses (i.e. language extensions)! Servers come pre-installed with a variety of extensions, but I believe we do not install Kotlin for now. We'll get Kotlin installed (this was just an oversight)!
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
Yup this is our plan! Collaborative features + Gen AI features as part of premium version.
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
I think it would be great if other folks started building on the canvas for code. In terms of defensibility, the canvas experience is hard to get right and we believe it can't just be a second class citizen to the editor (i.e. a sidebar). That's not a very thorough answer but are just a few of my thoughts!
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
The majority of those commits are not ours! For the source-available version we squashed all our commits. This is a VS Code fork so the commits you're seeing are from the contributors of VS Code.
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
Hmm we do have a keybindings video https://www.youtube.com/watch?v=u0MzADc0lV8 but I didn't want to overload the demo with this stuff. That's fair on the value prop!
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
Yeah I think we added this for Windows but neglected to do so for Mac. Will add a `haystack-editor` command!
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
We do plan to add sticky notes and other diagramming features. We also try to position the editors in the viewport/canvas automatically, but would love feedback on that!

It supports normal VS Code extensions and features. We do plan to update it to match any VS Code updates, especially security updates.

akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
We plan to add a minimap to help users orient themselves.

Also the idea of using subtle color differences or sounds is interesting to me. Will think about this!

akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
You don't have to use a mouse! We try to make it as keyboard accessible as possible and do have a lot of keybindings (see the button on the bottom right for keybindings).
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
Yeah I think that would be useful and we'll get there!

For studies someone else pointed out https://austinhenley.com/pubs/Henley2014CHI_Patchworks.pdf

akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
Sorry I missed this comment! We're going to move to a license that has less confusing language. You should definitely be able to use Haystack at work!
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
Yes a11y is very important! I do think this creates an HTML element per sprite/graphic, but the slowdown should not be terrible.
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
Oh interesting -- I never thought of it as a tool for writing a book! Maybe we should get George R. R. Martin to give it a spin haha.
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
Ironically this is what prompted me to leave my job and start Haystack! Whenever I looked at code in my IDE my brain was always shouting at me to re-imagine it in a way that made more sense and would involve less mechanical refactoring.

Whenever you have this feeling of looking for a solution in your daily life, you may just have a startup idea on your hands!

akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
We certainly intend to add semantic zoom levels, but for now I think zooming out is just helpful in navigating the canvas when you have multiple connected components on the canvas at once and need to pan to an area in the canvas.
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
This is actually really cool!
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
Thank you for the flag! Our intention is to try to "tile" the viewport so that it resembles this grid format (i.e. the carousel/ribbon), but we've found the canvas is still useful folks who want to go that extra mile to organize their editors.
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
What I do personally is I try to keep all relevant code in my viewport and jump around using shortcuts (are hotkeys a gaming term? I used to say hotkeys all the time!). The visualization is still really helpful for me so that I can quickly orient myself with which functions/classes relate to each other.
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
This is to zoom correct? You can also pinch/unpinch!
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
Ope sorry for the late reply but OPT/ALT is the intended way for you to do this.
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
Do you mean in the GitHub repo? Happy to add more images/gifs to the repo! It's a fairly recent addition and the website does a much better job of showcasing the product!
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
Yeah VS Code is built on top of some older frameworks and ideas unfortunately.
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
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.

akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
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.

akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
Since it's opt-in, the generative AI features won't ever bug you unless you want to use them!
akshaysg··on Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
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.

← PreviousPage 2 of 5Next →