InfoQ Homepage Development Content on InfoQ
-
Why Should We Care about Technology Ethics? The Updated ACM Code of Ethics
The 2018 rewrite of the ACM code of ethics and professional conduct has brought it up-to-date with new technologies and societal demands. This code supports the ethical conduct of computing professionals through a set of guidelines for positively working in the tech industry.
-
WebAssembly and Blazor: A Decades Old Problem Solved
A framework, named Blazor because it runs in the browser and leverages a templating system or "view engine" called Razor, enables the scenario .NET developers almost gave up on. It doesn't just allow developers to build client-side code with C#, but also allows developers to run existing .NET Standard DLLs in the browser without a plugin. Here's the story of WebAssembly and Blazor.
-
Being an Ethical Software Engineer
Our lives are improving because of technology. Software engineering is one of the more influencing practices we have today that is shaping society, but it doesn’t look like the industry is owning this social responsibility. At the end of the day, it’s not just about being better developers, but rather about being better people.
-
Towards a Unified, Standard API for Consolidating Service Meshes
Service mesh architectures enable a control and observability loop. At the moment, service mesh implementations vary in regard to API and technology, and this shows no signs of slowing down. Building on top of volatile APIs can be hazardous. Here we suggest to use a simplified, workflow-friendly API to shield organization platform code from specific service-mesh implementation details.
-
How to Mitigate the Pain of Getting and Giving Feedback
Companies that encourage open and honest feedback do better than companies that do not. Nonetheless, giving feedback is difficult because social and physical pain share some of the same neural circuitry. Hence, feedback can feel physically painful, as Sarah Hagan discusses in her 2018 QCon San Francisco talk . Hagan uses scientific research to demonstrate how to give feedback properly.
-
Deploying Docker Containers Using an AWS CodePipeline for DevOps
In this walkthrough, learn how to perform continuous integration and deployment of Docker containers with no downtime using AWS CodePipeline and Amazon Elastic Container Service (ECS).
-
Application Integration for Microservices Architectures: A Service Mesh Is Not an ESB
A service mesh is only meant to be used as infrastructure for communication between services, and developers should not be building any business logic inside the service mesh. Other frameworks and libraries can be used to implement cloud native enterprise application integration patterns.
-
Architecture with 800 of My Closest Friends: The Evolution of Comcast’s Architecture Guild
Comcast has cultivated an Architecture Guild, with the goal of "threading the needle" between obtaining advantageous critical mass around certain common technologies without undermining individual teams' agency. The Architecture Guild is a grassroots framework that has been used to cut across organizational boundaries to identify solid, workable, default recommendations.
-
Real-Time Data Processing Using Redis Streams and Apache Spark Structured Streaming
Structured Streaming, introduced with Apache Spark 2.0, delivers a SQL-like interface for streaming data. Redis Streams enables Redis to consume, hold and distribute streaming data between multiple producers and consumers. In this article, author Roshan Kumar walks us through how to process streaming data in real time using Redis and Apache Spark Streaming technologies.
-
Test-Driven Development: Really, It’s a Design Technique
Using a step-by-step example in Java, this article provides a practical example of how to use test-driven development (TDD) to divide, test, and conquer larger problems when coding.
-
The Potential for Using a Service Mesh for Event-Driven Messaging
In this article, we discuss one of the most challenging and unexplored areas in service mesh architecture; supporting event-driven messaging. There are two main architectural patterns that we discuss here: the protocol proxy sidecar, and the HTTP bridge sidecar. Regardless of the pattern that is used, the sidecar can facilitate features such as observability, throttling, tracing etc.
-
Open Source Robotics: Getting Started with Gazebo and ROS 2
An introduction to Gazebo, a powerful robot simulator that calculates physics, generates sensor data and provides convenient interfaces, and ROS 2, the latest version of the Robot Operating System, which offers familiar tools and capabilities, while expanding to new use cases. Both are open source and used by academia and industry alike.