InfoQ Homepage Programming Content on InfoQ
-
How to Collect Pieces of Data
Pieces, a new JavaScript library I have created, takes these two problems of routing and page transitions and tackles them together. After all, they're both concerned with what happens when the app changes from one view to another. The idea is that the developer creates the individual pages and lets Pieces worry about everything involved in changing between them.
-
Q&A on the Book AI Crash Course
The book AI Crash Course by Hadelin de Ponteves contains a toolkit of four different AI models: Thompson Sampling, Q-Learning, Deep Q-Learning and Deep Convolutional Q-learning. It teaches the theory of these AI models and provides coding examples for solving industry cases based on these models.
-
JavaScript and Web Development InfoQ Trends Report 2020
The web development space is always an interesting one for us, with new JavaScript projects launched almost daily. Trying to decide which ones to focus on and which ones to ignore is particularly challenging. Developers can learn and gather inspiration from interesting approaches even if they do not currently use them in their daily development efforts.
-
Has an AI Cyber Attack Happened Yet?
AI cyber attacks have happened and are happening, with increasing regularity. This article looks at recent attacks, the role of bots, and defense strategies you can employ.
-
Build Great Native CLI Apps in Java with Graalvm and Picocli
Compared to other choices, Java is not that convenient for creating simple command-line driven apps - largely due to the need to distribute a sizable runtime. The combination of GraalVM and Picocli aims to change that, by providing native compilation alongside an easy, modern way to handle command-line args.
-
Tutorial: Writing Microservices in Kotlin with Ktor—a Multiplatform Framework for Connected Systems
Ktor (pronounced Kay-tor) is a framework built from the ground up using Kotlin and coroutines. It is a great fit for applications that require HTTP and/or socket connectivity. These can be HTTP backends and RESTful systems, whether or not they’re architectured in a microservice approach.
-
Q&A on the Book Surrounded by Idiots
The book Surrounded by Idiots by Thomas Erikson provides a method for assessing behaviors of people we communicate with. This method can help to increase our understanding of how people communicate and to better communicate and collaborate with people. It will also give you a better self-awareness.
-
Functional UI - a Model-Based Approach
Functional UI techniques rely on the functional relation between events processed by the user interface and the actions performed by the interface. If the user interface has discrete modes in which its behavior can be expressed simply, a modelization with state machines is an advantageous functional UI technique. This article explains the technique, its benefits and how it is used in the industry.
-
Software, Aesthetics, and Craft: How Java, Lisp, and Agile Shape and Reflect Their Culture
The software industry styles itself on architecture and construction, but rarely discusses aesthetics.
-
Mono: from Xamarin to WebAssembly, Blazor, and .NET 5 - Q&A with Miguel de Icaza
Mono started as an open source .NET platform in 2001, being developed by Xamarin until 2011. Since the company’s acquisition by Microsoft in 2016, both Mono and .NET Core have been developed in parallel. In the light of the most recent releases, InfoQ interviewed Miguel de Icaza —the original author of the Mono project—to talk about the current state of Mono and its future in the .NET ecosystem.
-
Q&A on the Book Righting Software
The book Righting Software by Juval Löwy provides a structured way to design a software system and the project to build it. Löwy proposes to use volatility-based decomposition to encapsulate changes inside the system’s building blocks, and explains how to design the project in order to provide decision makers with several viable options trading schedule, cost, and risk.
-
Java 14 Feature Spotlight: Records
Java SE 14 (March 2020) introduces records (jep359) as a preview feature. Records aim to enhance the language's ability to model "plain data" aggregates with less ceremony. In this article Java Language Architect Brian Goetz takes a deep dive into the feature.