# Development Tools

Published articles for Development Tools.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## ESP32 Bit Pirate: Bridging Modern Microcontrollers and Browser-Based Hardware Debugging

DevFeed: [ESP32 Bit Pirate: Bridging Modern Microcontrollers and Browser-Based Hardware Debugging](<https://devfeed.tech/articles/esp32-bit-pirate-bridging-modern-microcontrollers-and-browser-based-hardware-debugging-17393.md>)

Original publisher: [Read original article](<https://www.infoq.com/news/2026/09/esp32-bitpirate-web/>)

Author: Olimpiu Pop

Published: 2026-09-14T06:06:00Z

Content type: news

Language: en

Sources: [InfoQ](<https://devfeed.tech/sources/infoq.md>)

Topics: [ESP32](<https://devfeed.tech/topics/esp32.md>), [HTML5](<https://devfeed.tech/topics/html5.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [development](<https://devfeed.tech/tags/development.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [embedded-devices](<https://devfeed.tech/tags/embedded-devices.md>), [embedded-software-dev](<https://devfeed.tech/tags/embedded-software-dev.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [esp32-bitpirate-web](<https://devfeed.tech/tags/esp32-bitpirate-web.md>), [html5](<https://devfeed.tech/tags/html5.md>), [microcontrollers](<https://devfeed.tech/tags/microcontrollers.md>), [news](<https://devfeed.tech/tags/news.md>)

### AI overview

ESP32 Bit Pirate is a browser-based, multi-protocol debugging platform for ESP32-S3 boards. It uses HTML5 APIs such as Web Serial and WebUSB for firmware flashing, terminal access, documentation, and hardware analysis without requiring local development tools.

### Source excerpt

ESP32 Bit Pirate project integrates multi-protocol debugging within a browser environment using HTML5 APIs. It enables users to install firmware and interact with microcontrollers like the ESP32-S3 directly from the browser. The platform supports various digital and wireless protocols while providing hands-on guidance through practical recipes for tasks such as memory dumping and signal analysis. By Olimpiu Pop

## Amlogic A311Y3 Cortex-A78/A55 Edge AI system-on-module delivers up to 8 TOPS

DevFeed: [Amlogic A311Y3 Cortex-A78/A55 Edge AI system-on-module delivers up to 8 TOPS](<https://devfeed.tech/articles/amlogic-a311y3-cortex-a78-a55-edge-ai-system-on-module-delivers-up-to-8-tops-14021.md>)

Original publisher: [Read original article](<https://www.cnx-software.com/2026/09/03/amlogic-a311y3-cortex-a78-a55-edge-ai-system-on-module-delivers-up-to-8-tops/>)

Author: Jean-Luc Aufranc (CNXSoft)

Published: 2026-09-03T13:46:18Z

Content type: article

Language: en

Sources: [CNX Software - Embedded Systems News](<https://devfeed.tech/sources/cnx-software-embedded-systems-news.md>)

Topics: [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [SOC](<https://devfeed.tech/topics/soc.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [RISC-V](<https://devfeed.tech/topics/riscv.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [Android](<https://devfeed.tech/topics/android.md>), [Linux](<https://devfeed.tech/topics/linux.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [4g-lte](<https://devfeed.tech/tags/4g-lte.md>), [amlogic](<https://devfeed.tech/tags/amlogic.md>), [android](<https://devfeed.tech/tags/android.md>), [arm](<https://devfeed.tech/tags/arm.md>), [boardcon](<https://devfeed.tech/tags/boardcon.md>), [camera](<https://devfeed.tech/tags/camera.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [cortex-a55](<https://devfeed.tech/tags/cortex-a55.md>), [cortex-a78](<https://devfeed.tech/tags/cortex-a78.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [development-board](<https://devfeed.tech/tags/development-board.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [display](<https://devfeed.tech/tags/display.md>), [edge-ai](<https://devfeed.tech/tags/edge-ai.md>), [edge-computing](<https://devfeed.tech/tags/edge-computing.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [linux](<https://devfeed.tech/tags/linux.md>), [npu](<https://devfeed.tech/tags/npu.md>), [opencl](<https://devfeed.tech/tags/opencl.md>), [risc-v](<https://devfeed.tech/tags/risc-v.md>), [rs485](<https://devfeed.tech/tags/rs485.md>), [som](<https://devfeed.tech/tags/som.md>), [specifications](<https://devfeed.tech/tags/specifications.md>), [vulkan](<https://devfeed.tech/tags/vulkan.md>)

### AI overview

The article examines Boardcon's CM311Y3 system-on-module, which uses the Amlogic A311Y3 octa-core SoC with Cortex-A78 and Cortex-A55 CPUs, an 8 TOPS NPU, LPDDR5 memory, eMMC storage, and interfaces for embedded applications. It also describes the module's development board, software support, and key specifications.

### Source excerpt

Boardcon CM311Y3 system-on-module (SoM) is powered by an Amlogic A311Y3 octa-core Cortex-A78/A55 SoC with an 8 TOPS NPU and targets 4K video surveillance systems, AI edge computing devices, interactive terminals, enterprise thin clients, and autonomous robots. The module comes with up to 16GB LPDDR5 and up to 256 GB eMMC flash, exposes 210 pins through castellated edges, and a development board is also provided for evaluation and early software development. We don't often see new SoMs or SBCs based on Amlogic SoCs these days, so let's have a closer look. Boardcon CM311Y3 System-on-Module CM311Y3 specifications: SoC - Amlogic A311Y3 CPU 2x ARM Cortex-A78 cores @ 2.4GHx 6x ARM Cortex-A55 cores @ 2.0GHz RISC-V core for system control processing RISC-V core for Always-on power management and Sensor Hub GPU - Arm Mali-G625 MC1 with support for OpenGL ES 3.2, Vulkan 1.4, and OpenCL 3.0 VPU Video Decoder - H.264 up to [...] The post Amlogic A311Y3 Cortex-A78/A55 Edge AI system-on-module delivers up to 8 TOPS appeared first on CNX Software - Embedded Systems News.

## Agentic AI Development Tools: How to Build Your Stack

DevFeed: [Agentic AI Development Tools: How to Build Your Stack](<https://devfeed.tech/articles/agentic-ai-development-tools-how-to-build-your-stack-12136.md>)

Original publisher: [Read original article](<https://www.port.io/blog/agentic-ai-development-tools>)

Author: Aaron Taylor

Published: 2026-08-10T11:34:27Z

Content type: article

Language: en

Sources: [Developer Experience & Platform Engineering Blog | Port](<https://devfeed.tech/sources/developer-experience-platform-engineering-blog-port.md>)

Topics: [AI Development](<https://devfeed.tech/topics/ai-development.md>), [developer tooling](<https://devfeed.tech/topics/developer-tooling.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [sdlc](<https://devfeed.tech/topics/sdlc.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [observability](<https://devfeed.tech/topics/observability.md>)

Tags: [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [ai-development](<https://devfeed.tech/tags/ai-development.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [code-generation](<https://devfeed.tech/tags/code-generation.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [observability](<https://devfeed.tech/tags/observability.md>), [sdlc](<https://devfeed.tech/tags/sdlc.md>), [software-delivery](<https://devfeed.tech/tags/software-delivery.md>)

### AI overview

This guide explains how to choose and connect agentic AI development tools across the software development lifecycle. It distinguishes the agent layer, the agentic infrastructure layer, and the existing foundation of source control, CI/CD, and observability tools, then introduces criteria for evaluating tools and begins with code generation agents.

### Source excerpt

Explore agentic AI development tools and learn how to build a practical stack for faster, more reliable AI software delivery.

## How to Run Python Tools Without Installing Them

DevFeed: [How to Run Python Tools Without Installing Them](<https://devfeed.tech/articles/how-to-run-python-tools-without-installing-them-30856.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/how-to-run-python-tools-without-installing-them/>)

Author: Rick Donato

Published: 2026-04-07T07:00:59Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [developer tooling](<https://devfeed.tech/topics/developer-tooling.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [dependencies](<https://devfeed.tech/tags/dependencies.md>), [development](<https://devfeed.tech/tags/development.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [python](<https://devfeed.tech/tags/python.md>), [tips](<https://devfeed.tech/tags/tips.md>), [uv](<https://devfeed.tech/tags/uv.md>)

### AI overview

This tutorial explains how to use uvx to run Python development tools without adding them to project dependencies. uvx runs tools in isolated, cached environments, helping keep pyproject.toml focused on the project's actual dependencies. The supplied excerpt mentions formatting and linting code without modifying pyproject.toml.

### Source excerpt

Use uvx to run development tools without adding them to your project dependencies. uvx runs each tool in an isolated, cached environment, keeping your pyproject.toml clean and focused on actual dependencies. Here's an example: # uvx (alias for uv run tool) # Format and lint code without modifying pyproject.

## WebAssembly as a Python extension platform

DevFeed: [WebAssembly as a Python extension platform](<https://devfeed.tech/articles/webassembly-as-a-python-extension-platform-20509.md>)

Original publisher: [Read original article](<https://nullprogram.com/blog/2026/01/01/>)

Published: 2026-01-01T21:21:19Z

Content type: article

Language: en

Sources: [Chris Wellons](<https://devfeed.tech/sources/chris-wellons.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [C](<https://devfeed.tech/topics/c.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [extension](<https://devfeed.tech/tags/extension.md>), [performance](<https://devfeed.tech/tags/performance.md>), [python](<https://devfeed.tech/tags/python.md>), [wasi](<https://devfeed.tech/tags/wasi.md>), [wasm](<https://devfeed.tech/tags/wasm.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

The article examines WebAssembly as an extension platform for Python. It explains how architecture-independent Wasm modules can be distributed inside Python libraries without requiring a native toolchain, while noting that Wasm sandboxes cannot access external interfaces. It compares wasm3 and wasmtime-py, highlighting wasmtime-py's broader binary distribution and substantially better performance, alongside its larger installation size.

### Source excerpt

Software above some complexity level tends to sport an extension language, becoming a kind of software platform itself. Lua fills this role well, and of course there's JavaScript for web technologies. WebAssembly generalizes this, and any Wasm-targeting programming language can extend a Wasm-hosting application. It has more friction than supplying a script in a text file, but extension authors can write in their language of choice, and use more polished development tools -- debugging, testing, etc. -- than typically available for a typical extension language. Python is traditionally extended through native code behind a C interface, but it's recently become practical to extend Python with Wasm. That is we can ship an architecture-independent Wasm blob inside a Python library, and use it without requiring a native toolchain on the host system. Let's discuss two different use cases and their pitfalls. Normally we'd extend Python in order to access an external interface that Python cannot access on its own. Wasm runs in a sandbox with no access to the outside world whatsoever, so it obviously isn't useful for that case. Extensions may also grant Python more speed, which is one of Wasm's main selling points. We can also use Wasm to access embeddable capabilities written in a different programming language which do not require external access. For preferred non-WASI Wasm runtime is Volodymyr Shymanskyy's wasm3. It's plain old C and very friendly to embedding in the same was as, say, SQLite. Performance is middling, though a C program running on wasm3 is still quite a bit faster than an equivalent Python program. It has Python bindings, pywasm3, but it's distributed only in source code form. That is, the host machine must have a C toolchain in order to use pywasm3, which defeats my purposes here. If there's a C toolchain, I might as well just use that instead of going through Wasm. For the use cases in this article, the best option is wasmtime-py. The distribution includes

## Snyk and Continue Partner to Embed AI-Powered Security into Every Step of the Developer Workflow

DevFeed: [Snyk and Continue Partner to Embed AI-Powered Security into Every Step of the Developer Workflow](<https://devfeed.tech/articles/snyk-and-continue-partner-to-embed-ai-powered-security-into-every-step-of-the-developer-workflow-8121.md>)

Original publisher: [Read original article](<https://snyk.io/blog/snyk-continue-partner-integration/>)

Author: Sarah Conway

Published: 2025-11-18T05:00:00Z

Content type: news

Language: en

Sources: [Blog RSS Feed | Snyk](<https://devfeed.tech/sources/blog-rss-feed-snyk.md>)

Topics: [AI Development](<https://devfeed.tech/topics/ai-development.md>), [Security](<https://devfeed.tech/topics/security.md>), [code productivity](<https://devfeed.tech/topics/code-productivity.md>), [sdlc](<https://devfeed.tech/topics/sdlc.md>), [Code](<https://devfeed.tech/topics/code.md>), [Infrastructure as code](<https://devfeed.tech/topics/infrastructure-as-code.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [developer tooling](<https://devfeed.tech/topics/developer-tooling.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [awareness](<https://devfeed.tech/tags/awareness.md>), [blog](<https://devfeed.tech/tags/blog.md>), [cli](<https://devfeed.tech/tags/cli.md>), [code](<https://devfeed.tech/tags/code.md>), [code-security](<https://devfeed.tech/tags/code-security.md>), [container-security](<https://devfeed.tech/tags/container-security.md>), [containers](<https://devfeed.tech/tags/containers.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [developer](<https://devfeed.tech/tags/developer.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [devsecops](<https://devfeed.tech/tags/devsecops.md>), [executive](<https://devfeed.tech/tags/executive.md>), [extension](<https://devfeed.tech/tags/extension.md>), [iac](<https://devfeed.tech/tags/iac.md>), [open-source-security](<https://devfeed.tech/tags/open-source-security.md>), [related-content](<https://devfeed.tech/tags/related-content.md>), [sdlc](<https://devfeed.tech/tags/sdlc.md>), [security](<https://devfeed.tech/tags/security.md>), [snyk-platform](<https://devfeed.tech/tags/snyk-platform.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

Snyk and Continue announce a partnership integrating AI-powered security into the software development lifecycle. The integration lets developers scan code, dependencies, infrastructure as code, and containers through natural-language commands, while receiving context-aware fix suggestions through Continue's agents, IDE extension, or CLI.

### Source excerpt

Snyk is excited to announce a new partnership with Continue, which will embed AI-powered security into every step of the SDLC. This partnership allows developers to scan code, dependencies, and IaC using natural language commands and get context-aware fix suggestions instantly, whether leveraging Agents in Continue Mission Control, an IDE extension, or a CLI.

## Extending idf.py: Create custom commands for your ESP-IDF workflow

DevFeed: [Extending idf.py: Create custom commands for your ESP-IDF workflow](<https://devfeed.tech/articles/extending-idf-py-create-custom-commands-for-your-esp-idf-workflow-13730.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2025/10/idf_py_extension/>)

Author: John Lee

Published: 2025-10-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [Development](<https://devfeed.tech/topics/development.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [cli](<https://devfeed.tech/tags/cli.md>), [commands](<https://devfeed.tech/tags/commands.md>), [component](<https://devfeed.tech/tags/component.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [examples](<https://devfeed.tech/tags/examples.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [idf-py](<https://devfeed.tech/tags/idf-py.md>), [integration](<https://devfeed.tech/tags/integration.md>), [python](<https://devfeed.tech/tags/python.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

This guide explains how ESP-IDF v6.0 and newer support extending idf.py with custom commands. It covers component-based extensions for project-specific tools and Python package extensions for reusable commands, along with integration considerations and examples.

### Source excerpt

Learn how to extend idf.py with custom commands for your development workflow. This guide covers both component-based extensions for project-specific tools and Python package extensions for reusable commands, with practical examples and best practices for seamless integration.

## Steve Yegge and Nathan Sobo Debate How IDEs Should Evolve for the AI Era

DevFeed: [Steve Yegge and Nathan Sobo Debate How IDEs Should Evolve for the AI Era](<https://devfeed.tech/articles/the-death-of-the-ide-13451.md>)

Original publisher: [Read original article](<https://zed.dev/blog/death-of-the-ide>)

Author: Franciska Dethlefsen

Published: 2025-08-12T00:00:00Z

Content type: opinion

Language: en

Sources: [Zed Industries - Blog](<https://devfeed.tech/sources/zed-industries-blog.md>)

Topics: [ide](<https://devfeed.tech/topics/ide.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [developer tooling](<https://devfeed.tech/topics/developer-tooling.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [developers](<https://devfeed.tech/tags/developers.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [ide](<https://devfeed.tech/tags/ide.md>)

### AI overview

Steve Yegge and Nathan Sobo discuss whether traditional IDEs remain suitable for the AI era. They agree that current IDE architectures need significant change, collaboration should be central to development tools, and effective human-AI workflows are still emerging.

### Source excerpt

Steve Yegge and Nathan Sobo debate whether IDEs are obsolete in the AI era. Their opposing perspectives reveal surprising common ground.

## Making Cursor Smarter with an MCP Server For Nx Monorepos

DevFeed: [Making Cursor Smarter with an MCP Server For Nx Monorepos](<https://devfeed.tech/articles/making-cursor-smarter-with-an-mcp-server-for-nx-monorepos-21435.md>)

Original publisher: [Read original article](<https://nx.dev/blog/nx-made-cursor-smarter>)

Author: Juri Strumpflohner

Published: 2025-03-06T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Model Context Protocol (MCP)](<https://devfeed.tech/topics/model-context-protocol-mcp.md>), [cursor](<https://devfeed.tech/topics/cursor.md>), [monorepo](<https://devfeed.tech/topics/monorepo.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [developer tooling](<https://devfeed.tech/topics/developer-tooling.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-assistants](<https://devfeed.tech/tags/ai-assistants.md>), [cursor](<https://devfeed.tech/tags/cursor.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [monorepo](<https://devfeed.tech/tags/monorepo.md>), [nx](<https://devfeed.tech/tags/nx.md>)

### AI overview

This tutorial explains how Nx exposes an MCP server through its Nx Language Server and Nx Console so Cursor can access metadata about monorepo structure, project relationships, and available tools. It describes MCP as a standardized interface that helps AI assistants understand and interact with development environments.

### Source excerpt

Learn how Nx enhances Cursor IDE with a dedicated MCP server, providing AI assistants with rich monorepo metadata for smarter code assistance.

## Linting a Swift package with swift-format

DevFeed: [Linting a Swift package with swift-format](<https://devfeed.tech/articles/linting-a-swift-package-with-swift-format-24550.md>)

Original publisher: [Read original article](<https://medium.com/snapp-mobile/linting-a-swift-package-with-swift-format-a887b4e95a1e?source=rss----bcd96e620b02---4>)

Author: Oleksii Kolomiiets

Published: 2025-01-27T08:59:47Z

Content type: tutorial

Language: en

Sources: [Snapp Mobile - Medium](<https://devfeed.tech/sources/snapp-mobile-medium.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Xcode 16](<https://devfeed.tech/topics/xcode-16.md>), [developer tooling](<https://devfeed.tech/topics/developer-tooling.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ios](<https://devfeed.tech/tags/ios.md>), [lint](<https://devfeed.tech/tags/lint.md>), [packages](<https://devfeed.tech/tags/packages.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swift-package-manager](<https://devfeed.tech/tags/swift-package-manager.md>), [xcode-16](<https://devfeed.tech/tags/xcode-16.md>)

### AI overview

This tutorial explains how to enable linting for a Swift package during its build process with the built-in swift-format tool included in the Xcode 16 toolchain. It covers creating a package, adding a package plugin, attaching the plugin to targets, and displaying a test warning during the build.

### Source excerpt

Linting your code is handy and effective way to keep your team's code style in shape. Nowadays it's hard to imagine a project without functionality that alerts developers with warnings or errors about issues in the code. It could be done with a simple script added to build phases. But what can you do when you don't have one? Packages are excluded from this option, but they still need to be maintained. Or at the very least, you'll feel much better knowing your package code is clean and consistent, and no one can make it messy without receiving a warning. This article explains how to enable linting for a package during its build process, using only the built-in swift-format tool -- no external libraries required. Preparation With Xcode 16, swift-format is included as part of the Xcode toolchain, eliminating the need for external libraries and making Swift file formatting more convenient. For more information, refer to the Getting swift-format section. 1. Create a package Launch Xcode and select File > New > Package from the menu. Chose Library and add the name to the package. 2. Add Plugin Package plugin is: Swift script that can be run as part of your buildA package could have plugins as extra, or be all about pluginsPackage plugins are available only within packageGeneral plugins can be made available to the outsideLets you access development tools on your machine More information about package plugins can be found in the Meet Swift Package plugins article. Start by creating a dedicated folder for all potential plugins, including the one you're currently working on. Ctrl + click on your package name in Xcode and select "New Folder" or use any other method to create a folder in the root of your project. Next, create a folder specifically for your plugin's logic. Since it will lint the package code using swift-format , the name SwiftFormatPlugin was chosen. By the end, the structure would look like this Now, let's add some content to plugin file import Foundation impor

## Generative AI, Software Development, and Career Growth for Java Developers

DevFeed: [Generative AI, Software Development, and Career Growth for Java Developers](<https://devfeed.tech/articles/hands-on-career-the-evolution-of-a-java-champion-30753.md>)

Original publisher: [Read original article](<http://blog.vanillajava.blog/2025/01/hands-on-career-evolution-of-java.html>)

Author: Peter Lawrey (noreply@blogger.com)

Published: 2025-01-24T10:27:00Z

Content type: article

Language: en

Sources: [Vanilla Java](<https://devfeed.tech/sources/vanilla-java.md>)

Topics: [Generative AI](<https://devfeed.tech/topics/generative-ai.md>), [AI Development](<https://devfeed.tech/topics/ai-development.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Java](<https://devfeed.tech/topics/java.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [career-development](<https://devfeed.tech/tags/career-development.md>), [developers](<https://devfeed.tech/tags/developers.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [java](<https://devfeed.tech/tags/java.md>), [opinion](<https://devfeed.tech/tags/opinion.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This article examines how generative AI may fit into software development and affect developers' career growth. It discusses the need for expertise and careful review of AI-generated results, career development, founder experience, and practical uses and limitations of generative AI.

### Source excerpt

Table of Contents Introduction Superhuman Intelligence Is Already Here ATMs Didn't Replace Bank Tellers About Me Multidimensional Growth Areas of Career Development Scope of Consideration Roles Where All Areas Are Important The Range of a Founder's Role How Will AI Change Development? How You Ask the Question Changes the Result Some key terms in understanding how Generative AI works Estimating the Value of AI-Generated Documentation AI and the Reverse Baltimore Phenomenon The Baltimore Phenomenon The Reverse Baltimore Phenomenon Filling a void Brainstorming Ideas Sample Project 2048 Using Prompts as Meta-Programming When AI is useful What Generative AI Can't Yet Do Human in the Loop Conclusion This article is background material for this talk Lessons learnt from founding my own company, and over 30 years hands-on coding Introduction Unlike most deterministic development tools, Generative AI is a productivity tool that uses a statistical model to produce results. It can be useful when used appropriately and carefully reviewed, but fundamentally, it only has a probability of being correct. Plausible results can be challenging to review unless you have expertise in the content produced. In this talk, I will explore where I see Generative AI fitting into development and how it can help developers grow their careers. I will look at practical tips and ways to consider it for development. Working with Generative AI can feel meta, so I will start with a quote about quotes: I love quotations because it is a joy to find thoughts one might have beautifully expressed with much authority by someone recognised as wiser than oneself. -- Marlene Dietrich 1901-1992 Superhuman Intelligence Is Already Here As of November 2024, the United States' El Capitan is the most powerful supercomputer in the TOP500, reaching 1742 petaFlops (1.742 exaFlops) on the LINPACK benchmarks. -- TOP500 Supercomputer Wikipedia Supercomputers have long been able to do calculations no human can, yet they can't

## GameChanger and Anvil

DevFeed: [GameChanger and Anvil](<https://devfeed.tech/articles/gamechanger-and-anvil-19834.md>)

Original publisher: [Read original article](<https://tech.gc.com/gamechanger-and-anvil/>)

Author: GameChanger

Published: 2024-09-18T04:00:00Z

Content type: article

Language: en

Sources: [GameChanger](<https://devfeed.tech/sources/gamechanger.md>)

Topics: [Dagger](<https://devfeed.tech/topics/dagger.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Android](<https://devfeed.tech/topics/android.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Code quality](<https://devfeed.tech/topics/code-quality.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [code-quality](<https://devfeed.tech/tags/code-quality.md>), [dagger](<https://devfeed.tech/tags/dagger.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

GameChanger describes how its App Platform team integrates Anvil with an existing Dagger setup in an Android codebase. The effort streamlines dependency injection and supports modularization, consistent architecture, reduced cognitive load, faster onboarding, and improved code quality.

### Source excerpt

At GameChanger, we have a dedicated App Platform team that focuses on scaling our engineering organization and supporting development teams across the company. Our mission is to make building things the right way the easy way for all developers at GameChanger. This involves: Implementing and maintaining core infrastructure like dependency injection systems Creating and improving development tools and workflows Establishing best practices and architectural patterns Providing support and guidance to feature teams By having a dedicated team focus on these foundational aspects, we achieve several benefits: Consistency across the codebase, making it easier for developers to switch between projects Reduced cognitive load for feature teams, allowing them to focus on business logic Faster onboarding for new team members Improved code quality and maintainability The work on integrating Anvil with our existing Dagger setup is a prime example of how the App Platform team contributes to these goals. By streamlining our dependency injection process, we're making it easier for all teams to build features efficiently and correctly. With this context in mind, let's explore the technical details of our setup and why we chose to augment Dagger with Anvil. What's the setup? The Android codebase has the following Dagger components: a longstanding Application Component, a User Component that lives for as long as the user is logged in, and Game Components that last for as long as any live game. Features usually involve a fragment to render UI and a view model to manage business logic and state. Said view model is supplied by a factory in either the Application Component or User Component and pulls in dependencies from the rest of the Dagger graph that may come from any of the mentioned components. So Why Anvil? 1. Anvil makes modularization easy: We're following, as shown in the diagram above, a format for modules across the codebase to follow that involve the inversion of control princi

## How to build a modern DevSecOps culture: Lessons from Jaguar Land Rover and Asda

DevFeed: [How to build a modern DevSecOps culture: Lessons from Jaguar Land Rover and Asda](<https://devfeed.tech/articles/how-to-build-a-modern-devsecops-culture-lessons-from-jaguar-land-rover-and-asda-7956.md>)

Original publisher: [Read original article](<https://snyk.io/blog/how-to-build-modern-devsecops-culture/>)

Author: Brian Piper

Published: 2024-02-21T05:00:00Z

Content type: article

Language: en

Sources: [Blog RSS Feed | Snyk](<https://devfeed.tech/sources/blog-rss-feed-snyk.md>)

Topics: [DevSecOps](<https://devfeed.tech/topics/devsecops.md>), [Application Security](<https://devfeed.tech/topics/application-security.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Application Development](<https://devfeed.tech/topics/application-development.md>)

Tags: [acquisition](<https://devfeed.tech/tags/acquisition.md>), [awareness](<https://devfeed.tech/tags/awareness.md>), [blog](<https://devfeed.tech/tags/blog.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [customer](<https://devfeed.tech/tags/customer.md>), [customer-featured](<https://devfeed.tech/tags/customer-featured.md>), [developers](<https://devfeed.tech/tags/developers.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devsecops](<https://devfeed.tech/tags/devsecops.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [megawatt](<https://devfeed.tech/tags/megawatt.md>), [security](<https://devfeed.tech/tags/security.md>), [snyk-platform](<https://devfeed.tech/tags/snyk-platform.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

The article presents lessons from Jaguar Land Rover and Asda on building a modern DevSecOps culture. It emphasizes the continuing importance of people, processes, and tooling, with developer participation in security-tool decisions identified as critical to adoption and secure development.

### Source excerpt

Organizations experience different pain points when implementing a DevSecOps culture, but the fundamentals of people, process, and tooling changes remain the same.

## The Figma + Adobe deal, explained

DevFeed: [The Figma + Adobe deal, explained](<https://devfeed.tech/articles/the-figma-adobe-deal-explained-9489.md>)

Original publisher: [Read original article](<https://www.figma.com/blog/adobe-figma-faq/>)

Author: Figma

Published: 2023-11-16T00:00:00Z

Content type: article

Language: en

Sources: [Figma Blog](<https://devfeed.tech/sources/figma-blog.md>)

Topics: [Figma](<https://devfeed.tech/topics/figma.md>), [User Interfaces](<https://devfeed.tech/topics/user-interfaces.md>), [Web](<https://devfeed.tech/topics/web.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [App](<https://devfeed.tech/topics/app.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>)

Tags: [acquisition](<https://devfeed.tech/tags/acquisition.md>), [adobe](<https://devfeed.tech/tags/adobe.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [design](<https://devfeed.tech/tags/design.md>), [developers](<https://devfeed.tech/tags/developers.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [digital-products](<https://devfeed.tech/tags/digital-products.md>), [figma](<https://devfeed.tech/tags/figma.md>), [product-development](<https://devfeed.tech/tags/product-development.md>), [regulatory](<https://devfeed.tech/tags/regulatory.md>), [software](<https://devfeed.tech/tags/software.md>), [user-interfaces](<https://devfeed.tech/tags/user-interfaces.md>), [web](<https://devfeed.tech/tags/web.md>), [web-based-design](<https://devfeed.tech/tags/web-based-design.md>)

### AI overview

This article explains Figma's proposed acquisition by Adobe, its regulatory review, and the companies' later decision to abandon the merger after concluding that regulatory approval was not achievable. It also describes Figma as a web-based design tool for teams creating apps and websites, covering collaborative product development from brainstorming and interface design to prototyping and coded implementation through Dev Mode.

### Source excerpt

Editor's Note: On December 18, 2023, Figma and Adobe ended our pending acquisition, as we no longer saw a path toward regulatory approval of the deal. Read more here.

## Making Figma better for developers with Dev Mode

DevFeed: [Making Figma better for developers with Dev Mode](<https://devfeed.tech/articles/making-figma-better-for-developers-with-dev-mode-9880.md>)

Original publisher: [Read original article](<https://www.figma.com/blog/introducing-dev-mode/>)

Author: Kris Rasmussen

Published: 2023-06-21T00:00:00Z

Content type: article

Language: en

Sources: [Figma Blog](<https://devfeed.tech/sources/figma-blog.md>)

Topics: [Figma](<https://devfeed.tech/topics/figma.md>), [dev-tools](<https://devfeed.tech/topics/dev-tools.md>), [Front end](<https://devfeed.tech/topics/frontend.md>)

Tags: [bridging](<https://devfeed.tech/tags/bridging.md>), [dev-tools](<https://devfeed.tech/tags/dev-tools.md>), [developer](<https://devfeed.tech/tags/developer.md>), [development](<https://devfeed.tech/tags/development.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [figma](<https://devfeed.tech/tags/figma.md>)

### AI overview

Figma introduces Dev Mode, a dedicated workspace that helps developers inspect designs, access implementation details, export assets, and connect design concepts with code, icons, and tokens. It is intended to reduce friction between design and development workflows.

### Source excerpt

How can a design tool work better for developers? It's a question we've been asking ourselves and our community. Today, we're excited to introduce Dev Mode, a new workspace in Figma that's designed to get developers what they need, when they need it, harnessing the tools they use every day.

## Building Flipper Plugins for Fun and Profit

DevFeed: [Building Flipper Plugins for Fun and Profit](<https://devfeed.tech/articles/building-flipper-plugins-for-fun-and-profit-25112.md>)

Original publisher: [Read original article](<http://michaelevans.org/blog/2022/09/28/flipper-plugins-for-fun-and-profit/>)

Author: Michael Evans

Published: 2022-09-29T03:41:17Z

Content type: tutorial

Language: en

Sources: [Gadget Habit](<https://devfeed.tech/sources/gadget-habit.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Wireless Debugging](<https://devfeed.tech/topics/wireless-debugging.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [analytics](<https://devfeed.tech/tags/analytics.md>), [android](<https://devfeed.tech/tags/android.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [payload](<https://devfeed.tech/tags/payload.md>), [sdk](<https://devfeed.tech/tags/sdk.md>)

### AI overview

This tutorial explains how to build a custom Flipper plugin for Android to inspect Firebase Analytics events in a filterable table. It contrasts this workflow with using ADB and Logcat, and briefly introduces the client-side setup, including the Flipper SDK and Gradle dependencies.

### Source excerpt

A long, long time ago, I wrote a blog post about how I was using Flipper as one of my favorite development tools. Since then, Android Studio has come a long way adding tons of features like a new Logcat and Layout Inspector. However, there are often times that you'll need a tool more specific to your own workflow that Android Studio doesn't provide, and that's exactly where Flipper's extensibility really shines. As an example, I'd like to go through building a custom plugin for Flipper, similar to one that I've used on my own projects, that demonstrates how easy it is to get started building these tools. The Problem As most apps grow, there becomes a need to measure app usage and engagement to better understand user behavior. In order to measure that, we often turn to analytics libraries (like Firebase Analytics) to handle this in-app behavior reporting. However, when implementing these client events, it's often helpful to have a quick feedback loop to ensure that the event and associated payload are correct, without having to check an analytics dashboard (which can often take some time to refresh). Luckily, most analytics libraries (including Firebase) have different solutions for this problem. In the Firebase Analytics library, the recommended debugging method is to set a property with ADB to log all the events to logcat. This does provide much faster feedback than checking a dashboard, but it's not the most user friendly - developers need to set the property at the command line, and need to be monitoring logcat for all of the events (and also doesn't offer much of a search/filter function). The Solution Rather than sticking to plain text in logcat, we can build a custom Flipper plugin that will display our analytics events in a filterable table. Most Flipper plugins are comprised of two parts - a client library that runs as part of your Android app, and a desktop plugin that runs inside Flipper for processing and displaying the data sent by the client. All of the

## Web Based Rust Development Tools

DevFeed: [Web Based Rust Development Tools](<https://devfeed.tech/articles/web-based-rust-development-tools-28323.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/rust/2022/06/30/web-based-rust-development-tools.html>)

Author: Fuzzygroup

Published: 2022-06-30T05:52:00Z

Content type: article

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [developer tooling](<https://devfeed.tech/topics/developer-tooling.md>), [Development](<https://devfeed.tech/topics/development.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Web](<https://devfeed.tech/topics/web.md>)

Tags: [development](<https://devfeed.tech/tags/development.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [docs](<https://devfeed.tech/tags/docs.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [programming](<https://devfeed.tech/tags/programming.md>), [rust](<https://devfeed.tech/tags/rust.md>), [tools](<https://devfeed.tech/tags/tools.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

A curated list of web-based resources for Rust developers, gathered from responses to a Twitter request. It includes an online experimentation tool, documentation, nightly build documentation, supplementary docs, a compiler explorer, a JSON parser generator, and a component registry.

### Source excerpt

I am not, alas, a compiled languages guy. I do find Rust absolutely fascinating because by inverting the common assumptions, a whole class of software errors are being avoided. Given that we live in a constant shite show of software quality, any engineering practices that generate better code are highly desirable. Discovering testing and pair programming for me was I suspect as life changing as Rust feels to a C programmer. Even though I don't really do compiled stuff, I do admit to being more than a bit of a language wonk - if it is weird, interpreted and has a repl or is a stream process, well, that I'm good at. My tools have included Ruby, Elixir, Python, JavaScript, PHP, Perl, Prolog (both Borland and Quintus on Sun 2), , Perl, VB, Awk, HyperAwk, Elm, OmniMark and others. So learning a bit about Rust feels pretty normal to me. But I digress - this is about Rust. Even tho I don't really compile, I'm a solid writer and I'm happy to ask questions and compile answers. Web Based Rust Tools I posed this question on Twitter tonight: Given the amazing response to my comments about programs written in Rust, I would appreciate links to great Rust resources and, particularly, web based tools that Rust devs use. #rustlang @steveklabnik, @bcantrill PermaLink And, happily, a ton of very smart people took the time to reply. I compiled all the tools suggested below. http://play.rust-lang.org - online repl / experimentation tool http://docs.rs - documentation https://doc.rust-lang.org/nightly/nightly-rustc/ - nightly build docs https://forge.rust-lang.org/ - a repository of supplementary docs https://rust.godbolt.org - compiler explorer http://app.quicktype.io - JSON parser generator https://crates.io/ - component registry - yes I added this; this is a development tool because finding components is a part of development Adding to This Drop me a line on Twitter where I am @fuzzygroup and I'm happy to add any tools you find.

## Developer Onboarding at Shopify

DevFeed: [Developer Onboarding at Shopify](<https://devfeed.tech/articles/developer-onboarding-at-shopify-1370.md>)

Original publisher: [Read original article](<https://shopify.engineering/developer-onboarding-at-shopify>)

Author: Kat Inventory

Published: 2015-09-23T14:00:00Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Shopify](<https://devfeed.tech/topics/shopify.md>), [developer tooling](<https://devfeed.tech/topics/developer-tooling.md>)

Tags: [developer](<https://devfeed.tech/tags/developer.md>), [developers](<https://devfeed.tech/tags/developers.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [onboarding](<https://devfeed.tech/tags/onboarding.md>), [shopify](<https://devfeed.tech/tags/shopify.md>)

### AI overview

Shopify developers Kat and Omosola describe their week-long onboarding experience for new developers, including pre-onboarding talks, introductions to Shopify's people, products, values, engineering infrastructure, internal processes, and development tools. The article also notes the diverse backgrounds of the onboarding group and the program's role in helping new hires get up to speed.

### Source excerpt

5 minute read Hi there! We're Kat and Omosola and we're software developers at Shopify. We both started working at Shopify back in May, and we felt both excited and a little nervous before we got here. You never know exactly what to expect when you start at a new company and no matter what your previous experience is, there are always a lot of new skills you need to learn. Thankfully, Shopify has an awesome onboarding experience for its new developers, which is what we want to talk about today.

## Android Needs A Simulator, Not An Emulator

DevFeed: [Android Needs A Simulator, Not An Emulator](<https://devfeed.tech/articles/android-needs-a-simulator-not-an-emulator-20916.md>)

Original publisher: [Read original article](<https://jakewharton.com/android-needs-a-simulator/>)

Published: 2014-06-16T00:00:00Z

Content type: article

Language: en

Sources: [Jake Wharton](<https://devfeed.tech/sources/jake-wharton.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Emulator](<https://devfeed.tech/topics/emulator.md>), [simulator](<https://devfeed.tech/topics/simulator.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [Oracle-VM-VirtualBox](<https://devfeed.tech/topics/vm-box.md>), [virtualization](<https://devfeed.tech/topics/virtualization.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [emulator](<https://devfeed.tech/tags/emulator.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [simulator](<https://devfeed.tech/tags/simulator.md>), [virtualization](<https://devfeed.tech/tags/virtualization.md>)

### AI overview

The article argues that Android needs a fast, responsive simulator rather than an increasingly slow emulator. It reviews improvements to Android development tooling, including the Gradle plugin and Android Studio, then describes emulator performance degradation and later improvements from x86 builds and CPU virtualization, including Genymotion's VirtualBox-based approach.

### Source excerpt

Two years ago I wrote a blog post complaining that the Android build system was broken. At the time, Eclipse ADT and Ant were the blessed solutions and they just hadn't scaled with the platform. Third-party solutions existed for both tooling and IDE but they always felt a bit illegitimate and at risk for problems. My post joined the cries of others who knew that something had to be done. Xavier Ducrohet swooped in and dropped a bomb on the resulting Google+ thread: "We are looking at revamping the whole thing". In the two years since he and the tools team have transformed the landscape of how Android development is done. A first-party Gradle plugin now provides the powerful and dynamic platform on which any app of quality is built. Ownership of the Android plugin inside IntelliJ IDEA (with a sprinkle of branding) yields a development environment that moves mountains for you. Neither the Gradle plugin nor the IntelliJ IDEA plugin (known bundled as Android Studio) are at a v1.0 yet. They're both still beta (albeit arguably in the sense that GMail was circa 2008). Why was all of this important and why is it important for Google moving forward? Developers are the top of the funnel for Android's continued success. Without quality development tools there are no quality apps, without quality apps there are no quality users, and without quality users the developers will flee. Half of the developer flow in this funnel comes from the tools and the other half from APIs. This post is about the former. My first exposure to Android was the M3 pre-release SDK's emulator (pictured). The emulator started up quickly and was responsive. Each successive release up to and beyond version 1.0 added much needed functionality to both the OS and the emulator. And in each successive release the emulator slowed. Android's pubescent period (otherwise known as Honeycomb) and its eventual emergence into adulthood had a devestating effect on emulator performance. Despite our development environmen

## Linux Alternatives and Oracle Java

DevFeed: [Linux Alternatives and Oracle Java](<https://devfeed.tech/articles/linux-alternatives-and-oracle-java-30652.md>)

Original publisher: [Read original article](<http://bad-concurrency.blogspot.com/2014/01/linux-alternatives-and-oracle-java.html>)

Author: Michael Barker (noreply@blogger.com)

Published: 2014-01-29T19:39:00Z

Content type: tutorial

Language: en

Sources: [Bad Concurrency](<https://devfeed.tech/sources/bad-concurrency.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Fedora](<https://devfeed.tech/topics/fedora.md>), [redhat](<https://devfeed.tech/topics/redhat.md>)

Tags: [command](<https://devfeed.tech/tags/command.md>), [configure](<https://devfeed.tech/tags/configure.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [java](<https://devfeed.tech/tags/java.md>), [jdk](<https://devfeed.tech/tags/jdk.md>), [linux](<https://devfeed.tech/tags/linux.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [oracle](<https://devfeed.tech/tags/oracle.md>), [setup](<https://devfeed.tech/tags/setup.md>)

### AI overview

A guide to using Linux Alternatives to switch between Oracle JDK and OpenJDK implementations. It explains the separate java and javac master configurations and shows how to select the active JRE or JDK from the command line.

### Source excerpt

If, like me, you prefer to run the Oracle version of Java on your Linux machine as the default JDK, you will often find that the Linux distro will have other ideas. Fedora for example has a number of Java based applications as part of the distribution which will include a dependency on the OpenJDK. When the distro installs OpenJDK is will generally be setup as the default for executing the various Java binaries (e.g. 'java', 'javac'). However, the team at Redhat built a system called alternatives which maintains a set of symbolic links that allows the user to switch between multiple implementations of a package the supports the same functionality. I've managed to understand enough about the alternatives package that I can now easily switch between the Oracle JDK and the OpenJDK. Read more "

## Development from Scratch

DevFeed: [Development from Scratch](<https://devfeed.tech/articles/development-from-scratch-30317.md>)

Original publisher: [Read original article](<https://www.mdubakov.com/posts/development-from-scratch/>)

Published: 2006-07-21T15:41:57Z

Content type: article

Language: en

Sources: [Blog by Michael Dubakov](<https://devfeed.tech/sources/blog-by-michael-dubakov.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [bug](<https://devfeed.tech/topics/bug.md>), [test](<https://devfeed.tech/topics/test.md>), [issue tracker](<https://devfeed.tech/topics/issue-tracker.md>), [Code](<https://devfeed.tech/topics/code.md>), [developer tooling](<https://devfeed.tech/topics/developer-tooling.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [bug](<https://devfeed.tech/tags/bug.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [test](<https://devfeed.tech/tags/test.md>)

### AI overview

The article examines problems that can arise when developing a new product version from scratch instead of refactoring an existing product. It recommends using pilot projects when adopting unfamiliar technologies, carrying forward bug and test-case knowledge, and refactoring reusable code before incorporating it.

### Source excerpt

When you developing new version of a product you usually think about rewriting from scratch instead of refactoring and adding new functionality with help of hummer and nails. Lets skip questions "why we should" and "when we should" because each of them is a topic for separate article. We will discuss potential problems and possible solutions for "development from scratch" mode. Usually, the first problem is development environment change and new development tools. When you move from one programming language to another or change technologies, third party libraries or something else there is always a risk of potential problems with it. That is why you shouldn't start using new technology/language before you have at least few experts in it. In general the idea to learn new technology/language by developing a real important project is bad. Pilot project should go first and in pilot project you may resolve all potential technical problems. It is better to blog about pilot project progress and problems, in this case you can always obtain list of problems/solution. The second problem (and the most significant) is that development from scratch leads to repeating bugs and issues that were already fixed in previous product. The simplest way to solve this problem is try to repeat all issues from previous version of product in current version It's possible if you used Bug Tracking practice, but if not, you are in troubles. And in any way it will be hard, because there can be thousands of issues. Also it doesn't insure against new issues in a new product. Another way is usage of Test Cases from previous project. If project was developed accurately then every idea, every business rule, every potential issue was reflected in proper Test Case. Usage of Test Cases from previous product version helps control quality from the start. The third problem is should you use or not some parts of code from previous project. On the one hand you save time by reuse already developed and tested c