├── LICENSE ├── README.md ├── _config.yml ├── limbo └── dead.md ├── memory └── mindforger │ ├── autolinking.png │ ├── faq.title-section-edit.png │ ├── history.coaching-notebook.png │ ├── history.md │ ├── history.mf.png │ ├── history.mr.jpg │ ├── history.spiders.jpg │ ├── index.md │ ├── installation.macos-cp-dmg-to-apps.png │ ├── installation.md │ ├── mindforger.png │ ├── user-documentation.click-to-edit.png │ ├── user-documentation.eisenhower-matrix.png │ ├── user-documentation.importance-urgency-edit.png │ ├── user-documentation.importance-urgency-view.png │ ├── user-documentation.knowledge-graph-navigator.png │ ├── user-documentation.md │ ├── user-documentation.multiple-documents.png │ ├── user-documentation.ner.png │ ├── user-documentation.note-refactoring.png │ ├── user-documentation.outliner-rules.png │ ├── user-documentation.stencils.png │ ├── user-documentation.tayr.png │ ├── user-documentation.tayw.png │ └── why-mindforger.md ├── repository-configuration.md └── stencils ├── notebooks ├── business-plan.md ├── functional-analysis.md ├── grow.md ├── swot.md └── technical-analysis.md └── notes ├── empty.md ├── meeting.md ├── minimal.md ├── new-note-list.md ├── progress-report-meeting.md ├── smart-goal.md ├── todo-list.md └── weekly-report.md /LICENSE: -------------------------------------------------------------------------------- 1 | MindForger is licensed under GNU GPL version 2 or any later version. 2 | 3 | GNU GENERAL PUBLIC LICENSE 4 | Version 2, June 1991 5 | 6 | Copyright (C) 1989, 1991 Free Software Foundation, Inc., 7 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 8 | Everyone is permitted to copy and distribute verbatim copies 9 | of this license document, but changing it is not allowed. 10 | 11 | Preamble 12 | 13 | The licenses for most software are designed to take away your 14 | freedom to share and change it. By contrast, the GNU General Public 15 | License is intended to guarantee your freedom to share and change free 16 | software--to make sure the software is free for all its users. This 17 | General Public License applies to most of the Free Software 18 | Foundation's software and to any other program whose authors commit to 19 | using it. (Some other Free Software Foundation software is covered by 20 | the GNU Lesser General Public License instead.) You can apply it to 21 | your programs, too. 22 | 23 | When we speak of free software, we are referring to freedom, not 24 | price. Our General Public Licenses are designed to make sure that you 25 | have the freedom to distribute copies of free software (and charge for 26 | this service if you wish), that you receive source code or can get it 27 | if you want it, that you can change the software or use pieces of it 28 | in new free programs; and that you know you can do these things. 29 | 30 | To protect your rights, we need to make restrictions that forbid 31 | anyone to deny you these rights or to ask you to surrender the rights. 32 | These restrictions translate to certain responsibilities for you if you 33 | distribute copies of the software, or if you modify it. 34 | 35 | For example, if you distribute copies of such a program, whether 36 | gratis or for a fee, you must give the recipients all the rights that 37 | you have. You must make sure that they, too, receive or can get the 38 | source code. And you must show them these terms so they know their 39 | rights. 40 | 41 | We protect your rights with two steps: (1) copyright the software, and 42 | (2) offer you this license which gives you legal permission to copy, 43 | distribute and/or modify the software. 44 | 45 | Also, for each author's protection and ours, we want to make certain 46 | that everyone understands that there is no warranty for this free 47 | software. If the software is modified by someone else and passed on, we 48 | want its recipients to know that what they have is not the original, so 49 | that any problems introduced by others will not reflect on the original 50 | authors' reputations. 51 | 52 | Finally, any free program is threatened constantly by software 53 | patents. We wish to avoid the danger that redistributors of a free 54 | program will individually obtain patent licenses, in effect making the 55 | program proprietary. To prevent this, we have made it clear that any 56 | patent must be licensed for everyone's free use or not licensed at all. 57 | 58 | The precise terms and conditions for copying, distribution and 59 | modification follow. 60 | 61 | GNU GENERAL PUBLIC LICENSE 62 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 63 | 64 | 0. This License applies to any program or other work which contains 65 | a notice placed by the copyright holder saying it may be distributed 66 | under the terms of this General Public License. The "Program", below, 67 | refers to any such program or work, and a "work based on the Program" 68 | means either the Program or any derivative work under copyright law: 69 | that is to say, a work containing the Program or a portion of it, 70 | either verbatim or with modifications and/or translated into another 71 | language. (Hereinafter, translation is included without limitation in 72 | the term "modification".) Each licensee is addressed as "you". 73 | 74 | Activities other than copying, distribution and modification are not 75 | covered by this License; they are outside its scope. The act of 76 | running the Program is not restricted, and the output from the Program 77 | is covered only if its contents constitute a work based on the 78 | Program (independent of having been made by running the Program). 79 | Whether that is true depends on what the Program does. 80 | 81 | 1. You may copy and distribute verbatim copies of the Program's 82 | source code as you receive it, in any medium, provided that you 83 | conspicuously and appropriately publish on each copy an appropriate 84 | copyright notice and disclaimer of warranty; keep intact all the 85 | notices that refer to this License and to the absence of any warranty; 86 | and give any other recipients of the Program a copy of this License 87 | along with the Program. 88 | 89 | You may charge a fee for the physical act of transferring a copy, and 90 | you may at your option offer warranty protection in exchange for a fee. 91 | 92 | 2. You may modify your copy or copies of the Program or any portion 93 | of it, thus forming a work based on the Program, and copy and 94 | distribute such modifications or work under the terms of Section 1 95 | above, provided that you also meet all of these conditions: 96 | 97 | a) You must cause the modified files to carry prominent notices 98 | stating that you changed the files and the date of any change. 99 | 100 | b) You must cause any work that you distribute or publish, that in 101 | whole or in part contains or is derived from the Program or any 102 | part thereof, to be licensed as a whole at no charge to all third 103 | parties under the terms of this License. 104 | 105 | c) If the modified program normally reads commands interactively 106 | when run, you must cause it, when started running for such 107 | interactive use in the most ordinary way, to print or display an 108 | announcement including an appropriate copyright notice and a 109 | notice that there is no warranty (or else, saying that you provide 110 | a warranty) and that users may redistribute the program under 111 | these conditions, and telling the user how to view a copy of this 112 | License. (Exception: if the Program itself is interactive but 113 | does not normally print such an announcement, your work based on 114 | the Program is not required to print an announcement.) 115 | 116 | These requirements apply to the modified work as a whole. If 117 | identifiable sections of that work are not derived from the Program, 118 | and can be reasonably considered independent and separate works in 119 | themselves, then this License, and its terms, do not apply to those 120 | sections when you distribute them as separate works. But when you 121 | distribute the same sections as part of a whole which is a work based 122 | on the Program, the distribution of the whole must be on the terms of 123 | this License, whose permissions for other licensees extend to the 124 | entire whole, and thus to each and every part regardless of who wrote it. 125 | 126 | Thus, it is not the intent of this section to claim rights or contest 127 | your rights to work written entirely by you; rather, the intent is to 128 | exercise the right to control the distribution of derivative or 129 | collective works based on the Program. 130 | 131 | In addition, mere aggregation of another work not based on the Program 132 | with the Program (or with a work based on the Program) on a volume of 133 | a storage or distribution medium does not bring the other work under 134 | the scope of this License. 135 | 136 | 3. You may copy and distribute the Program (or a work based on it, 137 | under Section 2) in object code or executable form under the terms of 138 | Sections 1 and 2 above provided that you also do one of the following: 139 | 140 | a) Accompany it with the complete corresponding machine-readable 141 | source code, which must be distributed under the terms of Sections 142 | 1 and 2 above on a medium customarily used for software interchange; or, 143 | 144 | b) Accompany it with a written offer, valid for at least three 145 | years, to give any third party, for a charge no more than your 146 | cost of physically performing source distribution, a complete 147 | machine-readable copy of the corresponding source code, to be 148 | distributed under the terms of Sections 1 and 2 above on a medium 149 | customarily used for software interchange; or, 150 | 151 | c) Accompany it with the information you received as to the offer 152 | to distribute corresponding source code. (This alternative is 153 | allowed only for noncommercial distribution and only if you 154 | received the program in object code or executable form with such 155 | an offer, in accord with Subsection b above.) 156 | 157 | The source code for a work means the preferred form of the work for 158 | making modifications to it. For an executable work, complete source 159 | code means all the source code for all modules it contains, plus any 160 | associated interface definition files, plus the scripts used to 161 | control compilation and installation of the executable. However, as a 162 | special exception, the source code distributed need not include 163 | anything that is normally distributed (in either source or binary 164 | form) with the major components (compiler, kernel, and so on) of the 165 | operating system on which the executable runs, unless that component 166 | itself accompanies the executable. 167 | 168 | If distribution of executable or object code is made by offering 169 | access to copy from a designated place, then offering equivalent 170 | access to copy the source code from the same place counts as 171 | distribution of the source code, even though third parties are not 172 | compelled to copy the source along with the object code. 173 | 174 | 4. You may not copy, modify, sublicense, or distribute the Program 175 | except as expressly provided under this License. Any attempt 176 | otherwise to copy, modify, sublicense or distribute the Program is 177 | void, and will automatically terminate your rights under this License. 178 | However, parties who have received copies, or rights, from you under 179 | this License will not have their licenses terminated so long as such 180 | parties remain in full compliance. 181 | 182 | 5. You are not required to accept this License, since you have not 183 | signed it. However, nothing else grants you permission to modify or 184 | distribute the Program or its derivative works. These actions are 185 | prohibited by law if you do not accept this License. Therefore, by 186 | modifying or distributing the Program (or any work based on the 187 | Program), you indicate your acceptance of this License to do so, and 188 | all its terms and conditions for copying, distributing or modifying 189 | the Program or works based on it. 190 | 191 | 6. Each time you redistribute the Program (or any work based on the 192 | Program), the recipient automatically receives a license from the 193 | original licensor to copy, distribute or modify the Program subject to 194 | these terms and conditions. You may not impose any further 195 | restrictions on the recipients' exercise of the rights granted herein. 196 | You are not responsible for enforcing compliance by third parties to 197 | this License. 198 | 199 | 7. If, as a consequence of a court judgment or allegation of patent 200 | infringement or for any other reason (not limited to patent issues), 201 | conditions are imposed on you (whether by court order, agreement or 202 | otherwise) that contradict the conditions of this License, they do not 203 | excuse you from the conditions of this License. If you cannot 204 | distribute so as to satisfy simultaneously your obligations under this 205 | License and any other pertinent obligations, then as a consequence you 206 | may not distribute the Program at all. For example, if a patent 207 | license would not permit royalty-free redistribution of the Program by 208 | all those who receive copies directly or indirectly through you, then 209 | the only way you could satisfy both it and this License would be to 210 | refrain entirely from distribution of the Program. 211 | 212 | If any portion of this section is held invalid or unenforceable under 213 | any particular circumstance, the balance of the section is intended to 214 | apply and the section as a whole is intended to apply in other 215 | circumstances. 216 | 217 | It is not the purpose of this section to induce you to infringe any 218 | patents or other property right claims or to contest validity of any 219 | such claims; this section has the sole purpose of protecting the 220 | integrity of the free software distribution system, which is 221 | implemented by public license practices. Many people have made 222 | generous contributions to the wide range of software distributed 223 | through that system in reliance on consistent application of that 224 | system; it is up to the author/donor to decide if he or she is willing 225 | to distribute software through any other system and a licensee cannot 226 | impose that choice. 227 | 228 | This section is intended to make thoroughly clear what is believed to 229 | be a consequence of the rest of this License. 230 | 231 | 8. If the distribution and/or use of the Program is restricted in 232 | certain countries either by patents or by copyrighted interfaces, the 233 | original copyright holder who places the Program under this License 234 | may add an explicit geographical distribution limitation excluding 235 | those countries, so that distribution is permitted only in or among 236 | countries not thus excluded. In such case, this License incorporates 237 | the limitation as if written in the body of this License. 238 | 239 | 9. The Free Software Foundation may publish revised and/or new versions 240 | of the General Public License from time to time. Such new versions will 241 | be similar in spirit to the present version, but may differ in detail to 242 | address new problems or concerns. 243 | 244 | Each version is given a distinguishing version number. If the Program 245 | specifies a version number of this License which applies to it and "any 246 | later version", you have the option of following the terms and conditions 247 | either of that version or of any later version published by the Free 248 | Software Foundation. If the Program does not specify a version number of 249 | this License, you may choose any version ever published by the Free Software 250 | Foundation. 251 | 252 | 10. If you wish to incorporate parts of the Program into other free 253 | programs whose distribution conditions are different, write to the author 254 | to ask for permission. For software which is copyrighted by the Free 255 | Software Foundation, write to the Free Software Foundation; we sometimes 256 | make exceptions for this. Our decision will be guided by the two goals 257 | of preserving the free status of all derivatives of our free software and 258 | of promoting the sharing and reuse of software generally. 259 | 260 | NO WARRANTY 261 | 262 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 263 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 264 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 265 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 266 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 267 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 268 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 269 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 270 | REPAIR OR CORRECTION. 271 | 272 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 273 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 274 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 275 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 276 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 277 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 278 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 279 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 280 | POSSIBILITY OF SUCH DAMAGES. 281 | 282 | END OF TERMS AND CONDITIONS 283 | 284 | How to Apply These Terms to Your New Programs 285 | 286 | If you develop a new program, and you want it to be of the greatest 287 | possible use to the public, the best way to achieve this is to make it 288 | free software which everyone can redistribute and change under these terms. 289 | 290 | To do so, attach the following notices to the program. It is safest 291 | to attach them to the start of each source file to most effectively 292 | convey the exclusion of warranty; and each file should have at least 293 | the "copyright" line and a pointer to where the full notice is found. 294 | 295 | 296 | Copyright (C) 297 | 298 | This program is free software; you can redistribute it and/or modify 299 | it under the terms of the GNU General Public License as published by 300 | the Free Software Foundation; either version 2 of the License, or 301 | (at your option) any later version. 302 | 303 | This program is distributed in the hope that it will be useful, 304 | but WITHOUT ANY WARRANTY; without even the implied warranty of 305 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 306 | GNU General Public License for more details. 307 | 308 | You should have received a copy of the GNU General Public License along 309 | with this program; if not, write to the Free Software Foundation, Inc., 310 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 311 | 312 | Also add information on how to contact you by electronic and paper mail. 313 | 314 | If the program is interactive, make it output a short notice like this 315 | when it starts in an interactive mode: 316 | 317 | Gnomovision version 69, Copyright (C) year name of author 318 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 319 | This is free software, and you are welcome to redistribute it 320 | under certain conditions; type `show c' for details. 321 | 322 | The hypothetical commands `show w' and `show c' should show the appropriate 323 | parts of the General Public License. Of course, the commands you use may 324 | be called something other than `show w' and `show c'; they could even be 325 | mouse-clicks or menu items--whatever suits your program. 326 | 327 | You should also get your employer (if you work as a programmer) or your 328 | school, if any, to sign a "copyright disclaimer" for the program, if 329 | necessary. Here is a sample; alter the names: 330 | 331 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program 332 | `Gnomovision' (which makes passes at compilers) written by James Hacker. 333 | 334 | , 1 April 1989 335 | Ty Coon, President of Vice 336 | 337 | This General Public License does not permit incorporating your program into 338 | proprietary programs. If your program is a subroutine library, you may 339 | consider it more useful to permit linking proprietary applications with the 340 | library. If this is what you want to do, use the GNU Lesser General 341 | Public License instead of this License. 342 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MindForger Repository 2 | 3 | ![MindForger](memory/mindforger/mindforger.png) 4 | 5 | This is initial repository image of 6 | [MindForger](https://github.com/dvorka/mindforger) - thinking notebook 7 | and Markdown editor: 8 | 9 | * [documentation index](memory/mindforger/index.md) 10 | 11 | The repository is kept separate from MindForger source code to 12 | distinquish changes to the application source code and repository 13 | documents. Such separation enables independent releases and changes to 14 | the application and it's default data. 15 | 16 | * `memory/` 17 | * Notebooks with MindForger **documentation** 18 | * `stencils/` 19 | * basic set of Notebook and Note **stencils** 20 | * `limbo/` 21 | * place with no space and time where **forgotten knowledge** resides 22 | 23 | To open initial repository with MindForger run the following command in 24 | this directory: 25 | 26 | ```sh 27 | mindforger . 28 | ``` 29 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-slate -------------------------------------------------------------------------------- /limbo/dead.md: -------------------------------------------------------------------------------- 1 | # Dead Outline 2 | 3 | This is an example of a dead Outline residing in Limbo. 4 | -------------------------------------------------------------------------------- /memory/mindforger/autolinking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/autolinking.png -------------------------------------------------------------------------------- /memory/mindforger/faq.title-section-edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/faq.title-section-edit.png -------------------------------------------------------------------------------- /memory/mindforger/history.coaching-notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/history.coaching-notebook.png -------------------------------------------------------------------------------- /memory/mindforger/history.md: -------------------------------------------------------------------------------- 1 | # History 2 | [Donald Knuth](https://cs.wikipedia.org/wiki/Donald_Ervin_Knuth) implemented [TeX](https://en.wikipedia.org/wiki/TeX) because he was not satified with existing typesetting systems and he wanted to write beautiful research articles and books. 3 | 4 | [Linux Torvalds](https://en.wikipedia.org/wiki/Linus_Torvalds) implemented [Git](https://en.wikipedia.org/wiki/Git) because he was not satisfied with existing version-control systems and he wanted to efficiently maintain 5 | Linux kernel source code. 6 | 7 | I admire both of these men. Both of them stopped the work and implemented tool which they were 8 | desperately missing. Then they returned back to do what they know best. My motivation is exactly the same. 9 | 10 | [I](http://me.mindforger.com/) implemented MindForger because I was not satisfied with existing knowledge 11 | management tools and I want to learn exciting things for the rest of my life. 12 | 13 | Forger part of MindForger name is inspired by _forger_ character from [Inception](https://www.imdb.com/title/tt1375666/fullcredits) movie by Christopher Nolan (Tom Hardy as dream property forger). This is also why the first release 14 | title screenshot has been based on Eddie character from [Venom](https://www.imdb.com/title/tt1270797/) movie 15 | (Tom Hardy w/ symbiont). 16 | 17 | [MindForger](https://www.mindforger.com) is my fourth attempt to implement a good knowledge management 18 | tool. Therefore it has relatively long history - it is successor of 19 | [RDF Spiders](#rdf-spiders), [MindRaider](#mindraider) and [Coaching Notebook](#coaching-notebook). Actually it's a bit more 20 | complicated... 21 | # RDF Spiders 22 | ![RDF Spiders](history.spiders.jpg) 23 | 24 | [RDF Spiders](http://mindraider.sourceforge.net/gallery/mindraider-incubator/index.html) was 25 | a 90s Java-based application which visualized RDF models. RDF was a core format specification 26 | of the Semantic Web. 27 | 28 | RDF Spiders can be seen as a **mind mapping** application with native 29 | RDF runtime interoperable with other Semantic Web applications. 30 | It required good knowledge of RDF which limited 31 | number of potential users. This is why I decided to implement more user friendly 32 | [MindRaider](#mindraider). 33 | # MindRaider 34 | ![MindRaider](history.mr.jpg) 35 | 36 | [MindRaider](http://mindraider.sourceforge.net/) is a 90s Java-based 37 | Semantic Web desktop application ([video](https://www.youtube.com/watch?v=Q95ixrVCXEs)) which is an outliner with RDF runtime. 38 | MindRaider was decently successful project with 100.000+ downloads. However 39 | it became morally obsolete and I didn't want to invest my time to deliver new features 40 | on top of dying UI and runtime technology. Therefore I decided to start a new project. 41 | # Coaching Notebook 42 | ![Coaching Notebook](history.mf.png) 43 | 44 | [CoachingNotebook](http://web.mindforger.com/) is a successor of MindRaider. 45 | At the beginning it was a combination of auto-coaching tool and outliner. 46 | Implemented on Google App Engine PaaS (GAE) it served as a way to learn trendy 47 | technologies. After a few years I determined 48 | that coaching aspect of MindForger has questionable future, application is too big, 49 | complex and basically all coaching features can be realized using a mature outliner. 50 | 51 | ![CoachingNotebook](history.coaching-notebook.png) 52 | 53 | Therefore I decided to split CoachingNotebook project to two focused applications: 54 | auto-coaching and outliner. I opensourced CoachingNotebook (w/o outliner) 55 | on [GitHub](https://github.com/dvorka/coaching-notebook) under Apache license. 56 | 57 | Then I decided to return back to the roots. 58 | # MindForger 59 | ![MindForger](mindforger.png) 60 | 61 | [MindForger](https://github.com/dvorka/mindforger) is desktop 62 | application built with lessons learned/fails/experience from all my past projects. 63 | It aims to finally go beyond outliner and become definitive human mind inspired *personal* knowledge management 64 | tool running on desktop. Key features include human mind like capabilities, security, sharing and good overall performance. 65 | -------------------------------------------------------------------------------- /memory/mindforger/history.mf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/history.mf.png -------------------------------------------------------------------------------- /memory/mindforger/history.mr.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/history.mr.jpg -------------------------------------------------------------------------------- /memory/mindforger/history.spiders.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/history.spiders.jpg -------------------------------------------------------------------------------- /memory/mindforger/index.md: -------------------------------------------------------------------------------- 1 | # MindForger 2 | 3 | MindForger is **personal thinking notebook** and **Markdown editor**: 4 | 5 | * Check getting started and features walkthrough [YouTube video](https://t.co/ym1KKEny3y) 6 | 7 | [![MindForger](mindforger.png)](https://t.co/ym1KKEny3y) 8 | 9 | MindForger project motivation and inspiration: 10 | 11 | * [Why MindForger?](why-mindforger.md) 12 | 13 | How to install MindForger? 14 | 15 | * [Installation](installation.md) 16 | 17 | How to use MindForger? 18 | 19 | * [User documentation](./user-documentation.md), [FAQ](faq.md) and [YouTube video](https://t.co/ym1KKEny3y) 20 | 21 | What are interesting (collections of) Markdown documents? 22 | 23 | * [Markdown content and examples](#markdown-content-and-examples) 24 | 25 | How to clone, build, improve, research, tweak and contribute? 26 | 27 | * [Developer documentation](./developer-documentation.md) 28 | 29 | What's MindForger project history? 30 | 31 | * [History](history.md) 32 | 33 | For more details see also MindForger project home https://www.mindforger.com 34 | 35 | --- 36 | 37 | 💡 click a note in the tree of notes on the left to see other sections of this notebook. 38 | 39 | 💡 click menu `View/Outlines` or press Ctrl+Shift+O to view all documents in MindForger 40 | documentation repository. 41 | 42 | --- 43 | 44 | _Made with passion for personal pleasure._ 45 | 46 | # User Documentation 47 | Understand motivation, install, configure and use: 48 | 49 | * [Why MindForger?](why-mindforger.md) 50 | * [Installation](installation.md) 51 | * [Configuration](configuration.md) 52 | * [Documentation](user-documentation.md) 53 | * [FAQ](mindforger/faq.md) 54 | * [History](history.md) 55 | 56 | # Developer Documentation 57 | Clone, build, improve, research, tweak, contribute: 58 | 59 | * [Developer documentation](developer-documentation.md) 60 | 61 | # Markdown content and examples 62 | 63 | If you want to use MindForger as Markdown editor, then 64 | you may want to check examples of various documents (collections) 65 | below. 66 | 67 | Simply clone Git repository and open it from its root 68 | directoring using MindForger: 69 | 70 | * [ProGit](https://github.com/progit/progit) 71 | * `git clone https://github.com/progit/progit && cd progit && mindforger .` 72 | * [JavaScript algorithms](https://github.com/trekhleb/javascript-algorithms) 73 | * `git clone https://github.com/trekhleb/javascript-algorithms && cd javascript-algorithms && mindforger .` 74 | * [Pure Bash bible](https://github.com/dylanaraps/pure-bash-bible) 75 | * `git clone https://github.com/dylanaraps/pure-bash-bible && cd pure-bash-bible && mindforger .` 76 | * [Awesome AI services](https://github.com/sekwiatkowski/awesome-ai-services) 77 | * `git clone https://github.com/sekwiatkowski/awesome-ai-services && cd awesome-ai-services && mindforger .` 78 | * [Build your own X](https://github.com/danistefanovic/build-your-own-x) 79 | * `git clone https://github.com/danistefanovic/build-your-own-x && cd build-your-own-x && mindforger .` 80 | * [Front-end Handbook 2018](https://github.com/FrontendMasters/front-end-handbook-2018) 81 | * `git clone https://github.com/FrontendMasters/front-end-handbook-2018 && cd front-end-handbook-2018 && minforger .` 82 | * [NYTimes Objective-C style guide](https://github.com/NYTimes/objective-c-style-guide) 83 | * `git clone https://github.com/NYTimes/objective-c-style-guide && cd objective-c-style-guide && mindforger .` 84 | * [LivingSocial API design](https://github.com/livingsocial/api-design) 85 | * `git clone https://github.com/livingsocial/api-design && cd api-design && mindforger .` 86 | * [C++ core guidelines](https://github.com/isocpp/CppCoreGuidelines) 87 | * `git clone https://github.com/isocpp/CppCoreGuidelines && cd CppCoreGuidelines && mindforger .` 88 | * [AI computer vision resources](https://github.com/jbhuang0604/awesome-computer-vision) 89 | * `git clone https://github.com/jbhuang0604/awesome-computer-vision && cd awesome-computer-vision && mindforger .` 90 | * [FiveThirtyEight data sources](https://github.com/fivethirtyeight/data) 91 | * `git clone https://github.com/fivethirtyeight/data && cd data && mindforger .` 92 | 93 | See also [awesome Markdown repositories](https://github.com/dvorka/awesome-markdown-repositories) for more examples. 94 | -------------------------------------------------------------------------------- /memory/mindforger/installation.macos-cp-dmg-to-apps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/installation.macos-cp-dmg-to-apps.png -------------------------------------------------------------------------------- /memory/mindforger/installation.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | 3 | Please find latest version of the MindForger installation guide in [MindForger wiki](https://github.com/dvorka/mindforger/wiki/Installation). 4 | -------------------------------------------------------------------------------- /memory/mindforger/mindforger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/mindforger.png -------------------------------------------------------------------------------- /memory/mindforger/user-documentation.click-to-edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/user-documentation.click-to-edit.png -------------------------------------------------------------------------------- /memory/mindforger/user-documentation.eisenhower-matrix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/user-documentation.eisenhower-matrix.png -------------------------------------------------------------------------------- /memory/mindforger/user-documentation.importance-urgency-edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/user-documentation.importance-urgency-edit.png -------------------------------------------------------------------------------- /memory/mindforger/user-documentation.importance-urgency-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/user-documentation.importance-urgency-view.png -------------------------------------------------------------------------------- /memory/mindforger/user-documentation.knowledge-graph-navigator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/user-documentation.knowledge-graph-navigator.png -------------------------------------------------------------------------------- /memory/mindforger/user-documentation.md: -------------------------------------------------------------------------------- 1 | # MindForger User Documentation 2 | 3 | Table of contents: 4 | 5 | * [CLI and man](#cli-and-man) 6 | * [Repository](#repository) 7 | * [Configuration](#configuration) 8 | * [Markdown](#markdown) 9 | * [Search](#search) 10 | * [Thinking Notebook](#thinking-notebook) 11 | * [Cheatsheet: Keyboard Shortcuts](#keyboard-shortcuts) 12 | 13 | This document _briefly_ describes key MindForger features. 14 | # CLI and man 15 | For information on MindForger command line options read the manual page: 16 | 17 | ```shell 18 | man mindforger 19 | ``` 20 | For command options see the help file: 21 | 22 | ```shell 23 | $ mindforger --help 24 | 25 | Usage: mindforger [options] [|] 26 | Thinking notebook. 27 | 28 | Options: 29 | -t, --theme Use 'dark', 'light' or other GUI . 30 | -c, --config-file-path Load configuration from given . 31 | -v, --version Displays version information. 32 | -h, --help Displays this help. 33 | 34 | Arguments: 35 | [|] MindForger repository or directory/file with 36 | Markdown file(s) to open 37 | ``` 38 | # Repository 39 | MindForger can be used to: 40 | 41 | * manage knowledge in a [MindForger repository](#mindforger-repository) 42 | * edit single [Markdown file](#markdown-file) 43 | * edit [multiple Markdown files](#markdown-directory) in given (sub)directories 44 | ## MindForger repository 45 | MindForger repository is a directory with specific 46 | [structure](developer-documentation.md#repository-layout) 47 | where MindForger stores your **knowledge**. It contains Markdown 48 | files ([Markdown hosted DSL](developer-documentation.md#markdown-hosted-dsl)) 49 | allowing you to get most of MindForger capabilities. 50 | 51 | If you run MindForger without parameters, then it opens the 52 | default MindForger repository: 53 | 54 | ``` 55 | $ mindforger 56 | ``` 57 | 58 | If MindForger default repository doesn't exist, then it is created 59 | on MindForger first start in: 60 | 61 | ``` 62 | ~/mindforger-repository 63 | ``` 64 | 65 | Repository structure looks like this: 66 | 67 | ``` 68 | $ tree mindforger-repository/ 69 | 70 | mindforger-repository/ 71 | ├── limbo 72 | ├── memory 73 | ├── mind 74 | └── stencils 75 | ├── notebooks 76 | └── notes 77 | ``` 78 | ## Markdown file 79 | MindForger can be used to edit a **single** Markdown file: 80 | 81 | ``` 82 | mindforger analysis.md 83 | ``` 84 | 85 | If the given file exists, then it's opened for editing, otherwise a 86 | new Markdown file with this name is **created** and opened. 87 | ## Markdown directory 88 | You can open **any** directory and MindForger will find 89 | all Markdown files within the directory and its sub-directories 90 | and open them for search, navigation and editing: 91 | 92 | ``` 93 | $ mindforger a-git-repository-with-interesting-content 94 | ``` 95 | 96 | For example, you can find an [interesting Git repository](#markdown-content-and-examples) 97 | on GitHub or BitBucket, clone it to your machine and open it 98 | with MindForger to easily navigate it. 99 | # Configuration 100 | MindForger can be configured either from UI: 101 | 102 | * menu `Mind/Adapt` 103 | 104 | ... or using configuration file (while MindForger is **NOT** running): 105 | 106 | * `~/.mindforger.md` 107 | 108 | Review `.mindforger.md` for configuration option details and descriptions. 109 | # Markdown 110 | This section provides a brief overview of MindForger's 111 | Markdown editor and Markdown IDE features. 112 | ## Markdown editor 113 | MindForger can be used as a Markdown **editor**. 114 | 115 | It allows you to easily write [Markdown](#markdown) 116 | documents in a WYSIWYG text editor with 117 | Markdow **syntax** hints and an HTML rendered **preview**. 118 | 119 | MindForger terminology: 120 | 121 | * A Markdown file is a **Notebook**. 122 | * A Markdown document section (line with leading `#`) is a **Note**. 123 | 124 | 125 | MindForger represents any Markdown as [follows](#markdown-outline)... 126 | ### Markdown outline 127 | In order to enable quick **navigation** and **refactoring** 128 | of Markdown documents, MindForger shows Markdown documents (**Notebooks**) 129 | as an **outline** of Markdown sections (**Notes**) allowing 130 | you to efficiently choose/read/edit/refactor a particular section. 131 | 132 | ![Image](user-documentation.outliner-rules.png) 133 | 134 | Check side-by-side Markdown document **text view** 135 | and **MindForger view** in the image above: 136 | 137 | * The `INSTALLATION` Markdown document is opened in a text editor (Emacs) on the **left**. 138 | * The same Markdown document is opened in MindForger on the **right**. 139 | 140 | As you can see, MindForger represents the hierarchy of sections 141 | (prefixed/underlined in Markdown syntax with/by `#`, `-` or `=`) 142 | as a **tree** - called an **outline**: 143 | 144 | * The tree of sections (in the left MindForger window) reflects 145 | the **depth/level** of individual sections e.g. section `UBUNTU` 146 | on the second level is prefixed with `##` and shown on the second 147 | level in the tree. 148 | 149 | ![Image](faq.title-section-edit.png) 150 | 151 | * You can **open** Markdown document **title section** (`INSTALLATION`) by 152 | clicking its name `INSTALLATION` above **outline**. 153 | * Any **sub-section** can be opened by clicking its name in the tree. 154 | 155 | For switching between section (pre)view and edit mode refer to the [next section](#view-vs-edit-mode). 156 | 157 | ### View vs Edit mode 158 | ![Image](user-documentation.click-to-edit.png) 159 | 160 | If you want to **edit** a section either **double-click** anywhere in the 161 | rendered preview on the right (MindForger window) or choose: 162 | 163 | * menu `Notebook/Edit` for title section 164 | * menu `Note/Edit` for any sub-section 165 | ### Link completion 166 | While editing a Note or Notebook write prefix of 167 | a Notebook/Note name and use Ctrl-/ to 168 | get link completion. When you choose a link from completer, 169 | Markdown link to target Notebook/Note is automatically created. 170 | ### DnD: Drag & Drop 171 | Drag: 172 | 173 | * **file** 174 | * ... for example `.pdf`, presentation or `.zip` archive 175 | * **image** 176 | * ... `.png`, `.gif`, ... or any other image 177 | * **image data** 178 | * ... screenshot or image selection from Gimp, Krita or any other graphics editor 179 | 180 | ... and **drop** to Note/Notebook editor. 181 | 182 | DnD allows easy import of attachments/images to MindForger 183 | repository - either by value (choose `Copy` in attachment/image 184 | dialog) or by reference (path to the file on local file system 185 | is used). 186 | ### Live Preview 187 | Easily toggle live HTML preview of edited Markdown 188 | with shortcut or edit panel buttons. 189 | ### Markdown format 190 | [Markdown](https://daringfireball.net/projects/markdown/) is a plain text formatting syntax introduced by John Gruber. 191 | Markdown allows you to write using an easy-to-read, easy-to-write plain text 192 | format, easily rendered as HTML. 193 | 194 | MindForger uses Markdown-based DSL. 195 | There are many flavors of Markdown - for 196 | Markdown syntax documentation please refer to: 197 | 198 | * [John Gruber Markdown syntax](https://daringfireball.net/projects/markdown/syntax) documentation 199 | * [GitHub Markdown](https://help.github.com/articles/basic-writing-and-formatting-syntax/) documentation 200 | * [GitHub flavored Markdown](https://github.github.com/gfm/) specification 201 | * [Mermaid diagrams](https://mermaidjs.github.io/) documentation 202 | 203 | Sub-sections of this section provide Markdown syntax 204 | overview and rendering demonstration. As you read 205 | particular Markdown syntax features, be sure to 206 | open each section for **edit** (to check syntax) and 207 | experiment with **menu** `Format/*`. 208 | #### Text 209 | `Monospace` text, *emph* text, **bold** text, 210 | _italic_ text, __bold__ text, ~~deleted~~ text. 211 | 212 | --- 213 | 214 | 💡 edit this Note to see the syntax 215 | #### Keyboard keys 216 | You can use Alt+f b to make marked text bold. 217 | 218 | --- 219 | 220 | 💡 edit this Note to see the syntax 221 | #### Images 222 | See Markdown source of this Note to learn **image** syntax. 223 | 224 | Image from web: 225 | 226 | ![MindForger logo](http://www.mindforger.com/images/mind-forger.png) 227 | 228 | Image from current MindForger repository: 229 | 230 | ![MF screenshot](./mindforger.png) 231 | 232 | --- 233 | 234 | 💡 edit this Note to see the syntax
235 | 💡 click menu `Format/Image` or press Alt+f m to insert image. 236 | #### Links 237 | See Markdown source of this Note to learn **link** syntax. 238 | 239 | Link to web: 240 | 241 | * [MindForger home page](http://www.mindforger.com) 242 | 243 | Automatic web link: 244 | 245 | * https://github.com/dvorka/mindforger 246 | 247 | Link to a Notebook in active MindForger repository: 248 | 249 | * [MF history](./history.md) 250 | 251 | Link to a Note in active MindForger repository: 252 | 253 | * [MF motivation](./why-mindforger.md#motivation) 254 | 255 | Link to a file on the filesystem: 256 | 257 | * [.bashrc](/etc/bash.bashrc) 258 | 259 | Link to a directory on the filesystem: 260 | 261 | * [/tmp](/tmp) 262 | 263 | --- 264 | 265 | 💡 edit this Note to see the syntax
266 | 💡 click menu `Format/Link` or press Alt+f l to insert link. 267 | #### Smarty pants 268 | 269 | [Smarty pants like](https://daringfireball.net/projects/smartypants/) like: 270 | 271 | * curly " and ' 272 | * ``backsticks'' 273 | * dashes a--ha and a---ha 274 | * (tm) and (r) and (c) 275 | * consecutive dots ... 276 | * 1/4 1/2 277 | * A^B and a^(b+2) 278 | 279 | --- 280 | 281 | 💡 edit this Note to see the syntax 282 | #### HR 283 | Horizontal... 284 | 285 | --- 286 | ... rulers ... 287 | 288 | *** 289 | ... split screen horizontally. 290 | ___ 291 | 292 | #### List 293 | Bullet list: 294 | 295 | * why 296 | * ? 297 | - how 298 | * ! 299 | + what 300 | * . 301 | 302 | Numbered list: 303 | 304 | 1. why 305 | 1. ? 306 | 2. how 307 | 1. ? 308 | 3. what 309 | 1. ? 310 | 311 | --- 312 | 313 | 💡 edit this Note to see the syntax 314 | #### Tasks 315 | Task list: 316 | 317 | * [x] skip-gram 318 | * [ ] bag of words 319 | * [X] GloWe vs. word2vec 320 | * [ ] word embedding 321 | * [x] stemmer 322 | 323 | --- 324 | 325 | 💡 edit this Note to see the syntax 326 | #### Blockquote 327 | Riddle: 328 | 329 | > frodo and 330 | > glum, 331 | >> riddles 332 | >>> in the dark 333 | 334 | --- 335 | 336 | 💡 edit this Note to see the syntax 337 | #### Tables 338 | Pets: 339 | 340 | Snake | Turtle 341 | ----- | ------ 342 | Karkulka | Ema 343 | 344 | Frontend | Backend 345 | :----- | :------ 346 | Qt | C++ 347 | 348 | --- 349 | 350 | Columns can be **aligned** to left/right or centered: 351 | 352 | Left | Center | Right 353 | :----- | :------: | ------: 354 | This is frontend | This is middle-ware | This is backend 355 | Js | ESB | C++ 356 | 357 | --- 358 | 359 | 💡 edit this Note to see the syntax 360 | #### Source code with syntax highlighting 361 | There are multiple options how a block of source code can be written in Markdown. 362 | 363 | **IMPORTANT**: note leading empty lines before code blocks. 364 | 365 | --- 366 | 367 | 1) Tab indentation w/o language spec and w/o syntax highlighting: 368 | 369 | public static void main(string[] args) { 370 | return 0; 371 | } 372 | 373 | --- 374 | 375 | 2) Code block w/ language spec: 376 | 377 | ```java 378 | public static void main(string[] args) { 379 | return 0; 380 | } 381 | ``` 382 | 383 | or w/o language spec: 384 | 385 | ``` 386 | public static void main(string[] args) { 387 | return 0; 388 | } 389 | ``` 390 | 391 | --- 392 | 393 | 3) Fenced block w/ language spec: 394 | 395 | ~~~java 396 | public static void main(string[] args) { 397 | return 0; 398 | } 399 | ~~~ 400 | 401 | or w/o language spec: 402 | 403 | ~~~ 404 | public static void main(string[] args) { 405 | return 0; 406 | } 407 | ~~~ 408 | 409 | --- 410 | 411 | 💡 edit this Note to see the syntax 412 | #### Math 413 | [MathJax](https://www.mathjax.org/) handles **inline** expressions like: x^2 + y^2 = z^2 or **block** expressions like: $$\frac{D\rho}{Dt} = 0.$$ 414 | 415 | 416 | Check MathJax documentation and/or [cheatsheet](https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference) for more examples. 417 | 418 | Quadratic equation root: When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are 419 | $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$ 420 | 421 | Sum: 422 | $$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$ 423 | 424 | Limit: 425 | $$\lim_{x\to 0}$$ 426 | 427 | Sqrt: 428 | $$\left(\frac{\sqrt x}{y^3}\right)$$ 429 | 430 | --- 431 | 432 | Alternatively you can use https://www.codecogs.com to render 433 | expression to image and include it in Markdown. 434 | 435 | --- 436 | 437 | 💡 edit this Note to see the syntax
438 | 💡 if math expressions are **not** rendered, then you must **enable** MathJax using menu `Mind/Adapt/Markdown` 439 | ##### MathJax 440 | MathJax [cheetsheet](https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference): 441 | 442 | * use `$` to inline expressions, and `$$` for blocks 443 | * superscript: $x^2$ 444 | * subscript: $x_i$ 445 | * superscript and subscript: $x^2_i$ 446 | * Greek letters: 447 | $\alpha, \beta, \delta ... \omega, \Delta, ... \Omega$ 448 | * groups: for `10^10` you get $10^10$, but `10^{10}` gives $10^{10}$. 449 | * parenthesis: [, ( and use `\{` for curly braces 450 | * fraction: $\frac{2}{3}$ $\frac{a+b}{c-d}$ 451 | * square: $\sqrt{10}$ $\sqrt[3]{\frac xy}$ 452 | * exponential: $2^8$ 453 | * absolute: $\vert{x}\vert$ 454 | * metric: $\Vert{x}\Vert$ 455 | * interval: $\langle x, y \rangle$ 456 | * sum: $\sum x_i$ 457 | * integral: $\int x_i$ $\iint x_i$ $\iiint x_i$ 458 | * union: $x \cup y$, $\bigcup x$ 459 | * intersection: $x \cap y$, $\bigcap x$ 460 | * limit: $\lim_{x\to 0}$ 461 | * goniometrical: $\sin x$ 462 | * bigger/smaller: $\lt \gt \le \leq \leqq \leqslant \ge \geq \geqq \geqslant$ 463 | * not using `n`: $\neq$ 464 | * sets: $\cup \cap \setminus \subset \subseteq \subsetneq \supset \in \notin \emptyset \varnothing$ 465 | * combinatorics: $\binom{n+1}{2k}$ 466 | * arrows: $\to \rightarrow \leftarrow \Rightarrow \Leftarrow \mapsto$ 467 | * statements and proofs: $\land \lor \lnot \forall \exists \top \bot \vdash \vDash$ 468 | * long dots: $\ldots$ 469 | * infinity: $\infty \aleph_0 \nabla \partial$ 470 | * limits: $\epsilon \varepsilon$ 471 | * vectors and hats: $\hat x, \bar y, \overline{abc}, \vec x$ 472 | 473 | Limit block: 474 | 475 | $$\lim_{x\to 0}$$ 476 | 477 | #### Diagrams 478 | Flowchart diagram: 479 | 480 | ``` mermaid 481 | graph TD; 482 | A-->B; 483 | A-->C; 484 | B-->D; 485 | C-->D; 486 | ``` 487 | 488 | Sequence diagram - note different Mermaid diagram markup encapsulation element which has different background rendering that code block: 489 | 490 |
491 | sequenceDiagram 492 | participant Alice 493 | participant Bob 494 | Alice->>John: Hello John, how are you? 495 | loop Healthcheck 496 | John->>John: Fight against hypochondria 497 | end 498 | Note right of John: Rational thoughts
prevail! 499 | John-->>Alice: Great! 500 | John->>Bob: How about you? 501 | Bob-->>John: Jolly good! 502 |
503 | 504 | GANTT diagram: 505 | 506 | ``` mermaid 507 | gantt 508 | dateFormat YYYY-MM-DD 509 | title GANTT diagrams in MindForger 510 | section A section 511 | Completed task :done, des1, 2014-01-06,2014-01-08 512 | Active task :active, des2, 2014-01-09, 3d 513 | Future task : des3, after des2, 5d 514 | Future task2 : des4, after des3, 5d 515 | section Critical tasks 516 | Completed task in the critical line :crit, done, 2014-01-06,24h 517 | Implement parser and jison :crit, done, after des1, 2d 518 | Create tests for parser :crit, active, 3d 519 | Future task in critical line :crit, 5d 520 | Create tests for renderer :2d 521 | Add to mermaid :1d 522 | ``` 523 | 524 | --- 525 | 526 | 💡 edit this Note to see the syntax
527 | 💡 if math expressions are **not** rendered, then you must **enable** them using menu `Mind/Adapt/Markdown` 528 | #### Comments 529 | If you want **line** or **multi-line** comment that 530 | is strictly for yourself (readers of the converted 531 | document should not be able 532 | to see it, even with "view source") you could (ab)use 533 | the link labels (for use with reference style links) 534 | that are available in the core Markdown specification. 535 | 536 | **Single line comment**: 537 | 538 | [comment]: # (This is a comment, you cannot see it) 539 | 540 | **Multi-line comment**: 541 | 542 | [comment]: # (This is a comment) 543 | [comment]: # (that spans multiple lines) 544 | [comment]: # (and you cannot see it) 545 | 546 | Note that two conditions are **important**: 547 | 548 | * Using `#` (and not other delimiter allowed by Markdown specification) 549 | * An empty line before the comment. Empty line after the comment has no impact on the result. 550 | 551 | --- 552 | 553 | If you need **inline** comment, then use HTML comments: 554 | 555 | * There is you cannot see. 556 | 557 | --- 558 | 559 | 💡 edit this Note to see the syntax 560 | #### Drag & Drop Images and Files 561 | _This feature is being implemented._ 562 | ### Custom HTML Preview CSS 563 | If you want to change color, font size, rendering of HTML preview, then it can 564 | be done using **custom CSS**. 565 | 566 | You can either use your custom CSS - there is no UI for such change: 567 | 568 | 1. make sure MindForger is not running 569 | 1. download CSS you like https://github.com/dvorka/mindforger/tree/master/app/resources/qt/css (dark or light and choose `Raw`) 570 | 2. edit downloaded CSS file and change font size, ... 571 | 3. open `$HOME/.mindforger.md` and **change** path to your CSS, e.g. 572 | 573 | ``` 574 | ... 575 | * Markdown CSS theme: /home/USERNAME/my.css 576 | ... 577 | ``` 578 | 579 | This will ensure that CSS from given path will be loaded by HTML preview since the next time MindForger is started. 580 | ## Markdown IDE 581 | MindForger is more than just Markdown editor - it is integrated development environment (**IDE**) 582 | for the development of Markdown document collections (repositories, documentation, books, etc.): 583 | 584 | * **multiple** Markdown documents can be opened in order to perform search, refactoring 585 | and analytics 586 | * user defined **stencils** can be used to quickly create new notebooks and notes 587 | * notebook **structure** can be easily refactored with outliner-style operations 588 | defined on notes 589 | * both notebooks and notes can be **refactoried** withing or across different notebooks and notes 590 | ### Multiple documents 591 | ![Image](user-documentation.multiple-documents.png) 592 | 593 | You can open **any** directory and MindForger will find 594 | all Markdown files within that directory and all its 595 | sub-directories and make them available for search, navigation 596 | and editation: 597 | 598 | ``` 599 | $ mindforger a-github-repository-with-interesting-content 600 | ``` 601 | 602 | Where `a-github-repository-with-interesting-content` is a directory 603 | containing Markdown documents. 604 | 605 | --- 606 | 607 | 💡 if you openeded more than one MindForger document, you can see all documents indexed by MindForger by clicking menu `View/Notebooks` 608 | ### Stencils 609 | ![Image](user-documentation.stencils.png) 610 | 611 | Stencil represents a common pattern that can be used in 612 | various situations e.g. to solve a task. It might be a how to 613 | (like how to change a car wheel) that **once created**, you 614 | may want to use **repeatedly** w/ possibility of customization. 615 | 616 | Notebook stencil corresponds to application of 617 | a problem/semantic domain to another problem. 618 | Once you have a _modus operandi_ or you know how to 619 | do that, than this is the case. 620 | 621 | You can use a stencil when creating a **new** notebook 622 | or note - check `Stencils` drop-down in the dialog 623 | opened using menu `Notebook/New` or `Note/New`. 624 | 625 | [MindForger repositories](#mindforger-repository) (including 626 | the default one) contain stencils for both notebooks and notes: 627 | 628 | ``` 629 | / 630 | ├── ... 631 | └── stencils 632 | ├── notebooks 633 | └── notes 634 | ``` 635 | 636 | MindForger is shipped with an initial set of stencils for meeting 637 | notes, software analysis/design, [GROW model](https://en.wikipedia.org/wiki/GROW_model) 638 | etc. 639 | 640 | You can easily **extend** outlines just by copying Markdown file 641 | to `stencils/notes` or `stencils/notebooks` directory. 642 | ### Notebook structure refactoring 643 | ![Image](user-documentation.note-refactoring.png) 644 | 645 | Hierarchy of **Notes** (Markdown document sections) can be easily 646 | changed using operations introduced by [outliners](https://en.wikipedia.org/wiki/Outliner). 647 | **Note** can be... 648 | 649 | * moved up 650 | * moved down 651 | * demoted ~ moved deeper in Notes hierarchy 652 | * promoted ~ moved lower in depth 653 | * ... and more 654 | 655 | To manipulate a note, choose it in the **outline view** (tree of notes/Markdown sections 656 | on the left) and either use shortcuts (ctrl+up, ctrl+down, 657 | ctrl+left, ctrl+right) or menu `Note/Promote`, ... 658 | ### Note refactoring 659 | Note (Markdown section) can be refactoring (along with its child notes) 660 | between different Notebooks (Markdown documents): 661 | 662 | * choose **source** note to be refactored in the outliner tree of notes 663 | * use menu `Note/Refactor` to specify **target** notebook 664 | 665 | Note and its child notes will be moved to the target notebook. 666 | # Search 667 | Ability to find a specific Notebook or Note is one of the 668 | most important MindForger features. Notebooks and Notes 669 | can be found by: 670 | 671 | * full-text search (content) 672 | * name 673 | * tag(s) 674 | 675 | --- 676 | 677 | 💡 see menu `Recall` for search options 678 | ## Fulltext 679 | Use menu `Recall/Full-text Search` to search for **notes** 680 | using full-text search. Result shows notes Markdown source 681 | with **highlighted** matches. 682 | 683 | Search **scope**: 684 | 685 | * If you run full-text search from notebooks 686 | view (menu `View/Notebooks`), then **all** notebooks and their 687 | notes are searched. 688 | * If you run full-text search when a notebook is opened 689 | (notes outline on the left, note view/editor on the right), 690 | then **only** notes of that particular notebook are searched. 691 | ## Name 692 | Use menu `Recall/Recall Notebook by Name` / `Recall/Recall Note by Name` 693 | to search for **notebooks** / **notes** by name. Result shows as you 694 | write the name in the dialog. 695 | 696 | Search **scope**: 697 | 698 | * If you run note search **by name** from notebooks 699 | view (menu `View/Notebooks`), then **all** notebooks notes 700 | are searched. 701 | * If you run note search **by name** when a notebook is opened 702 | (notes outline on the left, note view/editor on the right), 703 | then **only** notes of that particular notebook are searched. 704 | ## Tag 705 | Use menu `Recall/Recall Notebook by Tag` / `Recall/Recall Note by Tag` 706 | to search for **notebooks** / **notes** by tag(s). Result shows as you 707 | add/remove tags in the dialog. 708 | 709 | Search **scope**: 710 | 711 | * If you run note search **by tag** from notebooks 712 | view (menu `View/Notebooks`), then **all** notebooks notes 713 | are searched. 714 | * If you run note search **by tag** when a notebook is opened 715 | (notes outline on the left, note view/editor on the right), 716 | then **only** notes of that particular notebook are searched. 717 | # Thinking Notebook 718 | MindForger aims to mimic human mind - **learning**, **recalling**, 719 | **recognition**, **associations**, **forgetting** - in order to achieve 720 | synergy with your mind to make your searching, reading and writing more 721 | productive: 722 | 723 | * **learning**: MindForger loads Markdown document(s), parses them and construct [knowledge graph](#knowledge-graph-navigator) 724 | * **recalling**: you can recall notebooks/notes by content, name, tags, semantic domain, ... 725 | * **recognition**: MindForger is able to recognize people, organization, places, ... in your remarks 726 | * **associations**: MindForger suggests relevant notes as you browse, read and edit notebooks and notes 727 | * **forgetting**: MindForger handles the process of scoping and forgetting analogous to human mind 728 | ## Thinking vs Sleep mode 729 | MindForger can be either in **thinking** or **sleeping** mode: 730 | 731 | * **Thinking** mode can be activated from menu `Mind/Think` and it's also 732 | indicated by the `Thinking` indicator in main window status bar. 733 | * MindForger runs background mind-related computations/tasks that can be **CPU intensive** 734 | * MindForger suggests relevant notes as you browse/read/write 735 | * MindForger named-entity recognition model is loaded and enabled 736 | * ... 737 | * **Sleeping** mode can be activated from menu `Mind/Sleep` and it's also 738 | indicated by the `Sleeping` indicator in main window status bar. 739 | * MindForger runs **no** background mind-related computations/tasks i.e. it 740 | does **not** consume any extra CPU power and does **not** show any async information 741 | 742 | Switch thinking/sleeping mode based on whether you **need** mind features for the particular 743 | repository or not - consider performance/CPU consumption vs features trade-off. 744 | ## TAYS: Think as you Search 745 | _This feature is being implemented._ 746 | ## TAYR: Think as you Read 747 | ![TAYR](user-documentation.tayr.png) 748 | 749 | MindForger is able to **suggest relevant notes** as you browse and 750 | read: 751 | 752 | * relevant notes are computed for the note being currently **selected** 753 | * relevant notes are shown in the **lower left corner** by `Associations` table 754 | * similarity score in the `Associations` table indicates **relative relevancy** in % 755 | 756 | 757 | In the screenshot above you can see relevant notes (lower left corner) for the selected 758 | note `My 3D Printer MK2S by Prusa RESEARCH`. 759 | ## TAYW: Think as you Write 760 | ![TAYW](user-documentation.tayw.png) 761 | 762 | MindForger is able to **suggest relevant notes** as you write note 763 | content in the editor: 764 | 765 | 766 | * relevant notes are computed for the **word under the cursor** 767 | * relevant notes are shown in the **lower left corner** by `Associations` table 768 | * similarity score in the `Associations` table indicates **relative relevancy** in % 769 | 770 | 771 | In the screenshot above you can see relevant notes (lower left corner) for the selected 772 | word `graph` (notice cursor between letter `g` and `r` on the current line with light-gray background). 773 | ## TAYB: Think as you Browse - Knowledge Graph Navigator 774 | ![Navigator](user-documentation.knowledge-graph-navigator.png) 775 | 776 | **Knowledge graph navigator** allows you to browse notebooks, notes, tags and other resources 777 | in **visually**. 778 | 779 | Navigator can be either activated using toolbar or using CtrlShiftk keyboard 780 | shortcut. It is **scope sensitive** e.g. if you activate navigator while viewing note, then this note 781 | becomes central node of the visualization. 782 | 783 | Knowledge graph can be **zoomed**, **shuffled** and its edgest can be (globally) stretched/shrinked. 784 | ## Recognize what matters 785 | 786 | ### Named-entity Recognition 787 | ![Image](user-documentation.ner.png) 788 | 789 | _This feature is being implemented._ 790 | ### Semantic Search and Domain 791 | _This feature is being implemented._ 792 | 793 | Word embeddings based search, associations and navigation. 794 | ## Autolinking: Associate as you Read 795 | ![Autolinking](autolinking.png) 796 | 797 | Autolinking discovers relevant notes in your MindForger repository and/or Markdown document 798 | and automatically injects links to the text. In the screenshot above all links were injected 799 | i.e. source text (Markdown) is just plain text without links. 800 | 801 | Autolinking helps in immediately finding remarks related to the notebooks and notes you 802 | are browsing. 803 | 804 | Autolinking also saves the time - you don't have to create/change/maintain links in your 805 | remarks. 806 | 807 | Tips and tricks: 808 | 809 | * If note name contains `:`, then **only** text preceding `:` is used for matching. 810 | * Example: if "GPS: General positioning system" is note name, then text is searched for "GPS" only 811 | as it brings more matcheds. 812 | * Autolinking can be configured so that it performs **case insensitive search** for the first letters 813 | in note names. 814 | * Example: if "Stencils" is note name, then text is searched **also** for "stencils" 815 | as it brings more matcheds. 816 | * Autolinking can be quickly toggled using menu. 817 | 818 | ## Forgetting 819 | > Motto: "Computers need to forget". -- [Viktor Mayer-Schönberger](http://blog.mindforger.com/2007/11/computers-need-to-forget.html) 820 | 821 | Before I deep dive to MindForger features let me formulate 822 | a few questions to explain the motivation behind 823 | forgetting/scoping related functionality: 824 | 825 | * Do we forget or we simply don’t remember? 826 | * When we forget? 827 | * How and where exactly forgetting in our minds happens? 828 | * If we remember something, can it be forgotten? 829 | * Do we need to forget and why? 830 | 831 | I believe that if a concept makes it to long term memory 832 | (LTM), then it can be never forgotten. It’s in LTM and 833 | it always be there. The only question is how many 834 | association/links it has. In the worst case it may happen 835 | that there is no association path it it - it ends as an 836 | island or orphan better said. If it’s not reminded or not 837 | used for long time, association can get weaker and weaker 838 | and such concepts is diving deeper and deeper to LTM. However, 839 | it is always there. Thus it’s just about the lookup. 840 | According to my experience a strong emotional experience or 841 | return to the deeper paths of LTM (talking about your friends 842 | or family about your early childhood) helps to remind such 843 | concepts and in the latter case even strongly bind them 844 | to upper level LTM (move them up in the memory) and 845 | refresh such memories so that you can remind them later 846 | much more easier. 847 | 848 | If there would be no possibility of the selection of sensed 849 | informations and all the sensing will be fixed in our 850 | memory, its capacity would be fully used very soon. 851 | 852 | MindForger, as computer program, needs to forget. But 853 | forgetting does **NOT** mean deleting of information. 854 | 855 | MindForger maintains **all** the remarks you ever written 856 | (see [limbo](#limbo)), but works with/shows only with 857 | a [scope](#time-scope) **configurable** by you. 858 | ### Time Scope 859 | Use menu `Mind/Scope` or Alt+m c to configure **time** scope. 860 | 861 | --- 862 | 863 | Consider the following situations: 864 | 865 | * Over the years your employer company internal systems change and/or 866 | you work for a number of different employers. Each time there is 867 | a different/better/stronger 868 | Wifi authentication configuration (video conference 869 | setup, payslips system, etc.). Therefore in you memory (or in MindForger 870 | remarks) there are **multiple** how-tos, but you want to use 871 | only the **recent** want. At the same time you do not want to 872 | (explicitly) remove/purge the previous how-tos as they can be useful in different 873 | situations. 874 | 875 | * You learn how to manually divide two long numbers as a child. 876 | Then you do **not** need this skill **for years** as you use calculator/computer. 877 | When you want to learn your child how to manually divide numbers, 878 | you have to find it (deep) in your memory. 879 | 880 | This is where MindForger **time scope** functionality comes in - you can 881 | restrict the scope (notes working set) by **time**. For example: 882 | 883 | * you work on a project and want to see only notes you modified **today** 884 | * whenever you use MindForger you want to work with notes not older 885 | than **18 months** 886 | * when reading/working with your employer internal systems how-to **notebook** you want to 887 | see only notes younger than **1 year** 888 | 889 | In particular you can set **global** time scope: 890 | 891 | * Notebooks listing: 892 | * Only **noteboks** within given time scope (younger) will be shown. 893 | * Add/forget notebook: 894 | * Notebooks can be added/forgotten. 895 | * Notebook's note tree view: 896 | * Only notes within given time scope will be shown. 897 | If note **is** within timescope and note's parent notes are **not**, then note **is** 898 | shown along with its parents (parents would be normally hidden). In other words, fresh note 899 | ensures its parents are shown. 900 | * Add/remove note: 901 | * Notes can be added/forgotten. 902 | * **IMPORTANT**: remember that note can be forgotten **along with its child notes** that can be 903 | hidden (if they didn't match time scope) i.e. you may delete notes you don't see. 904 | * Promote/demote/up/down note: 905 | * Notes can be added/forgotten. 906 | * **IMPORTANT**: remember that these operations work on the **non-filtered* model i.e. 907 | you perform operation (e.g. up), nothing seems to happen, but the note was just moved above 908 | a hiddin note that is not in scope i.e. you refactor notes you don't see. 909 | * Note refactoring: 910 | * Notes can be refactoring (to other notebook) and extracted. 911 | * **IMPORTANT**: remember that note can be refactored **along with its child notes** that can be 912 | hidden (if they didn't match time scope) i.e. you may move notes you don't see. 913 | 914 | In particular you can set **note** specific time scope that overrides global time scope: 915 | 916 | * ... behaviour is the same as above except that this setting has no effect on notebooks listing ... 917 | ### Tag Scope 918 | Use menu `Mind/Scope` or Alt+m c to configure **tag(s)** scope. 919 | 920 | --- 921 | 922 | Scoping using **tag(s)** allows you to limit notebook **working set** only 923 | to notebooks having specified set of tags. It's useful when you work with 924 | bigger MindForger repositoriers and you don't want to be distracted by 925 | unrelated notebooks. 926 | 927 | Scoping using tags can be combined (`AND`) with [scoping using time](#time-scope). 928 | ### Limbo 929 | MindForger does **not** **delete** notebooks - it moves them to a location called Limbo that 930 | can be found in `${ACTIVE_MF_REPOSITORY}/limbo`. This is where you can delete Markdown 931 | documents permanently. 932 | 933 | MindForger, in its current implementation, **does** delete notes. They are not moved to a note Limbo. 934 | If you use menu `Note/Forget`, then the note is deleted. 935 | 936 | Side note: I personally use CMS (Git) - I have full history of notebooks and notes. Tracking of 937 | all notes would be useful, however HW resource consumption intensive. This is also 938 | why I don't want to duplicate this (already sophisticated) functionality within MindForger. 939 | # Productivity 940 | MindForger aims to help you when you study, write a document/paper/article/book or 941 | want to achieve a goal. 942 | 943 | Therefore it enables you to... 944 | 945 | * prioritize work on notebooks using **urgency** and **importance** 946 | * helps you to decide what you do first and next using **Eisenhower matrix** 947 | * track **progress** in % 948 | * specify **deadlines** (for notes) 949 | ## Urgency and Importance 950 | ![Image](user-documentation.importance-urgency-edit.png) 951 | 952 | When creating (menu `Notebook/New`) or editing **notebook** (edit mode `More...` button) you 953 | can specify: 954 | 955 | * **importance** property ~ how important is the notebook 956 | * **urgency** property ~ how important is (study/challenge/...) task related to notebook (or notebook content itself) 957 | 958 | ![Image](user-documentation.importance-urgency-view.png) 959 | 960 | These properties are in turn shown in **notebooks view** (menu `View/Notebooks`) and [Eisenhower matrix](#eisenhower-matrix). 961 | ## Eisenhower matrix 962 | ![Image](user-documentation.eisenhower-matrix.png) 963 | 964 | 965 | **Wikipedia**: [Eisenhower matrix](https://en.wikipedia.org/wiki/Time_management#The_Eisenhower_Method) stems from a quote attributed to Dwight D. Eisenhower: "I have two kinds of problems, the urgent and the important. The urgent are not important, and the important are never urgent." 966 | 967 | Using the Eisenhower Decision Principle, tasks are evaluated using the criteria [important/unimportant](#urgency-and-importance) and [urgent/not urgent](#urgency-and-importance), and then placed in according quadrants in an **Eisenhower Matrix** (also known as an "Eisenhower Box" or "Eisenhower Decision Matrix"). Tasks are then handled as follows: 968 | 969 | Tasks in 970 | 971 | 1. **Important/Urgent quadrant** are done immediately and personally e.g. crises, deadlines, problems. 972 | 1. **Important/Not Urgent quadrant** get an end date and are done personally e.g. relationships, planning, recreation. 973 | 1. **Unimportant/Urgent quadrant** are delegated e.g. interruptions, meetings, activities. 974 | 1. **Unimportant/Not Urgent quadrant** are dropped e.g. time wasters, pleasant activities, trivia. 975 | 976 | This method is said to have been used by U.S. President Dwight D. Eisenhower. 977 | ### Eisenhower matrix on tags 978 | 979 | ## Kanban on Tags 980 | 981 | ## Home notebook 982 | You can mark any notebook as **home** and it will be opened: 983 | 984 | * on MindForger start 985 | * using CtrlShifth keyboard shortcut 986 | 987 | Home notebook can be **set**/unset using menu `Navigator/Make Home`. 988 | ## Dashboard 989 | Open `Dashboard` view with Ctrl-Shift-d. 990 | # Cheatsheets 991 | See MindForger cheetsheet(s): 992 | 993 | * [Keyboard Shortcuts](#keyboard-shortcuts) 994 | ## MathJax cheatsheet 995 | See [MathJax](#mathjax). 996 | ## Keyboard shortcuts 997 | Prefer menu based keyboard shortcuts which are self-documented e.g. 998 | 999 | * Alt+o n 1000 | * create new notebook 1001 | * Alt+o e 1002 | * edit currently viewed notebook 1003 | * Alt+n n 1004 | * create new note 1005 | * Alt+n e 1006 | * edit currently viewed note 1007 | * ... and many others... 1008 | 1009 | 1010 | Editor: 1011 | 1012 | * Alt+Left 1013 | * ... save Note, leave editor and show rendered HTML. 1014 | * Ctrl+g 1015 | * ... cancel editation and leave editor without saving 1016 | 1017 | Views: 1018 | 1019 | * Ctrl+Shift+o 1020 | * ... recall n**o**tebook. 1021 | * Ctrl+Shift+n 1022 | * ... recall **n**ote. 1023 | -------------------------------------------------------------------------------- /memory/mindforger/user-documentation.multiple-documents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/user-documentation.multiple-documents.png -------------------------------------------------------------------------------- /memory/mindforger/user-documentation.ner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/user-documentation.ner.png -------------------------------------------------------------------------------- /memory/mindforger/user-documentation.note-refactoring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/user-documentation.note-refactoring.png -------------------------------------------------------------------------------- /memory/mindforger/user-documentation.outliner-rules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/user-documentation.outliner-rules.png -------------------------------------------------------------------------------- /memory/mindforger/user-documentation.stencils.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/user-documentation.stencils.png -------------------------------------------------------------------------------- /memory/mindforger/user-documentation.tayr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/user-documentation.tayr.png -------------------------------------------------------------------------------- /memory/mindforger/user-documentation.tayw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dvorka/mindforger-repository/ec81a27e5de6408bbcd3f6d7733a7c6f3b52e433/memory/mindforger/user-documentation.tayw.png -------------------------------------------------------------------------------- /memory/mindforger/why-mindforger.md: -------------------------------------------------------------------------------- 1 | # Why MindForger? 2 | 3 | This document describes driving principles and vision for MindForger. 4 | 5 | Are you drowning in information, but starving for **knowledge**? Where do you 6 | keep your **private remarks** like ideas, personal plans, gift tips, how-tos, 7 | dreams, business vision, finance strategy, auto coaching notes? Loads of 8 | documents, sketches and remarks spread around the file system, cloud, 9 | web and Post-it notes? Are you afraid of your knowledge **privacy**? Are you 10 | able to **find** then once you create them? Do you know how are they mutually 11 | **related** when you read or write them? No? 12 | 13 | MindForger is **human mind** inspired **knowledge management tool** 14 | which aims to connect the tradition of **outline editors** with 15 | emerging technologies. Its mission is to help you in organization 16 | of your knowledge and associated local, web and real world 17 | resources in a way that enables quick navigation, concise 18 | representation, automatic interconnections, associative 19 | completion and inferencing. 20 | # Unique 21 | MindForger is **human mind** inspired **personal** knowledge management tool: 22 | 23 | * **Human mind** 24 | * MindForger aims to mimic human mind - **learning**, **recalling**, 25 | **recognition**, **associations**, **forgetting** - in order to achieve 26 | synergy with your mind to make your searching, reading and writing 27 | more productive. 28 | * **Personal** 29 | * MindForger enables you to **own** your **personal** data - it's meant to 30 | store your personal ideas, remarks, notes and plans in a secure way while 31 | it respects your privacy. 32 | * MindForger does **not** compete with tools for sharing information like 33 | Wikis - its primary purpose is to maintain your **private** data. 34 | * **Knowledge** 35 | * MindForger seeks knowledge hidden in your remarks to enable its mining 36 | and personal machine learning models creation. 37 | * **Management** 38 | * MindForger starts where editors and search engines end. It thinks as 39 | you search, **browse**, read and write. Once you **find** a remark, MindForger 40 | brings its associations. As you **browse** notes and **read** them it looks up 41 | related relevant knowledge in your notebooks. If you **edit** a remark, 42 | MindForger brings associations as you **write**. It reminds you about 43 | existing content related to the text being written. 44 | * **Tool** 45 | * MindForger is a **desktop** application which runs on Linux, macOS and Windows. 46 | # Human mind inspiration 47 | MindForger is inspired by human mind. Check the following presentation for more details: 48 | 49 | * [MindForger - Thinking Notebook. Thinking?](https://prezi.com/view/pMJ7bmdpTYDBi7nMKFdU) 50 | # Open, free and fast 51 | MindForger features: 52 | 53 | * **Open** 54 | * Any text editor - like Remarkable, Uncolored or Vim - can be used to edit outlines 55 | in MindForger repository as it uses ([Markdown](http://daringfireball.net/projects/markdown/syntax)) format 56 | hosted DSL - which is well defined, documented and human friendly. 57 | 58 | * **Free** 59 | * You don't pay for downloading and using MindForger. 60 | 61 | * **Respects Privacy** 62 | * MindForger stores your data locally on your machine. It does **not** upload any of your data 63 | to the internet (cloud, server, ...). You may check it yourself as MindForger source code 64 | is available for free and thus it can be audited/verified by anybody. 65 | 66 | * **Secure** 67 | * MindForger repository might be locally encrypted using any tool by user e.g. `encfs`. 68 | * If you want, your data (repository) can be transfered e.g. using SSH or Git@SSH to a remote 69 | private location (this action is not supported/performed by MindForger). 70 | 71 | * **Search and Navigation** 72 | * MindForger does indexation on top of the data repository. 73 | * MindFoger index can be rebuilt at any time from a repository content. 74 | 75 | * **Analysis** 76 | * Git repository with text based outlines can be easily analyzed with variety of tools 77 | [SW for text analysis, mining and analytics](http://www.predictiveanalyticstoday.com/top-free-software-for-text-analysis-text-mining-text-analytics/). 78 | 79 | * **Instant Availability** 80 | * If your prefer to use MindForger for a team work, then there are a number of options 81 | that differ in security, privacy and availability. 82 | * Offline via a secure cloud storage (like local Git repository) on Linux, Mac, Windows, 83 | Android and iOS. 84 | * Online via Git repository hosted by a service of your choice - like GitHub or 85 | BitBucket - allowing you to access repository (and even edit text and markdown 86 | files) using Linux/Windows/Mac machines and Android/iOS devices. 87 | 88 | * **Synchronization** 89 | * Data can be synchronized among all your devices - workstations, laptops and 90 | mobiles/tablets - in a variety of way: 91 | * Linux: Git, Google Drive, Dropbox, ... 92 | * Windows: Git, Google Drive, Dropbox, ... 93 | * Android: MGit, AGit, ... 94 | 95 | * **Performance** 96 | * Even big Markdowns (like [CPP Guidelines](https://github.com/isocpp/CppCoreGuidelines) with ~2500 sections) 97 | are parsed and indexed quickly and can be edited and viewed w/o problems. 98 | 99 | * **Efficiency** 100 | * Command line efficiency in GUI as well as CLI (O~S like CLI). 101 | 102 | * **Sharing** 103 | * Whole repository as well as individual outline(s) can be shared just by sending particular 104 | file(s)/archive as they are stored in open format. 105 | * If you want to share just certain private date, then you can leverage a Git repository 106 | to share it with others via a remote (private) repository. 107 | 108 | * **Backup** 109 | * MindForger can create compressed archive w/ your data that can be easily stored as backup. 110 | * If you are fine with using a remote (private) repository, you can use 111 | any CMS or cloud drive to push your data for backup (even to multiple 112 | locations). 113 | -------------------------------------------------------------------------------- /repository-configuration.md: -------------------------------------------------------------------------------- 1 | # MindForger Repository Configuration 2 | 3 | This is MindForger **repository** configuration file (Markdown hosted DSL). 4 | See documentation for configuration options details. 5 | 6 | # Organizers 7 | Organizer name: Documentation Kanban 8 | * Key: repository/m1ndf0rg3r/kanban/7633 9 | * Type: Kanban 10 | * Upper right tag: todo 11 | * Lower right tag: done 12 | * Lower left tag: wip 13 | * Upper left tag: 14 | * Filter by: notes 15 | * Outline scope: 16 | 17 | Organizer name: Eisenhower Matrix 18 | * Key: /m1ndf0rg3r/organizers/eisenhower-matrix 19 | * Type: Eisenhower Matrix 20 | * Upper right tag: important & urgent 21 | * Lower right tag: important 22 | * Lower left tag: . 23 | * Upper left tag: urgent 24 | * Sort by: importance 25 | * Filter by: notebooks and notes 26 | * Outline scope: 27 | 28 | 29 | -------------------------------------------------------------------------------- /stencils/notebooks/business-plan.md: -------------------------------------------------------------------------------- 1 | # Business Plan: 2 | 3 | This is business plan for . 4 | 5 | # Project Description 6 | 7 | Describe your project which is supposed to be innovative and viable. 8 | Think about differentiators and what's new in the project. 9 | 10 | # Motivation 11 | 12 | * Why you decided to start the project? 13 | * Is your project a thing or service? 14 | * Do you have any sketch? 15 | * What new your project brings? Where is the innovation? 16 | * Is it supposed to bring money? Will it help to others? Both? 17 | * What's your education and qualificication? Can it help in project realization? 18 | 19 | # Customers and Competition 20 | 21 | * Who are your customers? 22 | * How big is your market? 23 | * What's the motivation of your customers to buy your thing/service? 24 | * Who can afford your thing/service? 25 | * Describe your customers - education, city/country, age, habits, ...? 26 | * Who are you competitors? Explain what are your differentiators (for each competitor? 27 | 28 | # Distribution 29 | 30 | * How will you sell thing/service? 31 | * What's your business model? 32 | * Will you use e-shop, Facebook, or real...? 33 | * Frencheeze to be created? 34 | * Expansion abroad? 35 | 36 | # Marketing 37 | 38 | * How do you plan to let your customers know that you exist? 39 | * What type of campaigns do you plan? 40 | * Any partnership? 41 | * How much will it cost? 42 | 43 | # Team 44 | 45 | * What's your team? 46 | 47 | # Financial Plan 48 | 49 | * How much will your thing/service cost? 50 | * How did you calculate the price? 51 | * How much do you need to start your venture? 52 | * How much do you expect to earn and when? 53 | * How much your MD costs? 54 | * How much you expect to earn/loose in the first and the second year? 55 | * How much do you need to invest - machines, resources, vages, ...? 56 | 57 | # Future 58 | 59 | * Where do you see your project in 5 years? 60 | * Where will be your customers in 5 years? 61 | * Where will be your employees in 5 years? 62 | 63 | # Resources 64 | 65 | Links, documents, Facebook, Twitter, ...: 66 | 67 | * ... 68 | -------------------------------------------------------------------------------- /stencils/notebooks/functional-analysis.md: -------------------------------------------------------------------------------- 1 | # Functional Analysis: ... 2 | 3 | This is functional analysis of ... 4 | 5 | # Introduction 6 | ... 7 | 8 | # Definitions 9 | ... 10 | 11 | # Personas 12 | ... 13 | 14 | # User Stories 15 | Related user stores: 16 | 17 | * **As** ... **I want to** ... **so that** ... 18 | * **As** ... **I want to** ... **so that** ... 19 | * **As** ... **I want to** ... **so that** ... 20 | 21 | # Requirements 22 | Functional requirements: 23 | 24 | * ... 25 | * ... 26 | * ... 27 | 28 | # Non-Requirements 29 | Functional non-requirements: 30 | 31 | * ... 32 | * ... 33 | * ... 34 | 35 | # Features 36 | 37 | ## Feature: ... 38 | ## Feature: ... 39 | ## Feature: ... 40 | 41 | # Estimates 42 | MD (man-day) estimates... 43 | 44 | # Resources 45 | 46 | * ... 47 | * ... 48 | * ... 49 | -------------------------------------------------------------------------------- /stencils/notebooks/grow.md: -------------------------------------------------------------------------------- 1 | # GROW 2 | 3 | Grow Outline: 4 | 5 | * G ... goal 6 | * R ... reality 7 | * O ... options 8 | * W ... way forward 9 | 10 | 11 | 12 | # Goal 13 | Goal - clearly describe what you want to achieve or solve and 14 | why. Evaluate your goal and make any changes necessary to ensure it 15 | meets the criteria for a SMARTER goal - see checklist below for more 16 | details. 17 | 18 | Use to following checklist to ensure that the goal is **S.M.A.R.T.E.R**: 19 | 20 | * [x] the goal is specific 21 | * [ ] the goal is measurable 22 | * [ ] the goal is attainable 23 | * [ ] the goal is realistic 24 | * [ ] the goal is timeable 25 | * [ ] the goal is exciting 26 | * [ ] the goal is resources 27 | 28 | My goal is ... 29 | 30 | ## How can I describe the goal? 31 | ... 32 | ## How can I describe the problem I want to solve? 33 | ... 34 | ## How much personal control or influence do I have over my goal? 35 | ... 36 | ## Do I want to achieve this goal in short-term or long-term? 37 | ... 38 | ## How will I know that I have achieved the goal? 39 | ... 40 | ## Is the goal attainable? 41 | ... 42 | ## Is the goal challenging? 43 | ... 44 | ## Is the goal positive? 45 | ... 46 | ## What I wish to achieve? 47 | ... 48 | ## When do I want to achieve it by? 49 | ... 50 | ## How will I know the problem is solved? 51 | ... 52 | ## How will I measure it? 53 | ... 54 | ## What does success look like? 55 | ... 56 | ## What I wish to achieve? 57 | ... 58 | ## What is my motivation? 59 | ... 60 | ## What would be the milestones on the way? 61 | ... 62 | ## When do I want to achieve it by? 63 | ... 64 | ## Why I want to achieve this goal? 65 | ... 66 | 67 | 68 | 69 | 70 | # Reality 71 | Reality - describe the current situation, relevant history and 72 | possibly also expected future. Focus on facts and avoid emotional 73 | distortion of the reality. Try to determine whether there is a missing 74 | piece of information you need to achieve the goal. 75 | 76 | Consider the use of **S.W.O.T. analysis** to assess your situation. 77 | 78 | ## How can I asses myself in the context of the goal? 79 | ... 80 | ## What have I done about this so far? 81 | ... 82 | ## What things are going badly on this issue, what happens to me? 83 | ... 84 | ## What I already did and what was the result? 85 | ... 86 | ## What is holding me back from finding a way forward? 87 | ... 88 | ## What is involved - directly or indirectly? 89 | ... 90 | ## What is the effect of this in 10 days, 10 months and 10 years (10:10:10 rule) 91 | ... 92 | ## What things are going badly on this issue, what happens to me? 93 | ... 94 | 95 | 96 | 97 | # Options 98 | Options - describe how could you achieve the goal - what are your 99 | options in particular. Elaborate also opportunities, obstacles, 100 | objectives and dead ends. Focus on your strengths and abilities, and 101 | build on them. At the same time, be reflective and recognize where you 102 | could need help. Use an infrastructure around yourself by reaching out 103 | to relatives, friends and colleagues. Sometimes you can't do 104 | everything yourself - no one has all the capabilities and competencies 105 | to do what is needed. 106 | 107 | Consider the use of **S.W.O.T. analysis** to assess options. 108 | 109 | ## Do I know a promissing option with obstacles? How can I remove these obstacles one by one? 110 | ... 111 | ## How do I ensure my weaknesses will not stop me from opportunities? 112 | ... 113 | ## How do I leverage my strengths to benefit from opportunities? 114 | ... 115 | ## How do I use my strengths to minimize impact of threats? 116 | ... 117 | ## How will I fix weaknesses that can make threats have a real impact? 118 | ... 119 | ## What are the options that I should definitely avoid? 120 | ... 121 | ## What else could I do? 122 | ... 123 | ## What if analysis...? (triangle: time, power, money) 124 | ... 125 | ## What is the wrong approach? What I should definitely avoid? 126 | ... 127 | ## What options do I have? 128 | ... 129 | ## Who can support me? Who can I ask for help? 130 | ... 131 | ## Who or where can I ask? 132 | ... 133 | ## Would I need another suggestion? 134 | ... 135 | 136 | 137 | 138 | # Way Forward 139 | Way forward - - what, where, when and how. Describe what you will do 140 | and what are the actions to be performed. Elaborate way forward and 141 | your will. Give yourself tasks based on the option you have selected 142 | in the previous step. Execute - if you do at least one small thing for 143 | your dream everyday, you will succeed. 144 | 145 | Formulate **action plan** - it is your way towards the goal. It 146 | summarizes task and action items you specified in this step. 147 | 148 | ## How can I start? What should I do first? 149 | ... 150 | ## How likely is this option to succeed? 151 | ... 152 | ## How will I overcome problems that may slow me down or stop me? 153 | ... 154 | ## Is there anything else I want to elaborate or the actions finished? 155 | ... 156 | ## What commitment on a 1 - 10 scale do I have taking these identified actions? 157 | ... 158 | ## What could arise to hinder me in taking these steps? 159 | ... 160 | ## What could I do or alter to raise my commitment closer to 10? 161 | ... 162 | ## What else can I do? 163 | ... 164 | ## What is the meaningful order of actions and tasks? 165 | ... 166 | ## What personal resistance do I have, if any, to taking these steps? 167 | ... 168 | ## What support do I need and from whom? 169 | ... 170 | ## What will I do now and what later? 171 | ... 172 | ## What will I do to eliminate these external and internal factors? 173 | ... 174 | ## What will I do to obtain that support and from whom? 175 | ... 176 | ## What will I do to obtain that support and when? 177 | ... 178 | ## When precisely am I going to start and finish each action step? 179 | ... 180 | ## Which actions I can do immediately? 181 | ... 182 | ## Which actions will I do later? Why can I afford to postpone them? 183 | ... 184 | ## Which options or option do I choose? 185 | ... 186 | 187 | 188 | 189 | # ! 190 | 191 | Conclude what you have learned and wrap up. Both general lessons 192 | learned, mistakes and experiences specifically related to this 193 | goal are worth to remember. 194 | 195 | Summarize results, lessons learned, mistakes, interesting solutions 196 | and experiences. 197 | 198 | ## Could I move faster? What would be the risk? 199 | ... 200 | ## Could I move more efficiently? 201 | ... 202 | ## How am I satisfied with the overall result? 203 | ... 204 | ## What are the results of actions I did up until now? 205 | ... 206 | ## What can I perform better next time? 207 | ... 208 | ## What did I learned? 209 | ... 210 | ## What is the feedback of involved/impacted people? 211 | ... 212 | ## What is the most valuable experience? 213 | ... 214 | ## What should I avoid next time? 215 | ... 216 | ## What would I do different if I have chance to return to the beginning again? 217 | ... 218 | ## With which result in particular I'm not satisfied? 219 | ... 220 | ## With which result in particular I'm satisfied? 221 | ... 222 | 223 | 224 | -------------------------------------------------------------------------------- /stencils/notebooks/swot.md: -------------------------------------------------------------------------------- 1 | # S.W.O.T. Analysis of ... 2 | 3 | **S.W.O.T.** analysis gives summary of your strengths, weaknesses, 4 | opportunities and threats in the context of a **goal**. Use 5 | S.W.O.T. to gather ideas on how to: 6 | 7 | * S: **capitalize strengths** 8 | * W: **shore up weaknesses** 9 | * O: **invest in opportunities** 10 | * T: **identify threats**. 11 | 12 | Based on these ideas you may define a set of actions. 13 | 14 | | Strenghts | Weaknesses | 15 | |--- |--- | 16 | | ... | ... | 17 | | Opportunities | Threats | 18 | |--- |--- | 19 | | ... | ... | 20 | 21 | 22 | 23 | # Strenghts to Capitalize 24 | 25 | ## ... 26 | ## ... 27 | 28 | # Weaknesses to Shore Up 29 | 30 | ## ... 31 | ## ... 32 | 33 | # Opportunities to Invest 34 | 35 | ## ... 36 | ## ... 37 | 38 | # Threats to Identity 39 | 40 | ## ... 41 | ## ... 42 | -------------------------------------------------------------------------------- /stencils/notebooks/technical-analysis.md: -------------------------------------------------------------------------------- 1 | # Technical Analysis: ... 2 | 3 | This is a technical analysis of... 4 | 5 | # Introduction 6 | ... 7 | 8 | # Requirements 9 | Technical requirements: 10 | 11 | * ... 12 | * ... 13 | * ... 14 | 15 | # Non-requirements 16 | Technical non-requirements: 17 | 18 | * ... 19 | * ... 20 | * ... 21 | 22 | # Support Matrix 23 | Supported platforms, runtimes, distributions, ... 24 | 25 | # Design 26 | 27 | ## Component: ... 28 | ## Library: ... 29 | ## Component: ... 30 | 31 | # Estimates 32 | MD (man-day) estimates... 33 | 34 | # Resources 35 | ... 36 | -------------------------------------------------------------------------------- /stencils/notes/empty.md: -------------------------------------------------------------------------------- 1 | # Note 2 | 3 | -------------------------------------------------------------------------------- /stencils/notes/meeting.md: -------------------------------------------------------------------------------- 1 | # 20yy-mm-dd Meeting 2 | **Agenda: ...** 3 | 4 | Attendees: ... 5 | 6 | Action items: 7 | 8 | * [ ] ... 9 | * [ ] ... 10 | * [ ] ... 11 | 12 | Summary: 13 | 14 | * ... 15 | 16 | --- 17 | 18 | Minutes: 19 | 20 | * ... 21 | -------------------------------------------------------------------------------- /stencils/notes/minimal.md: -------------------------------------------------------------------------------- 1 | # New Note 2 | ... 3 | -------------------------------------------------------------------------------- /stencils/notes/new-note-list.md: -------------------------------------------------------------------------------- 1 | # New Note w/ List 2 | ... 3 | 4 | * . 5 | * . 6 | * . 7 | -------------------------------------------------------------------------------- /stencils/notes/progress-report-meeting.md: -------------------------------------------------------------------------------- 1 | # 20yy-mm-dd Progress Report Meeting 2 | **Agenda: ...** 3 | 4 | Attendees: ... 5 | 6 | Action items: 7 | 8 | * [ ] ... 9 | * [ ] ... 10 | * [ ] ... 11 | 12 | Summary: 13 | 14 | * ... 15 | 16 | --- 17 | 18 | **My progress:** 19 | 20 | * ... 21 | 22 | Minutes: 23 | 24 | * ... 25 | 26 | -------------------------------------------------------------------------------- /stencils/notes/smart-goal.md: -------------------------------------------------------------------------------- 1 | # S.M.A.R.T.E.R Goal 2 | 3 | Checklist to ensure that a goal is **S.M.A.R.T.E.R**: 4 | 5 | * [x] the goal is specific 6 | * [ ] the goal is measurable 7 | * [ ] the goal is attainable 8 | * [ ] the goal is realistic 9 | * [ ] the goal is timeable 10 | * [ ] the goal is exciting 11 | * [ ] the goal is resources 12 | -------------------------------------------------------------------------------- /stencils/notes/todo-list.md: -------------------------------------------------------------------------------- 1 | # Solar System Exploration, 1950s – 1960s 2 | 3 | - [ ] Mercury 4 | - [x] Venus 5 | - [x] Earth (Orbit/Moon) 6 | - [x] Mars 7 | - [ ] Jupiter 8 | - [ ] Saturn 9 | - [ ] Uranus 10 | - [ ] Neptune 11 | - [ ] Comet Haley 12 | -------------------------------------------------------------------------------- /stencils/notes/weekly-report.md: -------------------------------------------------------------------------------- 1 | # 20yy-mm-dd..dd Weekly Report 2 | 3 | PRs created: 4 | 5 | * ... 6 | 7 | WIP PRs: 8 | 9 | * ... 10 | 11 | PRs merged: 12 | 13 | * ... 14 | 15 | PRs closed 16 | 17 | * ... 18 | 19 | PR reviewed: 20 | 21 | * ... 22 | 23 | New bugs found / issues created: 24 | 25 | * ... 26 | 27 | Bug verifications/repro/triage: 28 | 29 | * ... 30 | 31 | Meetings and calls: 32 | 33 | * ... 34 | 35 | Plans: 36 | 37 | * ... 38 | --------------------------------------------------------------------------------