I tried to hack together my own personal stack overflow or Q&A system using a directory of text files and Sublime Text (any other text editor that has regular expression searching also work). Basically, each fact or note that I wanted to be able to retrieve would be stored as semi-structured text that is easy to search using regular expressions. For example, when I was first learning web development, I saved a note like this in my note file:
{
[how do you create a simple image button in html and css]
-> style:
.simple-button {
background-image: url(...),
background-repeat: no-repeat,
background-position: center,
background-size: 100% 100%,
width: 100px,
height: 100px,
display: inline-flex
}
<div class = 'simple-button'></div>
}
I had a directory called "knowledgebase" which had numerous files with similarly structured notes. In order to find the note above using keywords, I would just do a search of the knowledgebase directory in Sublime Text using the regular expression:
^\{\s*\[.+button.+css.*\]
At first I was pretty excited about the method because it actually saved me a few times when I needed to find some boilerplate Linux bash scripts and vim keyboard shortcuts. Unfortunately, the small bit of initial success left me wanting to add more features to the extent that I was never satisfied with the notation for structuring questions and answers. First I used the system for simple notes and Q&A. Then the notation had to support hierarchical notes, like a tree. Eventually, decided I was going to write a program to parse these Q&A files and expose them as a mobile application that I could search via voice. This seemed like a pretty good idea until I decided that what I really needed was to not only be able to search notes by voice but also create them. The whole project kept growing until eventually I dropped the whole note taking thing and turned my attention to the general problem of NLP for question answering.
If I had simply been satisfied with the original, simple process and stuck to it these last couple of years, I'd have a pretty comprehensive and useful knowledgebase by now. I realize that I'm too lazy to keep such a system up to date but hopefully I can adopt something similar as a commenting convention in my source files to make code fragments searchable.
If I had simply been satisfied with the original, simple process and stuck to it these last couple of years, I'd have a pretty comprehensive and useful knowledgebase by now. I realize that I'm too lazy to keep such a system up to date but hopefully I can adopt something similar as a commenting convention in my source files to make code fragments searchable.
I had a directory called "knowledgebase" which had numerous files with similarly structured notes. In order to find the note above using keywords, I would just do a search of the knowledgebase directory in Sublime Text using the regular expression: At first I was pretty excited about the method because it actually saved me a few times when I needed to find some boilerplate Linux bash scripts and vim keyboard shortcuts. Unfortunately, the small bit of initial success left me wanting to add more features to the extent that I was never satisfied with the notation for structuring questions and answers. First I used the system for simple notes and Q&A. Then the notation had to support hierarchical notes, like a tree. Eventually, decided I was going to write a program to parse these Q&A files and expose them as a mobile application that I could search via voice. This seemed like a pretty good idea until I decided that what I really needed was to not only be able to search notes by voice but also create them. The whole project kept growing until eventually I dropped the whole note taking thing and turned my attention to the general problem of NLP for question answering.