Channels ▼


September 11, 2014

Loop Invariants Abbreviate Induction Proofs

It is often possible to avoid difficulties by proving the desired properties of our program by induction.

September 08, 2014

An Android's Life

It is tempting to imagine that if you know Linux and Java, you know Android. Almost.

September 04, 2014

Mathematical Induction Makes Extrapolation Accurate

Mathematical induction is a technique for using the properties of natural numbers to prove claims about every natural number.

Articles                                     RSS

Azure DocumentDB: Working with Microsoft's NoSQL Database in the Cloud

September 09, 2014

Coding for the new NoSQL JSON database service that supports SQL queries. - Cloud

Making Freemium Work

September 09, 2014

Every cloud provider, most tools vendors, and many mobile apps have adopted the "freemium" model: Give away a subset for free and charge for added features. While it provides advantages for the customer and the vendor, making this model work is not easy. - Tools

Software Development is Very, Very Hard — Even for Those Who Know It's Hard

September 09, 2014

Inherent software complexity is not the only important factor; so are team size, location and distribution, regulatory constraints, and requirements management. With no two teams working exactly alike, no single formula or methodology can address all needs. - Design

Portability and Extensibility via Layered Product Design

September 02, 2014

Designing products in clearly separated layers makes it possible to consign non-portable code to low-level APIs — simplifying both portability and future extensibility. - Design

The Curse of Version 6

September 02, 2014

Major programming languages often don't make it to version 6, but if they do, they arrive wounded and badly scarred. Why is that? - Design

Containers for Development

September 01, 2014

Containers provide a lightweight alternative to virtual machines and they enable developers to work with identical dev environments and stacks. They also facilitate DevOps by encouraging the use of stateless designs. Here's how these benefits play out in real life. - Design

The Internet of Overhyped Things

August 26, 2014

Vendors and analysts would have us believe that the Internet of Things is imminent. But, in fact, it will be years before the obstacles it faces can be surmounted. - Design

Programming with OpenCL 1.2

August 26, 2014

printf-style debugging and the ability to partition computing devices into subdevices make OpenCL 1.2 a very useful upgrade. - Design

Patching Mocks in Python

August 26, 2014

Python's uniquely useful mechanism for temporarily changing resource behavior in unit testing. - Design

Git Tracking Relationships: Use the Full Power of Git Branches

August 19, 2014

A simple, built-in option keeps branches in sync automatically. - Design