A while back, I wrote about why developers should learn HTML and CSS. I wrote that post after formally re-introducing myself to HTML and CSS using Head First HTML with CSS and XHTML.
A short time later, I got caught up with more server side programming. As if often happens, once you learn a programming language, you need to build something in it, else with time you’ll forget most of what you have learnt.
More than a year passed without me building anything with HTML or CSS. A while back, Head First released a second edition of the book with XHTML part stripped out and a greater emphasis on HTML 5. I picked up the book with the intention of working through it.
It sat on my shelf for over 5 months. Last week, I worked through the book and this time around, thanks to Anki, I am a lot more optimistic about remembering and recalling everything I have learnt.
Anki is this fantastic piece of software that implements active recall testing and spaced repetition.
The software is written in Python, is open source, and is available for Windows / Linux / Android / Mac. A paid version is available for iOS devices.
There are two simple concepts behind Anki: active recall testing and spaced repetition. I came across this on Derek Sivers’ blog and have been using it ever since. I would rank this third in my list of wildly useful tools to learn, right after learning to type and using distributed version control.
My study process is:
1. Work through each chapter, type in each example.
2. At the end of a chapter, recall all the important concepts and type them in question / answer form in Anki.
3. Open up Anki each morning and review all the cards it shows for that day.
AnkiWeb is a free service which allows you to sync your Anki cards across all devices. This lets me sync my cards on my Android phone and revise them when I am commuting or any time I find myself outside with time to kill.