InfoQ Homepage Artifacts & Tools Content on InfoQ
-
The Rise of Energy and Water Consumption Using AI Models, and How It Can Be Reduced
Artificial intelligence's (AI) energy and water consumption has become a growing concern in the tech industry, particularly for large-scale machine learning models and data centers. Sustainable AI focuses on making AI technology more environmentally friendly and socially responsible.
-
Why We Should Care about Accessible Websites and How to Do It
Web accessibility ensures content is usable by people with disabilities. According to Joanna Falkowska, it can give a competitive edge, improve SEO, and support basic human rights. She emphasizes using WCAG standard and making accessibility a shared team responsibility from the start of development, to prevent costly fixes later in the process.
-
From Architecture to Deployment: How AI-Powered Toolkits Are Unifying Developer Workflows
Developer tooling is undergoing a shift as AI moves beyond code completion to unify multiple stages of the software development workflow.
-
Cultivating a Culture of Resilience in Software Organizations
Resilience helps individuals and organizations respond to challenges. Personal resilience is built through adapting, technical resilience by mastering a variety of tools, and organizational resilience through flexibility and strong networks. In fast-changing software industries, recognizing tech shifts and fostering learning, flexibility, and collaboration, enhances resilience.
-
Inflection Points in Engineering Productivity for Improving Productivity and Operational Excellence
As companies grow, investing in custom developer tools may become necessary. Initially, standard tools suffice, but as companies scale in engineers, maturity, and complexity, industry tools may no longer meet needs. Inflection points, such as a crisis, hyper-growth, or reaching a new market, often trigger investments, providing opportunities for improving productivity and operational excellence.
-
Learning from Embedded Software Development for the Space Shuttle and the Orion MPCV
Software development is much different today than it was at the beginning of the Space Shuttle era because of the tools that we have. But the art and practice of software engineering has not progressed that much since the early days of software development. Compilers are much better and faster, and debuggers are now integrated into development tools, making the task of error detection easier.
-
Using Artificial Intelligence for Analysis of Automated Testing Results
Analysis of automated testing results is a very important and challenging part of testing activities. At any given moment we should be able to tell the state of our product according to the results of automated tests, Maroš Kutschy said at QA Challenge Accepted. He presented how artificial intelligence helps them save time spent on analysis, reduce human errors, and focus on new failures.
-
How a Software Architect Uses Artificial Intelligence in His Daily Work
Software architects and system architects will not be replaced anytime soon by generative artificial intelligence (AI) or large language models (LLMs), Avraham Poupko said. They will be replaced by software architects who know how to leverage generative AI and LLMs, and just as importantly, know how NOT to use generative AI.
-
Using Machine Learning on Microcontrollers: Decreasing Memory and CPU Usage to Save Power and Cost
According to Eirik Midttun, artificial intelligence (AI) and machine learning (ML) are useful tools for interpreting sensor data, especially when the input is complex, such as vibration, voice, and vision. The main challenges of using machine learning on microcontrollers are the constraints in computing power available and cost-related requirements that come with microcontroller-based designs,
-
Learnings from Internal Tool Migrations to Support Software Engineering Efficiency
In her presentation at QCon San Francisco, Ying Dai shared two critical software engineering migration stories - one focused on production monitoring and the other on production deployments with automated validations. Both migrations were driven by the goal of enhancing engineering efficiency, but each came with its own challenges and lessons.
-
How Slack Used an AI-Powered Hybrid Approach to Migrate from Enzyme to React Testing Library
Enzyme’s lack of support for React 18 made their existing unit tests unusable and jeopardized the foundational confidence they provided, Sergii Gorbachov said at QCon San Francisco. He showed how Slack migrated all Enzyme tests to React Testing Library (RTL) to ensure the continuity of their test coverage.
-
How to Use Programming Rules and Guidelines
According to Arne Mertz, using programming rules and guidelines helps developers work together, as they result in more consistent and better code. However, using them the wrong way can have the opposite result - code that is cumbersome to read or solves problems in suboptimal or even wrong ways.
-
DevProxy 0.22 Improves API Permission Checks
Microsoft has released version 0.22 of DevProxy, an API simulation command-line tool. The new version improves logging and detects minimal permissions without the need for Azure API centre.
-
How to Delight Your Developers with User-Centric Platforms and Practices
By focusing on the users, platform development teams can ensure that they build a platform that tackles the true needs of developers, Ana Petkovska said at QCon London. In her talk, Delight Your Developers with User-Centric Platforms & Practices, she shared what their Developer Experience (DevEx) group looks like and what products and services they provide.
-
The Value of Using Timeless Testing Tools
According to Benjamin Bischoff, developers find new tools much more interesting than old ones, as they offer an opportunity to learn new technologies and approaches and to expand their tool belt. Using tools that have been around for decades, however, can save time and budget. When evaluating tools, it is more important to understand the problem to be solved than to jump straight into the tools.