As developers, we are tasked with reducing complexity. Complexity is all around us, and good code organization reduces complexity while at the same time supporting increased flexibility, ease of change, quicker onboarding, faster debugging, and my favorite, better testing.
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. We’d like to help with that.
Welcome to Part 3, the final in this series on Writing a Markdown Compiler!
Continue reading “Writing a Markdown Compiler – Part 3”
Hello, and welcome to the second part of the Writing a Markdown Compiler series! In case you’ve need it, here is Part 1, Intro/Tokenizer and Part 3, Code Generation.
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”
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 – Part 1”
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)”
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”
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?
user && user.ask_for_email
Continue reading “Avoid nil-checks. Code confidently. Be happy.”
If you are a developer, chances are very good that you know what Object-Oriented (OO) code is. You might have also heard about OO Design Patterns, things like single responsibilities, decoupled code, and my subject here: Dependency Injection (DI).
Continue reading “What is Dependency Injection”