Sinatra Wiki Project

Posted by Tyler Maxwell on April 2, 2018

My Sinatra Project is a wiki application based on a suggestion in this book. Andy Hunt is also the co-author of The Pragmatic Programmer: From Journeyman to Master, which has over 250 five-star reviews on Amazon.

The following quote represents an overview of the idea for this project.

“Your own book collection, your notes, and even your favorite IDE and programming language all form part of your exocortex, which is any mental memory or processing component that resides outside your physical brain. As programmers and knowledge workers, we probably rely on the computer to form more of our exocortex than the general population does. “

-Andy Hunt, Pragmatic Thinking & Learning: Refactor Your Wetware

Perhaps the tools used by developers differ in complexity or functionality, but the general concept is the same. Essentially, the smartphone has become the exocortex of the masses. Einstein, when asked the number of feet in a mile replied, “I don’t know, why should I fill my brain with facts I can find in two minutes in any standard reference book?”

The number of feet in a mile is not one of those tunes that I can’t get out of my head, but there are facts that I couldn’t forget if I tried (i.e. Avogadro’s constant: 6.02 x 10E23). The concept of an exocortex is like that of a container or storage medium. Mere facts are information. Having facts on hand doesn’t make one knowledgeable or “smart.” Information is a necessary condition for knowledge, but not a sufficient condition. I think it is an error to conflate the two.

The following passage from Hunt’s book is what I took to be the user story for this project:

“… You create a new page by first creating a link to it using a WikiWord. … Once you place a WikiWord on a page, it will automatically become hyperlinked to the wiki page with that name. If one doesn’t yet exist, then the first time you click it, you’ll be given a blank page and the opportunity to fill it in. This makes it very easy and natural to create new pages.”

-Andy Hunt, Pragmatic Thinking & Learning: Refactor Your Wetware

My intention was to create a web app version of the Zim desktop wiki. A wiki is a tool that helps organize information. Much of the functionality of this app was beyond the scope of this lab. To be completely candid, it is also far beyond my skill level as a programmer. Well, as they say, baby steps!