September 30, 2014

Learning JavaScript by Solving a Real Problem

My programming background

Through a few courses at university and some tinkering at home, I’ve learned the syntax and basics of programming in a few languages (Java, Python, MatLab/Octave, R).

I’m not an expert in any of these, but I am proficient enough to write scripts and understand programs from reading them, and I believe there are many others at this same skill level.


I have recently switched to using GitHub’s Atom text editor, and am enjoying the experience so far. The modular structure of the program is a cool idea, allowing for a custom experience built from a huge variety of packages.

The community around Atom seems to be very active at the time of this writing, and I would like to contribute/become involved in it. For this reason, I have decided to create a package for Atom that solves a small problem I have.

The problem

I like to type up programming assignments in Atom with “GitHub Flavored” Markdown which allows headings and quick embedding of code, all without having to touch a mouse.

The issue is that my assignments must be submitted in .pdf format, which Atom cannot export to.

For now I have been converting my saved .md files to .pdf, but the final rendering is usually not as attractive as the markdown preview in Atom, and requires more time than a simple “export pdf” command.

The solution

I have decided to build an Atom package “markdown-pdf” to convert raw markdown documents to GitHub-styled markdown, exported in the form of a pdf.

Since I am new to JavaScript, this will be an opportunity to hone my JS coding skills and create something that fills a need, and is a modest introduction to the world of software development in general.

Further posts will document my path to learning JS and creating this package.