Top all-time · #4496
divan's blog
Personal blog · divan.dev/posts · on HN as divanprogramming
divan's blog is a personal blog at divan.dev about programming. Since 2019, 17 different Hacker News readers have linked it 45 times, most often “Visualizing Concurrency in Go (2016)”. The last post was in 2022, but the archive is still widely read.
Too few sampled comments (8) to say how often HN recommends it.?
Why HN links it
HN readers link divan.dev for visual explanations of programming ideas: concurrency visualizations in Go, visual programming, and fountain codes for file transfer and animated QR codes.
Summarised by Claude from a sample of 8 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Visualizing Concurrency in Go (2016)5 people · 7 mentions · first linked 2019-06-05
- Rethinking Visual Programming with Go4 people · 12 mentions · first linked 2019-06-05
- One Year with EdgeDB3 people · 5 mentions · first linked 2022-07-26
- /posts/fountaincodes/3 people · 3 mentions · first linked 2023-02-20
- Data transfer with animated QR codes (2019?)3 people · 3 mentions · first linked 2021-09-11
What Hacker News says?
Re-posting my 5 years old article "Rethinking visual programming with Go" here [1] [1] https://divan.dev/posts/visual_programming_go/
Comment linking /posts/visual_programming_go/
on “We need visual programming. No, not like that”Submitted Rethinking Visual Programming with Go as a story · 231 points
HN discussionThree projects that I'm prototyping/developing in a spare time: - 3d visualization of the mental model of the code, based on static analysys, with a goal of drastically improving code navigation and comprehension, especially of large codebases. Currently for Go only, because Go OOP design unsurprisingly lacks ambiguities between language constructs and mental model blocks. I had WebGL-based prototype (written using…
Comment linking /posts/visual_programming_go/
on “Ask HN: What projects are you working on now?”Submitted Rethinking Visual Programming with Go as a story · 205 points
HN discussionI used the "map is not a territory" to describe this context in the article about visual programming [0]. Code is a map, territory is the mental model of the problem domain the code is supposed to be solving. But, as other commentators mentioned, LLMs are so much better on reading large codebases, that it even invalidates the whole idea of this post (visualizing codebase in 3D in a fashion similar how I would do it…
Comment linking /posts/visual_programming_go/
on “We put a coding agent in a while loop”Submitted Data transfer with animated QR codes (2019?) as a story · 20 points
HN discussionSome people joke that state management in Flutter is like http mixers/routes in Go. But I think it's much worse :) Granted, UI state handling is not an easy task, and it's not directly related to the topic of complexity of the languages. I had an article written a few years ago about a thought experiment of Flutter being implemented with Go. It's a bit naive, but still fun to think about. [1] [1] https://divan.dev/p…
Comment linking /posts/flutter_go/
on “Go 1.22”Submitted One Year with EdgeDB as a story · 6 points
HN discussionThe Go client implements the full client API, but yeah, it lacks the query building capability. We want all of our client APIs to have it; it's a matter of time, but I don't have a concrete ETA on when we get to it. Hopefully in the coming months. Here's a blog post by one of our users and it has some feedback on edgedb-go: https://divan.dev/posts/edgedb/
Comment linking /posts/edgedb/
on “EdgeDB 2.0”Submitted Visualizing Concurrency in Go (2016) as a story · 2 points
HN discussionShameless plug of my post on the one-year experience with EdgeDB: https://divan.dev/posts/edgedb/
Comment linking /posts/edgedb/
on “EdgeDB 2.0”Submitted My Experience with EdgeDB as a story · 2 points
HN discussion> I am not very familiar with CSP based concurrency I strongly recommend to check it out. I was absolutely mind-blown when saw this talk (without prior knowledge about Go), and that changed my life quite literally. https://www.youtube.com/watch?v=QDDwwePbDtw I did a few concurrency related projects (see "Visualizing concurrency in Go" https://divan.dev/posts/go_concurrency_visualize/ , for example), and it's way mor…
Comment linking /posts/go_concurrency_visualize/
on “Await in Rust”Submitted How to Complain about Go as a story · 2 points
HN discussionI did something similar but for non-classes based language (Go) and in 3D [1] But I saw it as next step towards shifting programming from sitting and scanning texts into something more tangible, where developer has broad overview of software, and can work on smaller parts while seeing context of how these parts are connected. Ended up concluding that this stuff should work in VR. [1] https://divan.dev/posts/visual_p…
Comment linking /posts/visual_programming_go/
on “Codemaps: Understand Code, Before You Vibe It”Submitted I Still ️Love You, Gopath as a story · 2 points
HN discussionI attempted to do this [1] and explored topic of why VPL are not a mainstream too, but postponed project for maturation of VR/AR ecosystem as I see them usable only in VR now. This year actually I think to return to work on it. [1] Rethinking Visual Programming with Go - https://divan.dev/posts/visual_programming_go/
Comment linking /posts/visual_programming_go/
on “Show HN: Flyde – an open-source visual programming language”Submitted Rethinking Visual Programming with Go as a story · 2 points
HN discussionCool! I've worked in this space for years as well. Another good recent article about visual programming is: https://divan.dev/posts/visual_programming_go/
Comment linking /posts/visual_programming_go/
on “Luna – A WYSIWYG language for data processing”Submitted Visualizing Concurrency in Go (2016) as a story · 1 points
HN discussionOh, this is great. I especially like the fire torch analogy and the animation you came up with ( https://divan.dev/images/torch.gif ). That's exactly how I feel when reading code. Recently, I explained the problem to a dear colleague when working on a code base (with about 600K lines of code). I compared the situation to working in a large office building with all lights turned off and you have to skim through thous…
Comment linking /images/torch.gif
on “Folk wisdom on visual programming”Great job on summarizing and categorizing tons of opinions in one post! Shameless plug of my take on rethinking visual programming couple of years ago: https://divan.dev/posts/visual_programming_go/
Comment linking /posts/visual_programming_go/
on “Folk wisdom on visual programming”The author of this post is also the author of the fantastic "Visualizing Concurrency in Go" [1] article. [1]: https://divan.dev/posts/go_concurrency_visualize/
Comment linking /posts/go_concurrency_visualize/
on “Rethinking Visual Programming with Go”Back in a day I've made proof of concept of animated QR codes using fountain codes - txqr. [1] Since then I received a bunch of requests to make into an actual cross-platform app, but never could find the time for this hobby project. I guess I should revive this project and make an usable open-source app. https://divan.dev/posts/animatedqr/
Comment linking /posts/animatedqr/
on “Two never-before-seen tools, from same group, infect air-gapped devices”I wrote my thoughts on exactly this question here (long read, sorry): https://divan.dev/posts/visual_programming_go/
Comment linking /posts/visual_programming_go/
on “Ask HN: Why isn’t visual programming a bigger thing?”A bit more visual guide: Visualizing Concurrency in Go (2016) https://divan.dev/posts/go_concurrency_visualize/
Comment linking /posts/go_concurrency_visualize/
on “How concurrency works: A visual guide”Some thoughts and attempt to visualize Go code in a meaningful way: https://divan.dev/posts/visual_programming_go/ And, tangently related, visualizing concurrency: https://divan.dev/posts/go_concurrency_visualize/
Comment linking /posts/go_concurrency_visualize/
on “Ask HN: Visualizing software designs, especially of large systems (if at all)?”Most of the tools for visualizing code lack the practical part. Dependencies graphs are often so huge, that generated graphiz output doesn't even open on Macbook M1. Codeflow graphs kinda helpful sometimes, but nothing game changing. I explored the topic of visual programming a couple of years ago and presented the first attempt to make the code visualization tool useful and practical in this long-read - "Rethinking…
Comment linking /posts/visual_programming_go/
on “Tools for visualizing a codebase”I'm planning to write a blog post with my experience with those two (I'm using Go full-time for 8+ years and Dart for Flutter for more than 3 years). Those two languages are on the opposite extremes for me (minimalistic vs packed-with-almost-every-feature-known). I use Dart because Flutter is amazing, and Flutter and Dart teams are closely cooperate to my knowledge. I still struggle from time to time to navigate ove…
Comment linking /posts/flutter_go/
on “The Go Programming Language and Environment”Hey, great stuff, but my question is whether produced visualization/graph is similar to how would you "see" the code in your head yourself? The problem of familiarizing/navigating textual codebase is embarrassingly unsolved, and I was exploring this in the post "Rethinking visual programming with Go" [1], but yet my main issue with visualization tools is that they offer intermediate representation of the code, which…
Comment linking /posts/visual_programming_go/
on “Show HN: Codemap – Codebase Visualizer for JavaScript, TypeScript, and Python”