small medium large xlarge

Mazes for Programmers; New PragPub magazine!

February 04, 2015

A book on mazes? Seriously?


Not because you spend your day creating mazes, or because you particularly like solving mazes.

But because it's fun. Remember when programming used to be fun? This book takes you back to those days when you were starting to program, and you wanted to make your code do things, draw things, and solve puzzles. It's fun because it lets you explore and grow your code, and reminds you how it feels to just think.

Sometimes it feels like you live your life in a maze of twisty little passages, all alike. Now you can code your way out.

Mazes for Programmers: Code Your Own Twisty Little Passages is now in beta from Come and get it!

And since it's now February, welcome to the latest fascinating issue of PragPub magazine. Read on for details.


Mazes for Programmers: Code Your Own Twisty Little Passages

From video games to movies, mazes are ubiquitous. Explore a dozen algorithms for generating these puzzles randomly, from Binary Tree to Eller's, each copiously illustrated and accompanied by working implementations in Ruby. You'll learn their pros and cons, and how to choose the right one for the job.

You'll start by learning six maze algorithms and transition from making mazes on paper to writing programs that generate and draw them. You'll be introduced to Dijkstra's algorithm and see how it can help solve, analyze, and visualize mazes. Part 2 shows you how to constrain your mazes to different shapes and outlines, such as text, circles, hex and triangle grids, and more. You'll learn techniques for culling dead-ends, and for making your passages weave over and under each other. Part 3 looks at six more algorithms, taking it all to the next level. You'll learn how to build your mazes in multiple dimensions, and even on curved surfaces.

Through it all, you'll discover yourself brimming with ideas, the best medicine for programmer's block, burn-out, and the grayest of days. By the time you're done, you'll be energized and full of maze-related possibilities!

Now in beta from

February PragPub

The big article in PragPub this month is Maik Schmidt’s walkthrough of his experience in building a retro video game for the Arduino single-board computer in 30 days. He shares all the code and wiring and sourcing of parts, so you can do it yourself. (Total cost: under $50.) It’s a fun project and Maik is a fine writer who can evoke the fun of programming back when you counted every byte.

That would be circa 1975, when the MITS Altair was unleashed on the byte-counting world of kitchen-table coders and electronics hobbyists. Your grey-bearded PragPub editor was alive then, and even got to interview the people who started the personal computer revolution. A book and a movie came out of that, and we’re sharing an excerpt from the book here this month. You’ll feel for Homebrew Computer Club member Steve Dompier, who caught a plane and flew to Albuquerque because his order for an Altair computer wasn’t filled promptly.

The little article this month is the second installment in our series on functional programming in Apple’s new language, Swift. Chris Eidhof and his co-authors are focused on iOS development, more tightly focused on Swift programming for iOS development, and laser-focused on functional programming in that language and for that platform. If, like us, you think that iOS development and Swift and functional programming are all musts for any serious software developer to master, you’ll want to follow their series.

Staying on top of trending technologies is part of the care and feeding of your career as a developer. We’re committed to offering you useful tools for managing your career, and this issue has two regular columns addressing career issues. Johanna Rothman and Andy Lester discuss a wide range of career topics, this month zeroing in on job interviews. And Marcus Blankenship offers advice for the developer who finds herself or himself managing other developers and wondering, what the heck does a manager do?

There’s another new language that we’re really excited about: Elixir. If you’re not up on it, you’re in luck. Bruce Tate has contributed to this issue a nuts-and-bolts article on developing in Elixir, tackling the thorny issue of testing.

As usual, Antonio Cangiano is here with all the new tech books, John Shade is up to something, and Mike has put together a puzzle for your amusement. We hope you enjoy the issue!

Now available from

Upcoming Author Appearances

  • 2015-02-27 Rachel Davies,
    NorDevCon, Norwich, UK
  • 2015-02-28 Adam Tornhill,
    Beauty in Code, Malmö, Sweden
  • 2015-03-04 Adam Tornhill,
    QCon London 2015, UK
  • 2015-03-05 Rachel Davies,
    QCon London
  • Audio Books!

    Did you know we're producing audio books for your listening pleasure?

    Don't Get Left Out

    Are your friends jealous that you get these spiffy email newsletters and they don't? Clue them in that all they need to do is create an account on (email address and password is all it takes) and select the checkbox to receive newsletters.

    Are you following us on Twitter and/or Facebook? Here's where you can find us and keep up with the latest news and commentary, and occasional discounts:

    Tell your friends! Tweet this

    Follow us on Twitter: pragprog</a>, <a href="">pragpub, Andy PragmaticAndy</a> and Dave <a href="">pragdave.

    Coming Soon:

    • The Cucumber for Java Book in print
    • CoffeeScript, Second Edition in print

    Recently Released:

    Thanks for your continued support,

    Andy & Dave
    The Pragmatic Programmers

    Books • eBooks • PragPub Magazine • Audiobooks and Screencasts