Not yet a subscriber? Sign up here.

The weekly digest for developers   
ISSUE 21 - February 8, 2013


Open Source in your Inbox: Code Triage — A clever way to help your favorite open source projects. Sign up and each day you'll receive a link to one issue a day from projects you follow on GitHub. A good way to build up a constant stream of open source contributions.
Fluid Simulation for Video Games — From Intel and Dr. Michael J. Gourlay comes a fascinating 15 part series introducing us to fluid dynamics, its relevance to gaming, and how to work with fluid simulation algorithmically.
A Regular Expression 'Crossword' Puzzle [PDF] — A fun 'crossword' where the clues are regular expressions. Sound like a mindbender? It is.

from our sponsor

Online jQuery Training from the Experts at Bocoup — Level up your jQuery knowledge with Bocoup’s online jQuery Essentials training from Ben Alman. It’s an immersive look at patterns and techniques you can use to improve your code, your site, and your development experience.


CS2: Data Structures and Algorithms — A collection of 38 lectures on YouTube covering algorithms and data structures all the way from the basics through to O notation, sorting algorithms, hash tables, and more. Recorded in 2009 but as relevant today.
Immutable Values and Invariant Names — An immutable is a special type of value which has the property that after construction it never changes. Immutables can play a significant role in language design.
What is the advantage of 'currying'? — Currying is the transforming a function that takes multiple arguments in such a way that it can be called as a chain of functions, each with a single argument. Developers on Stack Exchange explain all, along with examples.
Why does (-2147483648> 0) return true in C++? — Part of the answer: "C++ does not support negative literal values. -2147483648 is actually an expression."
Evasi0n Jailbreak's Userland Component — A fascinating and detailed walkthrough of how the latest iOS 6.1 jailbreak wangles its way into your iOS device of choice.
The Base64 Encoder Has A Fixed Point — A curious property of the Base64 encoding/decoding system.
Scientific Publishing 2.0: Moving The Compute to The Data Rather Than The Data to The Computers — The GigaScience journal aims to turn research papers into executable data objects, turning all stages of what goes into making a research paper, such as data and analysis into a reducible and citable format.


Code Connected Volume 1: Learning ZeroMQ — Pieter Hintjens' guide to building distributed software. Volume 1 takes you through learning ZeroMQ (0MQ) step-by-step, covering the basics, the API, the different socket types and how they work, reliability, and a host of patterns you can use in your apps. You can buy it but there's also a free PDF.
Announcing MoSQL: Live Data Replication from MongoDB to PostgreSQL — With MoSQL, you can run applications against a MongoDB database, but also maintain a live-updated mirror of your data in PostgreSQL, ready for querying with the full power of SQL.
Boost your productivity with Tmux — tmux is a terminal multiplexer (think 'screen') and in this 15 minute screencast, Alfredo Di Napoli shares some tips in using it.
Introducing dot42: A C# Compiler for Android's Dalvik Runtime — dot42 compiles CLR based bytecode to that required for Android's VM. There's a community license for non-commercial use but it costs a pretty penny otherwise.
Squash: The Open-Source Bug-Smashing Tool — An exception reporting and bug analysis tool from Square.


Jeremy Ashkenas on CoffeeScript and Symbiotic Languages — At the recent dotJS conference, CoffeeScript's creator, Jeremy Ashkenas, talked about CoffeeScript and the idea of 'symbiotic programming languages' for 20 minutes.
Sorting Data in Parallel: CPU vs GPU — A look at implementing a parallel sort algorithm in C++ both directly for the CPU and also for the GPU with CUDA.
Rethinking GCC's Optimization for Size — A recent discussion on the best optimization approach for the Linux kernel has demonstrated how complicated the idea of compiler based optimization can be.
How to Parse Ruby — "If you want to parse Ruby, I wish you luck — there isn’t any documentation or a formal grammar that fully describes the language."
Easy 6502: Learn How to Write 6502 Assembly Language — Comparing 6502 assembler to Latin, Nick Morgan makes a great case for learning the antique ways of the 6502 processor. Much to enjoy here.
State Machines – Basics of Computer Science — A nice entry level introduction to a key computer science concept.
How to Achieve 4 FLOPS Per Cycle — A Stack Overflow question with a fascinating top answer that pushes a Core i7 2600K up to 97.9 billion floating point operations per second from C++.


Software Developer (Amsterdam) - Good in Perl or Willing to Learn? — Join the #1 accommodation website in the world: We need 25 sharp developers to join our big Perl shop in Amsterdam. You don’t need to know Perl, only have the willingness to learn. This position is open to worldwide candidates – visa and relocation package included. Join our international team of hackers!
Test Driven JavaScript and Ruby Developer (San Francisco and Santa Monica, CA) — Great people, awesome workplace, and new projects all the time. Work with seasoned pros building products people use and keep your nights/weekends for yourself.


"It's not at all important to get it right the first time. It's vitally important to get it right the last time." // Andy Hunt and Dave Thomas

last but not least

Waza 2013: Heroku's Developer Event - February 28, San Francisco — Heroku are hosting an event that 'celebrates craft and the creative process of software development with technical sessions and interactive artistic happenings.' Some excellent speakers in the line up.