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.

At Beezwax, a few years ago we built a WordPress plugin which allows users to upload their blog posts to the Apple News platform. In order to do this, we had to translate HTML to some particular format. What we wrote is, at its core, a compiler. Compilers are not only for programming languages, they are in many more places than you might think!

Continue reading “Writing a Markdown Compiler”

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.”

What is Dependency Injection

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”

FMAjax and FileMaker Web Viewers

With everything that we’ve learned with our last post, Communicating with a Web Viewer in FileMaker, it makes sense to wrap up the functionality into a FileMaker module and JavaScript library.

Continue reading “FMAjax and FileMaker Web Viewers”

Useful Vim Mappings

A few mappings to help boost your Vim workflow.

Rotate through different line numbering settings

Switch between absolute line numbers (normal), relative numbers (based on distance from your cursor) and no numbers at all using CTRL-n:

Continue reading “Useful Vim Mappings”

A Web Developer’s OS

What must an Operating System do to satisfy web developers’ needs? This is a tricky question, as each person is a whole different world, so it’s impossible to have a single answer to satisfy every person.

Continue reading “A Web Developer’s OS”

Keep FileMaker Server Web Logs at Fixed Paths

If you need to scrounge through the web server’s logs in the file system, the way FileMaker Server stores these on Mac OS can be a bit annoying. You end up with a bunch of files named like this:

jQuerySF 2015 – Much more than jQuery…


Attending jQuerySF 2015:

This week I had the pleasure of attending jQuerySF 2015, held in San Francisco, CA.

Despite the name of the conference, the range of web-technology topics included far more than just jQuery.

Continue reading “jQuerySF 2015 – Much more than jQuery…”

1 2