small medium large xlarge

Cutting Through Complexity

May 02, 2012

Well, the first third of 2012 is now history, all that code you wrote is already legacy, and summer beckons (at least in our hemisphere, YMMV). Time to dig in and clear out that technical debt so you can enjoy your weekends by reading more Pragmatic Bookshelf titles :-).

And speaking of reading material, the May issue of PragPub magazine is now available, free for you to read and share from

PragPub for May, 2012

Developing software is complicated. This month, as every month, PragPub brings together a few bright author/programmers to cut through some of the complexity.

David Copeland is on a campaign to raise the quality of command-line apps. He wants everyone to stop writing scripts and start writing applications. Calling something a script, he says, can be an excuse not to care about writing good code. In What Makes an Awesome Command-line Application? he shows how to approach command-line programming with respect.

Jim R. Wilson points out that things have gotten more complicated when it comes to the structure of your application’s data. Do you put all the intelligence about that structure in the application, or in the data store? Today, more often than not, the answer is some combination of the two. And, as Jim details in Beyond the Bit Bucket, you have a lot of options.

Josh Carter’s contribution to this issue is called Effective Emails. A lightweight article, you figure? Guess again. The number of things you need to consider in writing and sending emails in a professional setting are almost as tricky as anything you’ll encounter in writing command-line apps or designing the data structures of your apps.

Thinking recursively can be tricky until you get the concept. Then it’s simple—until you run into the limitations of pure recursive algorithms and start trying to optimize the code. But if you’re working in Scala, Recursions and Tail Call Optimization will ease your mind, because both the language and author Venkat Subramaniam have got your back.

On a lighter note, John Shade shows that privacy may be more complicated than you think.

Now available, free to read and share, from

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:

Coming Soon:

  • Seven Databases in Seven Weeks in print
  • Working with Unix Processes in print
  • iOS SDK Development in print
  • The Definitive ANTLR 4 Reference in beta

Recently Released:

  • Ruby Programming Course from Pragmatic Studio [online]
  • Practical Vim [in beta]
  • Programming Clojure, 2nd Ed. [in print]
  • Rails Recipes, Rails 3 Ed. [in print]
  • The Rails View: Create a Beautiful and Maintainable User Experience [in print]
  • Thanks for your continued support,

    Andy & Dave

    Books • eBooks • Screencasts • PragPub Magazine