Writing a Markdown Compiler – Part 2

Hello, and welcome to the second part of the Markdown Compiler series! In case you’ve missed it, here is the first part.

In this part we’ll talk about the second step in compiling: Parsing – also known as Syntactic Analysis. This part has a bit more theory, so it might take some time to digest. Sip some coffee, relax, take yout time, and as long as you don’t rush it you’ll find it’s not hard at all 🙂

Continue reading “Writing a Markdown Compiler – Part 2”

Writing a Markdown Compiler

Have you ever wanted to make your own programming language? Maybe a template engine? A JSON parser? If you have ever built any of those, you might have noticed it’s not exactly easy to get started. There are a lot of concepts to digest before you get going. That’s why lots of devs just give up. We’d like to help with that.

Continue reading “Writing a Markdown Compiler”

Why It’s Always Good to Test Things with the Current Version of Software (When Writing a Blog Post)

While working on the third installment of Fun with FileMaker Button Bars, I was served a reminder of why it’s good to test the stuff you write about using the latest software updates (even if they just arrived that very morning).
Continue reading “Why It’s Always Good to Test Things with the Current Version of Software (When Writing a Blog Post)”

Writing DSLs: The joy of human consumable APIs

A well-designed Domain Specific Language (DSL) can help you be more productive as a developer, thus making you, your team and your clients happier. In this post, I’ll guide you through the design and creation of a simple DSL to create EPUB files. We’ll start with a regular API and refactoring until we get to a DSL solution.

Continue reading “Writing DSLs: The joy of human consumable APIs”

Avoid nil-checks. Code confidently. Be happy.

This post is about pretty code (with examples in Ruby), plus how to get nil out of the way and be more confident.

Does this code look familiar?

Continue reading “Avoid nil-checks. Code confidently. Be happy.”