14 ms·
H-m-m: Hackers mind map
- scastiel 4y agoWow, a single PHP file, I wasn’t expecting that ^^ Looks cool though, I’ll try it soon :)
- rcarmo 4y agoYeah. I do wonder if it is possible to pack this into a standalone binary so that I don't have to install PHP - not due to language bias, but so it might be run without any package installation steps.
- septune 4y agoHave a look at ph7 https://symisc.net/downloads/ph7_intro.c https://symisc.net/downloads/ph7_intro.c
- elwell 4y agoThe use of PHP makes it truly a hacker's mind map.
- cush 4y agoLooks like a mind tree. Can it do proper graphs?
- Tomte 4y agoMindmaps are trees. Maybe you're looking for concept mapping software like cmaptools? This isn't a real Buzan-style mindmap, though, because the words aren't on the lines.
- jcutrell 4y agoNot nearly as hacker-y as this, but I'll plug Reflect here. Probably my favorite tool for this so far. Best continually-improving UX, but there's a subscription cost. I happily pay it.
- leetrout 4y agoDo you have a link?
- tartoran 4y agoMmm, keyboard centric, Im loving it
- felipelalli 4y agoI am making a new proj and this tool will be really useful for me! Thank you.
- Minor49er 4y agoThis is really cool. Adding, editing, and navigating nodes is pretty intuitive (reminds me of working in a spreadsheet). I kind of wish that it would auto-center as you're editing, and it might be nice to be able to hit Escape to cancel out of creating a new node. The ability to export as HTML is simple and gives a nice result. I'm going to incorporate this into some of my workflows
- kobalsky 4y ago> I kind of wish that it would auto-center as you're editing press shift+c
- dkaigorodov 4y agoLove the idea, love the UI. I see same UI approach can give life to quite many new tools. I'll try it when they repair my Mac
- koheripbal 4y agoShould integrate with orgmode headings. ...but mapping everything is just step one. Step two is getting a prioritized list of todos for the day.
- s3r3nity 4y agoI'm old enough to remember when pockets of the Freemind[1] community aspired for that application to reach something of this state. Sadly, development forked and work on the original project stalled pretty hard. Great stuff - thanks for sharing! [1]http://freemind.sourceforge.net/wiki/index.php/Main_Page http://freemind.sourceforge.net/wiki/index.php/Main_Page
- penguin_booze 4y agoIts fork, freeplane, is what I use: https://docs.freeplane.org/ https://docs.freeplane.org/.
- IceDane 4y agoOK, cool idea, but.. - Why is this written in PHP? Who builds CLI applications in PHP? Everything looks like a nail, I guess? - Why did you choose your own custom serialization format instead of using something universally supported, like JSON? It's literally more effort for you and everyone else involved for zero benefit. - I love CLI applications and CLI navigation(vim-style, etc) but it really feels like a missed opportunity for this to not have any sort of web UI, since it would be very natural to click, zoom and pan around.
- syntheticnature 4y agoNear the bottom of the README, it says: Programming is not my career, but rather a hobby, and I developed h-m-m because I wanted to have something like this and couldn't find one. Therefore, what I've done here may have a lot of room for improvement. It makes sense to me that a hobbyist might well build a CLI in whatever is convenient for them, and not know to look for standard serialization formats.
- deleted 4y ago[deleted]
- halostatue 4y agoProgramming is not my career, but rather a hobby, and I developed h-m-m because I wanted to have something like this and couldn't find one. Therefore, what I've done here may have a lot of room for improvement. If you see an embarrassing problem in the program or have an idea for improvement, feel free to contact me; I'd be happy to receive your feedback. I’m not fond of it being in PHP, either (mostly because I doubt I have it installed to use this), but that doesn’t make this a bad tool, just one that solves someone’s problem.
- nadrad 4y agoDo you mean json for saving the data? I wanted the file to be human-readable. You can simply have a markdown list and open it in this application and work with it as a mind map. Also, most of the content one may paste into a mind map is an indented list, and when they copy something from the map, they expect it to be like that. Therefore, the application must be able to process from and to indented lists anyway.
- choletentent 4y agoNice tool. A question to others who enjoy similar tools: What is the difference between this (or other) tool to a simple document on Gdocs with multilevel bullet lists?
- hansvm 4y agoThe most obvious benefit is easily handling non-tree interactions. The fact that it's terminal-centric is also situationally an advantage as opposed to gdocs, but that could easily be solved by vim or something, so I don't think that's quite what you were asking.
- nadrad 4y agoThis type of application makes it easier and faster to navigate the tree, collapse and expand to focus on various aspects, etc.
- thoughtpalette 4y agoLove the idea. Their website is full of goodies. The graphic for the p3 express framework is pretty cool. https://p3.express/manual/v2/ https://p3.express/manual/v2/
- nadrad 4y agoI'm glad you like it :) To be clear, this mind mapping application is my personal project and P3.express is a group effort and I'm one of its contributors.
- gaetgu 4y agoAwesome. I am using PHP for some college classes and I can certainly say that I would never want to use it for something like this, but the fact that someone did is pretty awesome. I will definitely be using (probably a fork that I rewrite in a language that I will be willing to maintain) a lot for sure. Awesome work!
- bheadmaster 4y agoA terminal-based mind mapping tool with Vim keybindings? Count me in! The fact that the name immediately made me think "Hamlin-McGill-McGill" is only a bonus :)
- hinkley 4y agoI showed up to a company wide strategy offsite with an iPad and whipped out a mind mapping tool. For the first ten minutes I could see my boss vibrating because he thought I was fucking around. By the end of the meeting he wanted a copy, and for me to CC his boss and a couple of his peers.
- sachin_m 4y agoWhich tool are you using on iPad?
- rcarmo 4y agoBest ones I’ve used are MindNode and XMind. I actually used MindNode for personal stuff and XMind for work, but now I’ve been gravitating towards XMind alone because it also runs on Linux (besides Mac and Windows) and I can sync my mindmaps to the iPad with SyncThing. XMind does have a couple of irritating bugs on Fedora around keyboard input (I can’t move focus with the cursor keys, it creates a new node) but it might be specific to my setup. Their support/developers don’t seem to care much, though.
- rhn_mk1 4y agoWhy would a mind mapping tool cause such a reaction? Are diagrams considered not serious where you work? Was the tool heavily ornamental/stylized? Or was it seen as writing down things that are obvious?
- deleted 4y ago[deleted]
- _steady 4y agoHey! love the thing. Quick suggestion to the README on the section "Relative navigating and moving" It looks like I have to press H <AND> <-, to move left - I am assuming that I can do either or, a la vim. A small copy edit would make that clearer. Kudos!
- nadrad 4y agoDone :)
- wpietri 4y agoI keep trying mind maps and getting frustrated because my mind works differently. Anybody know of ones that let you start out non-hierarchical? For me, key nodes are often obvious long before relationships are. E.g., if I'm working with post-it notes, I might write a bunch of notes, cluster them, winnow, and only then want to start locking in relationships between items. Has anybody seen something that's pretty straightforward that supports that approach?
- ColinWright 4y agoI use zim-wiki with the graph plug-in, along with external scripts that edit the underlying pages to both add and remove links. I've emailed and tweeted.
- throwoutway 4y agoUsually the non-hierarchical is an option to toggle on/off in the tools I’ve used. With hierarchy you can still achieve it though. If the topic is “alphabet” I might create major nodes A B C D without linking them. I then play with A B C and D and add more nodes in a brain dump and then re-arrange later and map the relationships
- Terretta 4y agoPerhaps iThoughtsX from https://www.toketaware.com/ https://www.toketaware.com/
- captaincaveman 4y agoYeah this is a common problem that pops up all the time, typically a tree, or taxonomy etc aren't sufficient and you need an ontology. But they aren't so easy to grasp intuitionally so we try to dumb it down and then hit problems, imho.
- jehna1 4y agomiro.com works great for this kind of thing. Edit: Or if you want an open source alternative, check out ourboard.io
- michaelwww 4y ago
- amadeuspagel 4y agoI don't really get the point of a hierarchical mind map. Why not just use a nested list? (Seems to be standard for mindmaps, so I'm criticizing this project specifically.)
- nadrad 4y agoIt's basically a nested list, but you get specific features that makes it easier and faster to navigate such a list. Mind mapping is a facilitator for the thinking process. When you're trying to solve a problem or design a concept, you need to switch between the high-level aspects and details all the time, and your tool shouldn't get in the way.
- phailhaus 4y agoHave you considered aligning sublists to the parent node? Right now, your eyes have to leap upwards from a node to get the first child of the list. And since each list has a different length, you have to scan upwards a different amount every time. If every list was aligned with the parent, you could just read left-to-right.
- nadrad 4y agoWould you mind explaining a little more?
- phailhaus 4y agoIn the screenshot in the repo, there's a node with the text "a mind mapping tool". It has 5 children, but the first child "text-based (terminal application)" is above it. So the more children a node has, the further above it the first child is. What if it was aligned so that the first child is at the same height as its parent? Then it might look more natural like a list, and read easier since the children start at the same height as the parent rather than at some arbitrary point above it. This would help with flow, because then you can read left to right and scan downwards. Right now you have to keep jumping up to find the first child and then scan down to read all the children.
- poopies 4y agoI agree with this, but I would say that both options work. I like how it organizes things currently, but if this "child list" could be added it would make my workflow quite organized for little input. Keeping things as simple as possible while maintaining productivity is the goal. Although I would like to see color coding in some fashion as to keep larger data sets clear when observed in a tree with many branches. Perhaps the hotkey of '0' could be used as it is next to O for creating a new "child list". Great tool as-is though.
- nadrad 4y agoI see. There can be a vertical alignment option in case someone prefers this layout.
- Terretta 4y agoThere are no stupid questions, except maybe this one: Q. Why is a wide horizontal tree superior way to work with a mind map that’s a pure outline (not a DAG) than a simple outline? See the Data Format here, it’s an outline. Keystrokes are about moving nodes and descendants, that can work on an outline. And then why not have a portable outline format. I do understand this is terminal/text. Yet there are plenty terminal/text outline editors, and being able to see a narrow outline instead of a wide tree feels more usuable. That said, I use and really enjoy iThoughtsX which can import/export OPML and Markdown etc., and provides ability to control visual layout per ‘information geography’ or ‘cartography’. So not averse to visual graph depiction of a DAG, just asking why folks like this for pure outline format instead of outline editing?
- IggleSniggle 4y agoI haven’t tried this yet, but from the look of it, it expands both horizontally and vertically, and one of the more important features is collapsibility/expansion of subnodes. Note that in the image there, they’ve got some subnodes expanded deep horizontally, while their sibling nodes might be even deeper but are collapsed. The difference with a simple vertical outline is that this format is focused on pruning/unpruning parts of the tree, pair with an expectation of arbitrarily “deep” nesting. I find that in outline format, I’m unlikely to go deeper than a couple levels, and will at that point either switch to narrative or use some sort of referencing scheme.
- Terretta 4y agoOK, makes sense. I think most "outliner" tools I know of do exactly those adds, with the benefit of also being relatively flush left. As I help our firm select knowledge management tools, I'm just trying to understand the use cases that differentiate this approach from a fully fledged outliner. Note that I ask the same thing of people who do outlines in MS Word manually as plain bullet lists instead of using, you know, the outliner. :-)
- nyxtom 4y agoVim keyboard mapping in the terminal. This is a great project. Now I can finally replace some of my web-based mind map tools
- birriel 4y agoI'm getting a 255 return code when I try to run it. php v.7.4.3. Permissions are all ok. Anybody else have this problem?
- birriel 4y agoStandard error said there was a call to undefined function mb_strlen(), which apparently isn't available by default on php.
- vincentkriek 4y agoNot trying to hate on PHP, but deployment is one of the features that is so great with Go. It's about on the same level of abstraction as PHP and it's just a breeze to deploy stuff.
- birriel 4y agosudo apt install php7.4-mbstring # Fixed it. There's also package php-mbstring
- gavinray 4y agoThis is why you take a few seconds to be considerate to your users and potential contributors and put a 5 line Dockerfile in the repo You can either run the code or develop on the code with no more "works on my machine" that way Something like this should have done it: FROM php:8 # install that mbstring library CMD ["however", "you", "start", "php", "apps"]
- nborwankar 4y agoDave Winer of RSS and blogging fame created Think Tank, a text mode outliner, back in the 80’s. Was a single binary for MSDOS. Haven’t seen an outliner that came close.
- ASalazarMX 4y agoIs this it? https://www.pcjs.org/software/pcx86/app/other/thinktank/1987/ https://www.pcjs.org/software/pcx86/app/other/thinktank/1987...
- exoji2e 4y agoLooks cool. A bit strange with a 2.4k single php-file implementation though. If it works, it works I guess.
- falkd 4y agoCan anybody point to some resources that would help someone who's interested in trying to use mind mapping? I often see these mind map things and I'm interested in learning what benefits they can provide me, but I have no idea how they're actually used. My searches have only yielded people using them as study aids.
- themodelplumber 4y agoThe Mind Map Book by Tony Buzan is a good place to start. As are his video interviews and lectures that can be found here and there. https://youtu.be/VP-OoIqoEa4 https://youtu.be/VP-OoIqoEa4 Essentially they are all about creating a breadth-first outlay, when there are lots of things to cover, think about, or discuss. Then you can tack your additional needs on around that. Tony was also obsessed with learning, memory, and memorization as general aims in life, so he tried to map natural patterns like sensory factors, fractals, and meaningful branches onto his mind map scheme. In his view, this merge with the mystically-natural was in effect a merge with the best one could achieve in taking notes. IMHO however, those are some of the least interesting parts in terms of day to day note taking utility, and the capture of a broad set of ideas as if it's all owned by one central topic is basically fantastic enough for most uses. This is also known as a concept map.
- placebo 4y agoI never really understood the advantage of a mind map tool over a good tree-oriented note taking/task organizing tool. In fact I prefer the use of screen real-estate in a simple tree than a mind-map. Is this just a matter of personal taste or is there some functionality/concept am I overlooking?
- nadrad 4y agoEasier and faster navigation of the tree
- adamredwoods 4y agoI think mind-mapping is similar to graphs, so it shows circular relationships. But I personally enjoy tree structures for reading. I don't see why these apps can't do both.
- OliverJones 4y agoThis is great. Especially because it's the work of a highly motivated and gifted person who doesn't crank code for a living. I'd say "gifted amateur" except the only thing amateurish about this is that it's a labor of love.
- viraptor 4y agoThat's a valid definition of amateur. It can also mean low skill, but that's just how we messed up the language. https://en.wikipedia.org/wiki/Amateur_professionalism https://en.wikipedia.org/wiki/Amateur_professionalism
- 1MachineElf 4y agoIt looks cool, but I'm looking for a mind map that can represent cyclic graphs and multi-dimensional hierarchies.
- tiberriver256 4y agoBuilt by a product manager?! I didn't know they could make things!
- nadrad 4y agoNot a product manager, my area is project management :)
- trafnar 4y agoI made a video overview of this tool if you want to see it in action. I also compared its philosophy to my tool TaskTXT (http://www.tasktxt.com http://www.tasktxt.com). Hmm video overview: https://youtu.be/mRbaXHlhwUI https://youtu.be/mRbaXHlhwUI
- oehpr 4y agoI love this. Honestly if this had the same tasking capabilities as minder https://github.com/phase1geo/Minder https://github.com/phase1geo/Minder I might just make the jump to it. Using mind maps as a tasking app has worked out well for me. This project looks very very hackable. Might do a pull request
- rcarmo 4y agoUsing Git-Flavored Markdown, you can have [x] as checkboxes...
- oehpr 4y agoWe're talking about h-m-m right now? Is your suggestion to simply name a node '[ ] thing to do'? I could talk at length about the ergonomic deficiencies there but I wanted to verify first that I understood you correctly.
- rcarmo 4y agoI went back and tried this and it is pretty awesome. Very, very good navigation and quick editing experience (and I use mindmaps a lot!) I do wish it was in a compiled language like C or Go (or a more common CLI scripting language like Python) so I didn’t have to install PHP at all.
- pyinstallwoes 4y agoI miss using Sketch for mind-mapping. Vector based editor with great support for annotation, infinite zoom, notes, and graphics. Oh well.
- mensetmanusman 4y agoI have been using iThoughts for over 10 years. Great for a touch interface.
- rasengan0 4y agoLiterally, today, was thinking about leveraging $tree for mindmapping when this dropped: Poor mans mind mapping tool with just the terminal [1] having been inspired by h-m-m (hackers mind map) [2] Went with VimOutliner [3] instead which is one less thing to install and fits so well with a tmux-vim setup. Now all that is missing a sparse tree mode like OrgMode that beats out tabs and splits [4] [1] https://news.ycombinator.com/item?id=32846124 https://news.ycombinator.com/item?id=32846124; https://www.unixsheikh.com/tutorials/poor-mans-mind-mapping-tool-with-just-the-terminal.html https://www.unixsheikh.com/tutorials/poor-mans-mind-mapping-... [2] https://github.com/nadrad/h-m-m https://github.com/nadrad/h-m-m [3] https://github.com/vimoutliner/vimoutliner https://github.com/vimoutliner/vimoutliner [4] https://orgmode.org/manual/Sparse-Trees.html#Sparse-Trees https://orgmode.org/manual/Sparse-Trees.html#Sparse-Trees
- philprx 4y agoOne can use also mermaid JS with its live editor.
- rcarmo 4y agoit's just not the same. Every single good mind mapping tool, despite being "graphical", distinguishes itself by good keyboard handling so you can quickly navigate and move stuff around. This does that.
- makeitrain 4y agoTerminal based mind map, with vim keys!
- przemub 4y agoWritten in PHP! That's a cool language, not these Rusts, Gos, Carbons... get off my yard
- anchit_rana 4y ago