InfoQ Homepage Design Content on InfoQ
-
Advanced Data Visualization: HTML5 and Risk Analysis
Fabrice Aresu discusses the challenges faced using HTML5 and data visualization at a large European Investment Bank, covering performance, architectural & design choices, and lessons learnt.
-
High Performance Reactive Applications with Vert.x
Tim Fox discusses the design principles and motivation behind Vert.x and why the future is reactive.
-
Designing for Language - And We Mean the Spoken Kind
Terena Bell underlines the importance of designing applications for multiple languages including right-to-left ones in an age of rapid globalization.
-
Refactoring in Java, Scala, and Clojure
Glen Peterson uses the Expression Problem to compare refactoring in Java, Scala and Clojure, showing how traits minimize changes in Scala when an interface changes and how Clojure avoids some issues.
-
Clojure in the Large
Stuart Sierra discusses various Clojure features: protocols, records, DI, managing startup/shutdown of components, dynamic binding, interactive development workflow, testing and mocking.
-
Make It Great: Refactoring That’s Smart and Satisfying
Ann Robson discusses how to develop standards, approach refactoring in a safe and practical way, and track the evolution of a code with tools and metrics.
-
The Secret Lives of Garbage Collectors
Jonathan Worthington explains the garbage collection terminology, the trade-offs made by GC designers, and how to write GC-friendly code for better performance.
-
Applied API Design
Jon Skeet provides practical advice on designing APIs using immutability, separation of concerns and other principles, resulting in elegant and reusable code.
-
Mechanical Sympathy
Martin Thompson ponders if there is a mechanical sympathy between developers and computers, and how to balance elegant design with the application of science in the development of modern software.
-
How to Make the Most of Code Analysis?
Patrick Smacchia shares code analysis-related practices - structuring code, measuring code quality, automated tests, code contracts, reporting progress, trending- based on his experience with NDepend.
-
How JavaScript Objects are Implemented
Eddy Bruel details how objects are implemented internally in SpiderMonkey as shape trees and slot vectors to minimize the memory footprint and obtain better JIT optimization with inline caching.
-
Fault Tolerance Made Easy
Uwe Friedrichsen discusses implementing resilient software design patterns (code included) and improving those patterns to achieve robustness and becoming a resilient software developer.