BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Development Content on InfoQ

  • Enhanced Streams Processing with Kotlin’s Sequence Interface

    Data structures are an intrinsic part of every programming language, yet Java’s Stream interface lacks vital operations and its complex approach to extensibility gave rise to alternative libraries such as jOOλ and Guava. This article provides an alternative approach that can be easily integrated in any Java project using Kotlin's Sequence interface.

  • Learning from Incidents

    Jessica DeVita (Netflix) and Nick Stenning (Microsoft) have been working on improving how software teams learn from incidents in production. In this article, they share some of what they’ve learned from the research community in this area, and offer some advice on the practical application of this work.

  • Performance Analysis for Arm vs x86 CPUs in the Cloud

    In this article, the author uses AWS’s Arm (Graviton2) and x86_64 (Intel) EC2 instances to evaluate computational performance across different software runtimes, including Docker, Node.js, and WebAssembly. Our conclusion is that Arm is more cost effective in the cloud, especially with lightweight runtimes that are close to the underlying operating system.

  • Five Reasons You Shouldn't Reproduce Issues in Remote Environments

    Bugs are an unavoidable part of software development and also one of the biggest time sinks developers face when building software. One way we waste time when working on bugs is trying to reproduce issues in remote test environments. There are some circumstances where this is a wise approach and some where it is a waste. Knowing the difference is an important skill.

  • Java Feature Spotlight: Pattern Matching

    Java SE 14 (March 2020) introduced a limited form of pattern matching as a preview feature, which becomes a permanent feature in Java SE 16 (March 2021). The first phase of pattern matching is limited to one kind of pattern (type patterns) and one language construct (instanceof), but this is only the first installment in a longer feature arc.

  • The Kollected Kode Vicious Review and Author Q&A

    Addison Wesley Professional The Kollected Kode Vicious by George V. Neville-Neil aims to provide thoughtful and pragmatic insight into programming to both experienced and younger software professionals on a variety of different topics related to programming. InfoQ has taken the chance to speak with author Neville-Neil about his book.

  • Interview about JavascriptLandia, the Openjs New Individual Contributor Program

    JavaScriptLandia is a new initiative by the OpenJS foundation that aims at individuals who wish to participate in the activities of the openJS foundations and contribute to open-source projects. To learn more about JavaScriptLandia and the challenges behind open-source projects we talk with Sara Chipps, a member of the OpenJS cross-project council who leads the initiative.

  • How Teams Can Overcome the Security Challenges of Agile Web App Development

    Is the rapid pace of continuous rollouts making it too easy for your organization to cut corners when it comes to ensuring product source code is secure? You may need to reorient your team culture to adopt agile-friendly security processes. True collaboration between security and dev teams is the key to avoiding product vulnerabilities without compromising on your sprint cadence.

  • Donkey: a Highly-Performant HTTP Stack for Clojure

    Donkey is the product of the quest for a highly performant Clojure HTTP stack aimed to scale at the rapid pace of growth we have been experiencing at AppsFlyer, and save us computing costs. In this article, we’ll briefly outline the use-case for a library like Donkey and present our benchmarks. Finally, we will discuss Clojure and immutability, and some of our design decisions.

  • Writing Firebase Apps on Windows, Mac, and Linux Using Electron

    Electron-Firebase provides a quickstart framework for building cloud-connected applications on Windows, macOS, and Linux. By integrating Electron and Firebase, just a few configuration settings allow you to include a complete authentication workflow into your app using email/password, phone number, Google, Facebook, or many other identity providers.

  • Go Language at 13 Years: Ecosystem, Evolution, and Future in Conversation with Steve Francia

    Go was started more than a decade ago in the Engineering department at Google. It was designed with the purpose of providing an easy-to-learn programming language that would allow to develop Google's systems at the next level. In the past decade, the language became more and more stable, currently being used for implementing some of the most popular tools on the web (Kubernetes, Terraform etc.).

  • Key Sprint Metrics to Increase Team Dependability

    What are the questions you should be asking and what behaviours should you be measuring within your Scrum teams in order to improve overall dependability and delivery efficiency? We explore how you can transform your Sprints into the building blocks for success and ensure you can continue to meet (and even surpass) long-term user and business expectations.

BT