🏳️Dr. Dobb's | Good stuff for serious developers: Programming Tools, Code, C++, Java, HTML5, Cloud, Mobile, Testing

Website favicondrdobbs.com

Software tools and techniques for global software development. Dr. Dobb's features articles, source code, blogs,forums,video tutorials, and audio podcasts, as well as articles from Dr. Dobb's Journal, BYTE.com, C/C++ Users Journal, and Software Development magazine.

Informa

Dr. Dobb's is part of the Informa Tech Division of Informa PLC

*   [Informa PLC](https://informa.com/)

*   [About us](https://informa.com/About-Us/)

*   [Investor relations](https://informa.com/Investors/)

*   [Talent](https://informa.com/Talent/)

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

**Welcome Guest** | [Log In](javascript:void\(0\)) | [Register](javascript:void\(0\)) | [Benefits](javascript:void\(0\)) 

Channels _▼_

*   [Cloud](/cloud)

*   [Mobile](/mobile)

*   [Parallel](/parallel)

*   [.NET](/windows)

*   [JVM Languages](/jvm)

*   [C/C++](/cpp)

*   [Tools](/tools)

*   [Design](/architecture-and-design)

*   [Testing](/testing)

*   [Web Dev](/web-development)

*   [Jolt Awards](/joltawards)

Blogs

-----

[Al Williams](/author/Al-Williams)

December 24, 2014

[6 Comments](https://drdobbs.com/embedded-systems/things-that-go-boom/240169445#disqus_thread)

### [Things That Go Boom](/embedded-systems/things-that-go-boom/240169445)

It is easier to make a safe light bulb than to make a safe explosive.

[Read More »](/embedded-systems/things-that-go-boom/240169445)

[Andrew Koenig](/author/Andrew-Koenig)

December 22, 2014

[1 Comment](https://drdobbs.com/cpp/abstractions-for-binary-search-part-10-p/240169437#disqus_thread)

### [Abstractions For Binary Search, Part 10: Putting It All Together](/cpp/abstractions-for-binary-search-part-10-p/240169437)

After the discussions of the last few weeks, we are finally ready to build our test cases.

[Read More »](/cpp/abstractions-for-binary-search-part-10-p/240169437)

[Al Williams](/author/Al-Williams)

December 19, 2014

[Post a Comment](https://drdobbs.com/embedded-systems/the-touch-of-a-button/240169431#disqus_thread)

### [The Touch of a Button](/embedded-systems/the-touch-of-a-button/240169431)

Of course, I wasn't satisfied with the simple approach, so I added a bit of code to sense swipes much as you would find on a touchscreen phone.

[Read More »](/embedded-systems/the-touch-of-a-button/240169431)

[See all blogs »](/blogs/)

INFO-LINK

[](/)

=====

\-[](//)

TRENDING NOW

============

[RESTful Web Services: A Tutorial](https://www.drdobbs.com/web-development/restful-web-services-a-tutorial/240169069)

=====================================================================================================================

As REST has become the default for most Web and mobile apps, it's imperative to have the basics at your fingertips.

[Why Build Your Java Projects with Gradle Rather than Ant or Maven?](https://www.drdobbs.com/jvm/why-build-your-java-projects-with-gradle/240168608)

====================================================================================================================================================

The default build tool for Android (and the new star of build tools on the JVM) is designed to ease scripting of complex, multi-language builds. Should you change to it, though, if you're using Ant or Maven?

[Developer Reading List: The Must-Have Books for JavaScript](https://www.drdobbs.com/cpp/developer-reading-list-the-must-have-boo/240148421)

============================================================================================================================================

The best books for learning the basics, becoming expert, and and writing complete apps in JavaScript

Articles[](/articles/rss)

-------------------------

[Farewell, _Dr. Dobb's_](/architecture-and-design/farewell-dr-dobbs/240169421)

==============================================================================

[93 Comments](https://drdobbs.com/architecture-and-design/farewell-dr-dobbs/240169421#disqus_thread)

After 38 years of glory, the long run of _Dr. Dobb's_ has come to an end. - [Design](/architecture-and-design)

[Jolt Awards 2015: Coding Tools](/joltawards/jolt-awards-2015-coding-tools/240169420)

=====================================================================================

[1 Comment](https://drdobbs.com/joltawards/jolt-awards-2015-coding-tools/240169420#disqus_thread)

The best tools available for creating, testing, and debugging code. - [Jolt Awards](/joltawards)

[Thriving Among the APIs](/architecture-and-design/thriving-among-the-apis/240169441)

=====================================================================================

[1 Comment](https://drdobbs.com/architecture-and-design/thriving-among-the-apis/240169441#disqus_thread)

You're about to start work on designing and publishing your product's API. Now what? - [Design](/architecture-and-design)

[The Long Death of Project Hosting Sites](/web-development/the-long-death-of-project-hosting-sites/240169394)

=============================================================================================================

[4 Comments](https://drdobbs.com/web-development/the-long-death-of-project-hosting-sites/240169394#disqus_thread)

Last month, Microsoft and Google bypassed their own code hosts to post major code projects on GitHub. The once-favored hosts have begun a long, familiar decline. - [Web Development](/web-development)

[Testing for Failures with Python](/testing/testing-for-failures-with-python/240169387)

=======================================================================================

[Post a Comment](https://drdobbs.com/testing/testing-for-failures-with-python/240169387#disqus_thread)

Writing solid code means knowing that when programs fail, they do so gracefully and predictably. Unit testing verifies this. - [Testing](/testing)

[We Need More Agile IT Now!](/architecture-and-design/we-need-more-agile-it-now/240169361)

==========================================================================================

[1 Comment](https://drdobbs.com/architecture-and-design/we-need-more-agile-it-now/240169361#disqus_thread)

While IT is becoming more Agile, the rate of change in business requires even faster adoption of Agility. - [Design](/architecture-and-design)

[Clarity of Goals: The Most Important Element of Product Success](/architecture-and-design/clarity-of-goals-the-most-important-elem/240169360)

==============================================================================================================================================

[Post a Comment](https://drdobbs.com/architecture-and-design/clarity-of-goals-the-most-important-elem/240169360#disqus_thread)

Complete clarity and constant communication of goals are as important to a product's success as execution, perhaps more so. - [Design](/architecture-and-design)

[Building Node.js Projects in Visual Studio](/tools/building-nodejs-projects-in-visual-studi/240169356)

=======================================================================================================

[Post a Comment](https://drdobbs.com/tools/building-nodejs-projects-in-visual-studi/240169356#disqus_thread)

Developing server-side apps with the popular Node.js framework can now be done with the full support of Visual Studio IntelliSense, debugging, and project management. - [Tools](/tools)

[All Articles »](/articles/archives?startAt=8)

Events of Interest

==================

December 11-12. Washington, D.C. [ModevCon](https://mdc.gomodev.com/)

March 2-6, 2015 London, UK. [QCon London](https://qconlondon.com/)

March 5-8, 2015. Recife, Brazil. [Tropical Ruby](https://tropicalrb.com/)

March 17-19, 2015. Boston, MA. [O'Reilly Software Architecture Conference](https://softwarearchitecturecon.com/sa2015)

March 23-24, 2015. Palo Alto, CA. [Evans Data's 11th Annual Developer Relations Conference](https://evansdata.com/drc/2015/register.php)

April 8-16, 2015. Montreal, Canada. [PyCon 2015](https://us.pycon.org/2015/)

April 27-30, 2015. Baltimore, MD. [11th Software Engineering Institute (SEI) Architecture Technology User Network (SATURN) Conference](https://www.sei.cmu.edu/saturn/2015/)

May 4-8, 2015. Chicago, IL. [Microsoft Ignite Conference](https://ignite.microsoft.com/)

May 12-14, 2015. Zaragoza, Spain.[Protocols Plugfest Europe 2015](https://www.protocolsplugfest.com/europe/)

Videos of Past Events

=====================

September 2014. [Atlassian Summit 2014](https://summit.atlassian.com/archives/2014/keynotes/summit-2014-keynote)

September 2013. [JavaOne](https://www.oracle.com/javaone/sessions/index.html)

June 2013. [JAXConf 2013](https://marakana.com/s/post/1467/jaxconf_2013_video)

May 2013. [Google I/O](https://developers.google.com/events/io/sessions )

October 2012. [JAXLondon 2012](https://www.youtube.com/user/JAXLondonConference)

September 2012. [Strangeloop](https://github.com/strangeloop/strangeloop2012/tree/master/slides/sessions)

July 2012. [Java Language Summit](https://www.oracle.com/technetwork/java/javase/community/jvmls2012-1840099.html)

June 2012. [Google I/O 2012](https://www.drdobbs.com/web-development/google-io-2012-keynote/240003560?queryText=Google)

May 2012. [Atlassian Summit](https://www.drdobbs.com/tools/atlassian-summit/240003558)

May 2012 (paid). [Fluent Conference](https://shop.oreilly.com/product/0636920026846.do)

March 2012. [Multicore World](https://vimeo.com/album/2007822)

July 2011. [JVM Language Summit](https://www.drdobbs.com/jvm/jvm-language-summit---getting-started-gu/231600443)

News Headlines

==============

*   **[biicode 2.0 Is Buzzing](/cpp/biicode-20-is-buzzing/240169447)**

*   [Tools To Build Payment-Enabled Mobile Apps](/cloud/tools-to-build-payment-enabled-mobile-ap/240169446)

*   [Application Intelligence For Advanced Dummies](/tools/application-intelligence-for-advanced-du/240169443)

*   [Java Plumbr Unlocks Threads](/jvm/java-plumbr-unlocks-threads/240169442)

*   [Parallels Supports Docker Apps](/mobile/parallels-supports-docker-apps/240169438)

*   [AppGyver AppArchitect 2.0 Appears](/mobile/appgyver-apparchitect-20-appears/240169436)

*   [Google's Data Processing Model Hardens Up](/cloud/googles-data-processing-model-hardens-up/240169435)

*   [Did Barcode Reading Just Get Interesting?](/web-development/did-barcode-reading-just-get-interesting/240169433)

*   [20x Faster Test Scripting, Seriously](/testing/20x-faster-test-scripting-seriously/240169432)

*   [SmartBear Supports Selenium WebDriver](/web-development/smartbear-supports-selenium-webdriver/240169426)

*   [Xamarin Editions of IP\*Works! & Integrator](/windows/xamarin-editions-of-ipworks-integrator/240169417)

*   [JetBrains Upsource 1.0 Final Release](/jvm/jetbrains-upsource-10-final-release/240169415)

[More »](/news)

Most Popular

------------

[Stories](#) [Blogs](#)

*   [RESTful Web Services: A Tutorial](/web-development/restful-web-services-a-tutorial/240169069)

*   [Lambda Expressions in Java 8](/jvm/lambda-expressions-in-java-8/240166764)

*   [Developer Reading List: The Must-Have Books for JavaScript](/tools/developer-reading-list-the-must-have-boo/240148421)

*   [An Algorithm for Compressing Space and Time](/jvm/an-algorithm-for-compressing-space-and-t/184406478)

*   [Why Build Your Java Projects with Gradle Rather than Ant or Maven?](/jvm/why-build-your-java-projects-with-gradle/240168608)

*   [](/)

*   [](/)

*   [Read/Write Properties Files in Java](/jvm/readwrite-properties-files-in-java/231000005)

*   [Coding the JavaFX TableView](/jvm/coding-the-javafx-tableview/240001874)

*   [Easy DOM Parsing in Java](/jvm/easy-dom-parsing-in-java/231002580)

*   [C++11: unique\_ptr](/cpp/c11-uniqueptr/240002708)

*   [Making HTTP Requests From Java](/jvm/making-http-requests-from-java/240160966)

*   [](/)

*   [](/)

This month's Dr. Dobb's Journal

-------------------------------

[](/digital/20141022?k=ddjtm&cid=onedit_ds_ddjtm)

[**This month**](/digital/20141022?k=ddjtm&cid=onedit_ds_ddjtm), Dr. Dobb's Journal is devoted to mobile programming. We introduce you to Apple's new Swift programming language, discuss the perils of being the third-most-popular mobile platform, revisit SQLite on Android , **[and much more!](/digital/20141022?k=ddjtm&cid=onedit_ds_ddjtm)**  

[Download the latest issue today. >>](/digital/20141022?k=ddjtm&cid=onedit_ds_ddjtm)

Upcoming Events

---------------

[Live Events](#tab_live-events "Live Events") [WebCasts](#tab_webcasts "WebCasts")

No records found

*   [Changing Network Architecture Investments](https://networkcomputing.tradepub.com/c/pubRD.mpl?secure=1&sr=pp&_t=pp:&qf=w_defa4434&ch=sbx&cid=SBX_ddj_fture_Webcast_default_home&itc=SBX_ddj_fture_Webcast_default_home&K=SBX_DDJ_FT)

*   [Optimizing Your Enterprise IT Architecture to Support Hybrid Work](https://www.interop.com/may24-event?keycode=sbx&cid=SBX_ddj_fture_Webcast_default_home&itc=SBX_ddj_fture_Webcast_default_home&K=SBX_DDJ_FT)

*   [Understanding Cyber Attacks on Remote Workers](https://webinar.darkreading.com/1316037?keycode=sbx&cid=SBX_ddj_fture_Webcast_default_home&itc=SBX_ddj_fture_Webcast_default_home&K=SBX_DDJ_FT)

*   [Demystifying IT Automation Virtual Event 4/6](https://ve.informaengage.com/virtual-events/itpro-demystifying-it-automation/?code=iwk?keycode=sbx&cid=SBX_ddj_fture_Webcast_default_home&itc=SBX_ddj_fture_Webcast_default_home&K=SBX_DDJ_FT)

*   [Ransomware and BEC in the Cyber Threat Landscape: Past vs. Present, Perception vs. Reality](https://webinar.darkreading.com/1317708?keycode=sbx&cid=SBX_ddj_fture_Webcast_default_home&itc=SBX_ddj_fture_Webcast_default_home&K=SBX_DDJ_FT)

[More Webcasts\>>](/webcast/all/more.html?cid=SBX_ddj_fture_Webcast_default_home?itc=SBX_ddj_fture_Webcast_default_home)

Featured Reports

----------------

[What's this?](# "UBM Smart boxes auto deliver premium content that is contextually relevant to the article or site section where it is located")

*   [State of ITSM in Manufacturing](https://techlibrary.tradepub.com/c/pubRD.mpl?secure=1&sr=pp&_t=pp:&pc=w_tean83&ch=SBX&cid=SBX_ddj_fture_Analytics_default_home&itc=SBX_ddj_fture_Analytics_default_home)

*   [The Foundation for Building Scalable Applications to Fuel Customer Satisfaction and Growth](https://www.informationweek.com/whitepaper/big-data-analytics/big-data/insights-platform-the-foundation-for-building-scalable-applications-to-fuel-customer-satisfaction-and-growth-/436443?keycode=sbx&cid=SBX_ddj_fture_Analytics_default_home&itc=SBX_ddj_fture_Analytics_default_home)

*   [The 2021 Security Outcomes Study](https://informationweek.com/whitepaper/cybersecurity/security/the-2021-security-outcomes-study/428733?cid=SBX_ddj_fture_Analytics_default_home&itc=SBX_ddj_fture_Analytics_default_home)

*   [State of the Intelligent Information Management Industry in 2021](https://informationweek.com/whitepaper/software/information-management/state-of-the-intelligent-information-management-industry-in-2021/429133?cid=SBX_ddj_fture_Analytics_default_home&itc=SBX_ddj_fture_Analytics_default_home)

*   [Why You're Wrong About Operationalizing AI](https://informationweek.com/whitepaper/big-data-analytics/big-data/why-you're-wrong-about-operationalizing-ai/428503?gset=yes&&cid=SBX_ddj_fture_Analytics_default_home&itc=SBX_ddj_fture_Analytics_default_home)

[More >>](/analytics/all/more.html?cid=SBX_ddj_fture_Analytics_default_home?itc=SBX_ddj_fture_Analytics_default_home)

Featured Whitepapers

--------------------

[What's this?](# "UBM Smart boxes auto deliver premium content that is contextually relevant to the article or site section where it is located")

*   [Modernize your Security Operations with Human-Machine Intelligence](https://www.informationweek.com/whitepaper/security-management-and-analytics/cybersecurity/modernize-your-security-operations-with-human-machine-intelligence/438993?cid=SBX_ddj_fture_wp_default_home&itc=SBX_ddj_fture_wp_default_home)

*   [Get the Gartner Report: SOC Model Guide](https://www.informationweek.com/whitepaper/cybersecurity/security-monitoring/get-the-gartner%C2%AE-report-soc-model-guide/436493?cid=SBX_ddj_fture_wp_default_home&itc=SBX_ddj_fture_wp_default_home)

*   [The Impact of XDR in the Modern SOC](https://www.informationweek.com/whitepaper/cybersecurity/security-platforms/the-impact-of-xdr-in-the-modern-soc/436353?cid=SBX_ddj_fture_wp_default_home&itc=SBX_ddj_fture_wp_default_home)

*   [5 Reasons To Move your PKI Deployment to the Cloud](https://www.informationweek.com/whitepaper/cybersecurity/security/5-reasons-to-move-your-pki-deployment-to-the-cloud/436303?cid=SBX_ddj_fture_wp_default_home&itc=SBX_ddj_fture_wp_default_home)

*   [2021 Gartner Market Guide for Managed Detection and Response Report](https://www.informationweek.com/whitepaper/cybersecurity/endpoint-security/2021-gartner-market-guide-for-managed-detection-and-response-report/436213?cid=SBX_ddj_fture_wp_default_home&itc=SBX_ddj_fture_wp_default_home)

[More >>](/whitepaper/all/more.html?cid=SBX_ddj_fture_wp_default_home?itc=SBX_ddj_fture_wp_default_home)

Most Recent Premium Content

---------------------------

[Digital Issues](/digitaledition/)

**2014**  

**Dr. Dobb's Journal***   [November - **Mobile Development**](https://www.drdobbs.com/digital/20141022)

*   [August - **Web Development**](https://dc.ubm-us.com/i/350594)

*   [May - **Testing**](https://dc.ubm-us.com/i/300036/)

*   [February - **Languages**](https://dc.ubm-us.com/i/245989)

**Dr. Dobb's Tech Digest**  

*   [DevOps](https://www.drdobbs.com/digital/20140813)

*   [Open Source](https://www.drdobbs.com/digital/20140626)

*   [Windows and .NET programming](https://www.drdobbs.com/digital/20140514/)

*   [The Design of Messaging Middleware and 10 Tips from Tech Writers](https://www.drdobbs.com/digital/012914/)

*   [Parallel Array Operations in Java 8 and Android on x86: Java Native Interface and the Android Native Development Kit](https://www.drdobbs.com/digital/022614)

**2013***   [January - **Mobile Development**](https://www.drdobbs.com/digital/121712/?cid=ddj_premium_January2013)

*   [February - **Parallel Programming**](https://www.drdobbs.com/digital/012213/?cid=ddj_premium_February2013)

*   [March - **Windows Programming**](https://www.drdobbs.com/digital/022513/?cid=ddj_premium_March2013)

*   [April - **Programming Languages**](https://www.drdobbs.com/digital/032513/?cid=ddj_premium_April2013)

*   [May - **Web Development**](https://www.drdobbs.com/digital/042213/?cid=ddj_premium_May2013)

*   [June - **Database Development**](https://www.drdobbs.com/digital/052013/?cid=ddj_premium_June2013)

*   [July - **Testing**](https://www.drdobbs.com/digital/062413/?cid=ddj_premium_July2013)

*   [August - **Debugging and Defect Management**](https://www.drdobbs.com/digital/072213/?cid=ddj_premium_August2013)

*   [September - **Version Control**](https://www.drdobbs.com/digital/082613)

*   [October - **DevOps**](https://www.drdobbs.com/digital/092313/)

*   [November- **Really Big Data**](https://www.drdobbs.com/digital/102113)

*   [December - **Design**](https://www.drdobbs.com/digital/111113?k=ddjtm&cid=onedit_ds_ddjtm)

**2012***   [January - **C & C++**](https://www.drdobbs.com/digital/121911/?cid=ddj_premium_January2012)

*   [February - **Parallel Programming**](https://www.drdobbs.com/digital/011912/?cid=ddj_premium_February2012)

*   [March - **Microsoft Technologies**](https://www.drdobbs.com/digital/021912/?cid=ddj_premium_March2012)

*   [April - **Mobile Development**](https://www.drdobbs.com/digital/031912/?cid=ddj_premium_April2012)

*   [May - **Database Programming**](https://www.drdobbs.com/digital/042312/?cid=ddj_premium_May2012)

*   [June - **Web Development**](https://www.drdobbs.com/digital/052112/?cid=ddj_premium_June2012)

*   [July - **Security**](https://www.drdobbs.com/digital/061812/?cid=ddj_premium_July2012)

*   [August - **ALM & Development Tools**](https://www.drdobbs.com/digital/072312/?cid=ddj_premium_August2012)

*   [September - **Cloud & Web Development**](https://www.drdobbs.com/digital/082012/?cid=ddj_premium_September2012)

*   [October - **JVM Languages**](https://www.drdobbs.com/digital/092412/?cid=ddj_premium_October2012)

*   [November - **Testing**](https://www.drdobbs.com/digital/102212/?cid=ddj_premium_November2012)

*   [December - **DevOps**](https://www.drdobbs.com/digital/111912/?cid=ddj_premium_December2012)

Techweb