InfoQ Homepage Articles
-
Retrospectives Applied as “PROspectives"
We can view situations in our work as opportunities from which to learn how to better handle similar situations in future, by looking back and asking “How will I deal with future situations like this to improve my results?” PROspectives help us to reflect more often, independently of acute, unexpected problems and without time pressure, to uncover ideas for future improvements.
-
Oleg Shilo on CS-Script and Notepad++
When you just want to try out some code, Visual Studio can feel like overkill. So some developers turn to lightweight editors such as Notepad++ for their scripting needs. Oleg Shilo talks about his project to add better CS-Script plugin for Notepad++.
-
Building a Real-time, Personalized Recommendation System with Kiji
Jon Natkins explains in this article how to create a personalized recommendation system fed with large amounts of real-time data using Kiji, which leverages HBase, Avro, Map-Reduce and Scalding.
-
Visualizing Java Garbage Collection
Garbage Collection, like Backgammon takes minutes to learn and a lifetime to master. In this article Master trainer/consultant Ben Evans summarizes his recent InfoQ presentation "Visualizing Garbage Collection" where he discusses Garbage Collection from the ground up.
-
Book Review and Author Q&A - Explore It! by Elisabeth Hendrickson
Elisabeth Hendrickson has released a book on the practices, techniques and mindset of exploratory testing. Sharon Robson reviewed the book and raised some questions with the author.
-
PyParallel: A Fast Parallel Version of Python
By combining asynchronous I/O with a shared-nothing architecture, PyParallel research project is able to execute code in a parallel context faster than it can using CPython’s normal interpreter. And it does this without removing the GIL. The secret, no reference counting or garbage collection of any kind.
-
Architecture and Agility: Married, Divorced, or Just Good Friends?
This article describes the relationship between architecture and process of software development and how architecture can responds to a set of needs, such as functional requirements, operational characteristics, and developer habitability. It also talks about the role of pragmatic architects when working with developers and stakeholders.
-
The Gentle Art of Running a Lean Startup
Yiannis relates the practices and approach of running a Lean Startup organisation with the skills and disciplines needed in the martial arts through his practice of Brazilian Jiu-Jitsu. He shows how the underlying practices of both are very similar and how understanding the martial arts approach can assist in conserving energy and maximising outcomes in a lean startup organisation.
-
Cassandra CLI Internals Using JArchitect
Cassandra CLI is a useful tool for Cassandra administrators. It's a good example of how to implement a Cassandra client and CLI internals help us to develop custom Cassandra clients or even extend the CLI tool. In this article, author explores Cassandra CLI architecture model using JArchitect tool and CQLinq language to analyze its code base.
-
Don’t jump the SQL ship just yet
The SQL language has been evolving steadily over the last two decades. At the same time, the verbosity caused by the JDBC API in Java client code and the lack of first class SQL support within the Java language have led to the introduction of ORMs such as Hibernate, which was later standardised into JPA and the Criteria API.If SQL and JPA are diverging, where will our data interaction patterns go?
-
Introduction to Graph Visualization with Alexander Smirnov
To help the user understand what they are seeing, developers often turn to bar and pie charts. But that only works for discrete data; when at the links between data other tools come into play. We asked Alexander Smirnov, creator of GraphX, to explain what graph visualization is and how it can be used.
-
Spreading CMMI Practices among Agile Teams in Big Organizations
Agile methodologies have become mainstream because they provide a better fit to the modern, changing software world. CMMI is a cross-organizational approach which has proven successful in terms of quality assurance and cost when executed properly. Big organizations with self-organized agile teams can achieve technical maturity levels, by using a common metalanguage and a good-practices catalog.