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.

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. - Development Tools

Articles RSS

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

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

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

The Internet of Overhyped Things

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

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

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

Events of Interest

September 17. St. Louis, MO. Powered by JavaScript

September 17-19. St. Louis, MO. Strangeloop

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

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)

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