Skip to content

Commit

Permalink
background info
Browse files Browse the repository at this point in the history
  • Loading branch information
togakangaroo committed Sep 21, 2018
1 parent e8c2ad1 commit 0eeae70
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@

# Tech Terms

A repository of technical terms and definitions. Eventually to be converted to flashcards or...whatever.
## Background

<a rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/">Creative Commons Attribution-NonCommercial 4.0 International License</a>.
Throughout most of my life I've been very negative on the role of memorization in education, considering it a bad way to learn a topic and frankly, beneath me. Still, when I found about [Anki](http://ankiweb.net/) in late 2017 I - after browsing some of the shared decks - decided to try it to do something I've always wanted to do: memorize all the Chinese provinces and their capitals.

## Plan
Shocked at how effective this was, I continued with geography; memorizing all the countries, capitals, flags, water bodies, and states of several more countries. I also shifted to history, memorizing important dates and events. As I did this, I was surprised to realize an additional benefit - by having geography and the broad outline of history at my beck and call, powering through dense history books became far easier. I no longer had to struggle to establish context or cross reference maps, everything just made sense. I began reconsidering the role of memorization in the learning process.

I am a software developer and [a manager](https://www.surgeforward.com/our-team/). As part of my job, I act as support to sales and recruiters who frequently refer to me to orient them with one piece of tech or another. More importantly, I do a great deal of mentoring, spending a lot of time helping novices with organizations like [Operation Code](http://operationcode.org) and [Operation Spark](https://operationspark.org/) (no relation to each other). I have seen over and over again people get completely overwhelmed and disoriented with the amount of information, areas of competency, and just flat out terminology out there. It is my contention that the same memorization techniques can help get people grounded in the field.

So this is a project to create a list of terms that might be helpful for familiarizing someone with the industry and in general how developers speak. Each term is accompanied by a short, flash-card-able definition. The goal is not to be comprehensive or even very precise, just to give users enough of a head start to make the rest of their journey easier.

The idea is that this list is optimized for rote memorization - so each definition is short and presentable in flash-card format. The theory is that by memorizing this terminology, a beginner will get immediately situated within the terminology of the world of develoment.
## Plan

- [x] Put together big, unsorted list of terms to define (aim for a few hundred terms)
- [x] Denormalize and flatten list
Expand All @@ -19,10 +23,15 @@ The idea is that this list is optimized for rote memorization - so each definiti

## Contribute

Terms are written in org mode. For now just give a regular pull request. I'll take care of merging for now.
Terms are written in org mode in the `terms.org` file. To add or edit terms, open the file in the Github or any text editor (one with [org-mode support](https://en.wikipedia.org/wiki/Org-mode#Integration) is encouraged but not necessary for this), make edits, and give me a pull request. Remember, the goal is not to be comprehensive, so much as memorizeable. Therefore, please limit term and defintion lengths to the somewhat arbitrarily (and because it worked for me) current width of the table:

* 52 character maximum for terms
* 220 character maximum for definitions

### Python Script To Build Anki apkg file

While there is no problem with just using the table directly to study, I very much prefer using the free Anki program. An Anki deck is therefore provided and can be built from the `terms.org` file.

You can generate an apkg file from terms.org by running `parse_terms.py` from the `generator/` directory. For this you will need a version of Python 3 and [Pipenv](https://pipenv.readthedocs.io/en/latest/). Nothing will be installed globally.

> cd generator
Expand Down

0 comments on commit 0eeae70

Please sign in to comment.