small medium large xlarge

PragPub cover


January 2013


Functional Programming Basics

by Robert C. Martin (Uncle Bob)

“Uncle Bob” Martin strips the paradigm down to its essentials, and explains why you can and must understand functional programming now.

Web Programming in Haskell, Part II

by Paul Callaghan

Paul continues his deep dive into the Haskell language and functional programming with a look at Web frameworks for Haskell.

Using Memoization in Groovy

by Venkat Subramaniam

Venkat explores the immense time-space tradeoffs of memoization, and explains how Groovy makes memoization easy.

Mac Kung Fu: Breaking the Magician’s Code

by Keir Thomas

Keir breaks the magician’s code and reveals useful secrets that Apple has hidden in its code.

Launching a Gonzo Engineering Project

by Steven K. Roberts

The legendary gonzo engineer shares his secrets for pursuing crazy dreams and succeeding in a new series starting in this issue.


Up Front

by Michael Swaine

If you’re the kind of person who think refactoring code to make it conceptually cleaner is exciting, then consider this issue your guidebook to adventure.

Choice Bits

We follow Twitter so you don’t have to.

The Quiz

by Michael Swaine

A monthly diversion at least peripherally related to programming.


Want to meet one of our authors face-to-face? Here’s where they’ll be in the coming months.

Shady Illuminations

by John Shade

By reading this column you agree to abide by incomprehensible terms of use that John reserves the right to change at any time.

But Wait, There’s More...

Coming attractions and where to go from here.

Except where otherwise indicated, entire contents copyright © 2019 The Pragmatic Programmers.
Feel free to distribute this magazine (in whole, and for free) to anyone you want. However, you may not sell this magazine or its content, nor extract and use more than a paragraph of content in some other publication without our permission.
Published monthly in PDF, mobi, and epub formats by The Pragmatic Programmers, LLC, Dallas, TX, and Raleigh, NC. Email, phone +1-800-699-7764. The editor is Michael Swaine ( Visit us at
ISSN: 1948-3562