BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles

  • An In-Depth Look at Clojure Collections

    If you're familiar with Clojure, then you may know that at its heart lays a powerful set of immutable, persistent, collection types. This article covers the underpinnings of these collection types including a deep dive into a couple of them; namely vectors and maps, and presents an example of how viewing a problem through the lens of the "Clojure way" can greatly simply a design.

  • Phil Abernathy on Agile Governance and Suncorp's Agile Transition

    Phil Abernathy discusses the Sun Corp Agile journey - taking a 19000 person banking and insurance organization formed by the merger of two companies with over 4000 IT staff Agile from the top down. He talks about handling governance and change management, implementing Agile on mainframe projects and the impact of Agile in the heavily regulated financial industry in Australia.

  • Resource-Oriented Architecture: Information, Not Containers

    The Web is known primarily as a Web of Documents because that has been our main experience with it, but we should not ignore the idea of documents as a data source. New technologies are emerging to make it easier to encode extractable content on the Web. This article focuses on how producers can increase the machine-processability of the documents they produce.

  • Using DNS for REST Web Service Discovery

    Service Discovery is an essential aspect of service orientated architecture because it avoids early binding of clients to particular service instances. In this article, Jan Algermissen explains the need for discovery of RESTful services, and explains how the existing Domain Name Service (DNS) standard can be used as a widely-deployed and scalable solution.

  • Learnings from Five Years as a Skype Architect

    Too often in our work as architects and designers we focus on the task at hand, seldom reflecting on the past. We should really know better, how else do we improve? This article by Andres Kutt summarizes six learnings from 55 months as an architecture team lead at Skype. Some of them are technical while some focus upon the softer aspects of an architect's work.

  • JSR 292 and the Multi-lingual JVM

    Java 7 is looking to improve support for dynamic languages using the Java Virtual Machine for their runtime environment. John Rose has been leading a project to explore some options, and JSR 292 will standardise some of this work for Java 7. InfoQ takes a look at the problems JSR 292 solves, and talks to JRuby lead Charles Nutter to find out more about InvokeDynamic in practice.

  • NoSQL in the Enterprise

    In this article, Sourav Mazumder explores what NoSQL databases are, how they fit into Enterprise IT, the challenges facing enterprise adoption, how to choose the appropriate NoSQL database for a given application, a short list of NoSQL databases which are likely to be good matches for enterprise applications, and advice for how to adopt NoSQL databases within an enterprise.

  • Unit and Integration Testing for GWT Applications

    Bertrand Paquet and Gael Lazzari of Octo Technology explore Unit Testing GWT applications and introduce their own open source gwt-test-utils framework to support unit and integration testing of GWT code with standard tools such as JUnit and Easymock.

  • Book Excerpt and Interview: jBPM Developer Guide

    A new book by Mauricio "Salaboy" Salatino, the jBPM Developer Guide, provides a detailed jBPM programming guide for Java developers with several real-life examples. InfoQ spoke with Salatino to learn the motivations behind the book and learn from his experience both using and writing about the jBPM Business Process Management suite.

  • Inotify: Efficient, Real-Time Linux File System Event Monitoring

    The need to scan a given filesystem for changes is a fairly common one, and there are a variety of common tasks which need this. A framework which offers real-time event notification for Linux file system events is Inotify. In this article we will walk through how to use Inotify to monitor directories and trigger alerts on changes and present tools you might want to add to your personal toolbox.

  • Code Contracts in C#

    This article discusses the concepts and ideas of Code Contracts and the way they are handled in C#. Unless you happen to have used a language supporting Design by Contract before, you may sometimes find yourself unsure of how to proceed with Code Contracts. If you're using it in conjunction with Test Driven Development, what should you write first - the contract or the implementation?

  • Implementing Google's "Did you mean" Feature In Java

    Leandro Moreira shows how to implement a domain specific version of Google’s “Did you mean” feature based on the SpellChecker project in the Apache Lucene sandbox using thee alternative algorithms (Levenshtein, Jaro-Winkler and N-gram).

BT