Channels ▼

Blogs

September 17, 2014

Setting Up a Test Environment for C++14

A little clever work and I was able to quickly set up a test machine with everything I needed on Ubuntu running in a Microsoft Azure VM.

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.




Articles                                     RSS

Continuous Delivery: The Agile Successor

September 16, 2014

Traditional Agile methods have been obliged to evolve quickly to address current programming needs. Continuous delivery mixed with select Agile practices is emerging as the preferred way forward. - Design

The C++14 Standard: What You Need to Know

September 16, 2014

New, useful features that make the language safer and more convenient. - C/C++

Working with Azure DocumentDB: SQL & NoSQL Together

September 16, 2014

Updating and deleting documents, creating queries, and managing query results in Microsoft's new NoSQL database-as-a-service. - .NET

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



Video