Hacker News new | past | comments | ask | show | jobs | submit login

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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: