About this site

Content choice

This exists to refute meme curriculums in computer science that have you doing so much work it seems impossible to finish, so I select the work that is assembled with evidence based teaching.

One bit of advice: it is important to view knowledge as sort of a semantic tree — make sure you understand the fundamental principles, ie the trunk and big branches, before you get into the leaves/details or there is nothing for them to hang on to. - Elon Musk

What do professors want you to learn

Transfer skills. Topic A is seemingly unrelated to topic B but they actually are related. Traditional curriculums struggle to achieve this as per Prof K's papers on teaching.

Software used to build this

This site is built using org-mode which is a major mode for emacs meaning a collection of behaviours that are automatically run whenever you open a .org file, a text file with some markup. It looks like this:

#+STARTUP: showall
#+TITLE: About this site
#+options: num:nil html-postamble:nil toc:nil
#+HTML_HEAD: <style> body {background-color: #fafad2} </style>

* Big heading

Some text

** Smaller heading

#+BEGIN_QUOTE
Some text
#+END_QUOTE

The documentation for org html export I find highly confusing, to learn it I had to read the lisp in ox-html.el in emacs source and some other org lisp files in order to find all the features and make my own. You can use HTML5 tags such as for video if you turn on html5-fancy but I don't allowing the user to use their preferred software to look at videos.

I can edit the text on a phone then by a simple script ssh into a box to run:

emacs myfile.org --batch -f org-html-export-to-html --kill

Design

This site is purposely 'low tech' so somebody with only a phone can navigate it easily and print it out for offline use if they wanted, or save it as a pdf. It's also easier to maintain this way since I'm updating incrementally daily. If you want to generate an org-page with permanent links (it generates random div container identifiers then links these everytime) try this but I hacked the elisp to simply pick the title of the segment and use that, it was somewhere in ox-html.el


Home