dave's reads worth sharing

Data Science, Machine Learning, Artificial Intelligence, Visualization, Complex Systems.

Markdown Is the De Facto Language for Writing in the XXI Century

I’ve talked before about how much I use Markdown for my day to day writing • Heck, markdown powered this blog for a long time, even while running on Wordpress • but now I decided to tell you how I use Markdown in different scenarios, and what the tools are

Taking notes in Markdown

nvalt • the clone and improved version of Notational Velocity • I use to write everything I need in Markdown • A cloud folder stores all my MD files and make them accessible everywhere • Even when I’m not on my computer and don’t have nvalt around, I still can edit the files • No more need for messing around with proprietary formats

Blogging in Markdown

My blog runs on Hexo, a Node.js static content blogging platform • I write all posts in markdown • When I’m blogging I use any Markdown app installed on my computer or any simple code editor • I’m not fussy about it • It depends on the project I’m working on and the editor is the one open at the time of the writing • Hexo also has a plugin for editing post called hexo-admin • Pretty basic, but if you wan’t to use something simple and dedicated to your blogging experience, it works

Fast Markdown documents

When I need to write an exam, a letter, or even a journal paper I gravitate towards using Typora • A Markdown editor with default styles so nice that I created a couple of my own based on the defaults offered • This allows me to write something “academic” fast enough without thinking about extra shenanigans • It replaced writing in LaTeX for most of my document needs

Markdown Presentation

For years I’ve been a fan of Keynote but I started using Markdown for most of my work • I mainly use two tools • Marp for quick presentations that don’t require much thought and reveal-md for presentations that need more interaction and that I can release as a mini-website for my students to experiment with

The main reason to abandon keynote has to do with code snippets and code highlight • In keynote you can’t do it • You have to prepare your code somewhere else and hope that when copy and pasting everything is style properly • That or making screenshots • With Markdown you write the code inside a code section and the renderer will highlight it for you • Both Marp and Reveal-md take care of it

The reason I like reveal-md these days is that it allows an extra layer of presentation: Interaction •I can mix Markdown with HTML and Javascript and create some interesting interactions for my users • I always found it somewhat problematic that the interactive presentations I gave to students were flattened out when producing slides to take home

With reveal-md I export my presentations to a static website and I can either give them the zip file or upload the contents online to my server • In any case the copy they get is not crippled by the lack of features of the format • Reveal-MD is an helper project to work with Markdown files in RevealJS • It is must-have because it makes it so much easier to be productive • If I had to write the entirety of a presentation in HTML I wouldn’t be using it • Markdown gives me the freedom to write content first and then add the interaction needed via JavaScript making slides unique

Markdown in Data Science Notebooks

Jupyter Notebooks support Markdown cells and this makes the code much nicer to read • Everything is formatted correctly and you don’t need to hurt your eyes in pages trying to resemble fixe-space typewriters from the pre-computer days

Markdown Logs

My backup system uses rsync and a handful of locations && hard drives • To keep everything working correctly I tend to log events like backup start, backup end, error copying, among others • And from time to time I like to manually read the log to see if everything is correct • Instead of having a TXT file, I log everything in MD format and to read I see a converted format in HTML • Much easier to spot problems


Markdown is not perfect and somethings from other environments might be missing, but it becomes handy as soon as you adopt the semantic conventions of the language • You end using them even if not intending to render them * The terseness of Markdown makes it one of the most useful languages/conventions to know and use in the XXI century