Channels ▼

Blogs

September 19, 2014

Using a Loop Invariant to Help Think About a Program

Last week, I talked about how to write a loop invariant. I would like to continue this discussion by paraphrasing a beautifully elegant example that Dijkstra used in A Discipline of Programming.

September 18, 2014

At Your (Android) Service

To the user, the alien program just happens to contain a screen that looks just like yours.

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.




Continuous Delivery: The Agile Successor

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. - Architecture & Design

Articles RSS

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

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

Working with Azure DocumentDB: SQL & NoSQL Together

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

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

Making Freemium Work

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

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

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

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

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

Events of Interest

September 23-24. San Francisco, CA. Designers of Things Conference

September 24-25. Boston, MA. Boston App Expo

October 1-3. Santa Clara, CA. Software Developer's Workshop at ARM TechCon (Dr. Dobb's bloggers Al Williams and Eric Bruno will be presenting.)

October 9-10. Palo Alto, CA. Code Stars Summit

October 11-12. Los Altos Hills, CA. Silicon Valley Code Camp

October 17-18. Austin, TX. CITCON (Continuous Integration and Testing Conference)

October 27-30. Santa Clara, CA. ZendCon 2014

November 3-5. San Francisco, CA. QCon

November 4-5. London, England. Code Mesh Conference

November 17-21. Budapest, Hungary. ApacheCon Europe


Videos of Past Events

September 2013. JavaOne

September 2013. SpringOne 2GX

June 2013. JAXConf 2013

June 2013. Chicago Algorithmic Trading Conference

May 2013. Google I/O

March 2013. GPU Technology Conference

October 2012. JAXLondon 2012

September 2012. Strangeloop

September 2012. Intel Developer Forum

August 2012. VMWorld

July 2012. Java Language Summit

June 2012. Google I/O 2012

May 2012. Atlassian Summit

May 2012 (paid). Fluent Conference

March 2012. Multicore World

July 2011. JVM Language Summit

Video