# modules

Published articles for modules.

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

## Starting Android at Khan Academy

DevFeed: [Starting Android at Khan Academy](<https://devfeed.tech/articles/starting-android-at-khan-academy-27408.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/starting-android.htm>)

Author: Khan Academy

Published: 2016-02-29T23:00:00Z

Content type: article

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [android-development](<https://devfeed.tech/topics/android-development.md>), [Development](<https://devfeed.tech/topics/development.md>), [Library](<https://devfeed.tech/topics/library.md>), [modules](<https://devfeed.tech/topics/modules.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [module](<https://devfeed.tech/tags/module.md>), [modules](<https://devfeed.tech/tags/modules.md>), [news](<https://devfeed.tech/tags/news.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [picasso](<https://devfeed.tech/tags/picasso.md>), [play-store](<https://devfeed.tech/tags/play-store.md>), [pre-commit](<https://devfeed.tech/tags/pre-commit.md>), [retrofit](<https://devfeed.tech/tags/retrofit.md>), [test](<https://devfeed.tech/tags/test.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

Khan Academy describes its first Android app, launched in August 2015, and the engineering practices used to build it. The team adopted established Android and open-source libraries, separated Android-independent core code from the app module, and used fast JVM tests and continuous integration.

### Source excerpt

By Ben Komalo The journey of a thousand miles... In March, 2015--almost 1 year ago to the day--we ... Read more

## Micron Shows off 512GB DDR5 RDIMM: 12TB per Dual-Socket Server at 9,200 MT/s, Volume Production in 2H 2027

DevFeed: [Micron Shows off 512GB DDR5 RDIMM: 12TB per Dual-Socket Server at 9,200 MT/s, Volume Production in 2H 2027](<https://devfeed.tech/articles/micron-shows-off-512gb-ddr5-rdimm-12tb-per-dual-socket-server-at-9-200-mt-s-volume-production-in-2h-2027-26753.md>)

Original publisher: [Read original article](<https://www.storagereview.com/news/micron-shows-a-512gb-ddr5-rdimm-12tb-per-dual-socket-server-at-9200-mt-s-volume-production-in-2h-2027>)

Author: Brian Beeler

Published: 2026-09-15T20:18:17Z

Content type: news

Language: en

Sources: [StorageReview.com](<https://devfeed.tech/sources/storagereview-com.md>)

Topics: [ddr5](<https://devfeed.tech/topics/ddr5.md>), [servers](<https://devfeed.tech/topics/servers.md>), [intel](<https://devfeed.tech/topics/intel.md>), [cpu](<https://devfeed.tech/topics/cpu.md>)

Tags: [capacity](<https://devfeed.tech/tags/capacity.md>), [ddr5](<https://devfeed.tech/tags/ddr5.md>), [enterprise](<https://devfeed.tech/tags/enterprise.md>), [generation](<https://devfeed.tech/tags/generation.md>), [intel](<https://devfeed.tech/tags/intel.md>), [memory](<https://devfeed.tech/tags/memory.md>), [modules](<https://devfeed.tech/tags/modules.md>), [performance](<https://devfeed.tech/tags/performance.md>), [production](<https://devfeed.tech/tags/production.md>), [release](<https://devfeed.tech/tags/release.md>), [server](<https://devfeed.tech/tags/server.md>), [speed](<https://devfeed.tech/tags/speed.md>), [volume](<https://devfeed.tech/tags/volume.md>)

### AI overview

Micron demonstrated a 512GB DDR5 RDIMM rated for up to 9,200 MT/s. The module can provide 12TB of memory in a 24-slot dual-socket server, with volume production scheduled for the second half of 2027. AMD and Intel are validating it for next-generation server platforms.

### Source excerpt

Micron has demonstrated a 512GB DDR5 RDIMM running on multiple server platforms, which it calls the world's first module at that capacity, and says AMD and Intel are both validating it for their next-generation server platforms. The module is rated for speeds up to 9,200 MT/s, and in a 24-slot dual-socket server it puts 12TB The post Micron Shows off 512GB DDR5 RDIMM: 12TB per Dual-Socket Server at 9,200 MT/s, Volume Production in 2H 2027 appeared first on StorageReview.com.

## jetc.dev Newsletter Issue #328

DevFeed: [jetc.dev Newsletter Issue #328](<https://devfeed.tech/articles/jetc-dev-newsletter-issue-328-22960.md>)

Original publisher: [Read original article](<https://jetc.dev/issues/328.html>)

Author: CommonsWare

Published: 2026-08-25T14:00:00Z

Content type: article

Language: en

Sources: [jetc.dev | Issues](<https://devfeed.tech/sources/jetc-dev-issues.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [modules](<https://devfeed.tech/topics/modules.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [batching](<https://devfeed.tech/tags/batching.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [images](<https://devfeed.tech/tags/images.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [modules](<https://devfeed.tech/tags/modules.md>), [newsletter](<https://devfeed.tech/tags/newsletter.md>), [published](<https://devfeed.tech/tags/published.md>), [videos](<https://devfeed.tech/tags/videos.md>)

### AI overview

Newsletter Issue #328 covers Jetpack Compose development topics, including API modules and composables, lazy-container lifecycle exceptions, recomposition and state-change batching, and selecting and copying text from images and videos.

### Source excerpt

API modules and composables! LazyColumn() exceptions! 'Select and copy text' for images and videos!

## Review a Koin upgrade as a graph change, not a version bump

DevFeed: [Review a Koin upgrade as a graph change, not a version bump](<https://devfeed.tech/articles/review-a-koin-upgrade-as-a-graph-change-not-a-version-bump-23963.md>)

Original publisher: [Read original article](<https://cloud-inject.io/notes/koin-version-upgrade-review/>)

Published: 2026-08-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Koin - Cloud-Inject.io -Kotzilla](<https://devfeed.tech/sources/koin-cloud-inject-io-kotzilla.md>)

Topics: [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [modules](<https://devfeed.tech/topics/modules.md>), [test](<https://devfeed.tech/topics/test.md>), [Compose](<https://devfeed.tech/topics/compose.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [compose](<https://devfeed.tech/tags/compose.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [modules](<https://devfeed.tech/tags/modules.md>), [test](<https://devfeed.tech/tags/test.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

This tutorial explains how to review a Koin dependency-injection upgrade as an architecture change rather than a simple version bump. It recommends recording the existing dependency graph, modules, warnings, startup results, and verification output; upgrading mechanisms separately; checking all startup variants; and maintaining tested rollback procedures.

### Source excerpt

Dependency-injection upgrades can change more than API names. Verification behavior, annotation processing, Compose packages, compiler integration, and deprecations can all alter how the graph is built. Treat the upgrade as an architecture change with a defined before-and-after record. Freeze the current graph Before changing versions, save the dependency lock or resolved graph, the list of DI modules, startup smoke-test results, and verification-test output. Record warnings that already exist so a new warning is not confused with old noise.

## Nix-grove: Configuration framework for flake-parts

DevFeed: [Nix-grove: Configuration framework for flake-parts](<https://devfeed.tech/articles/nix-grove-configuration-framework-for-flake-parts-31357.md>)

Original publisher: [Read original article](<https://discourse.nixos.org/t/nix-grove-configuration-framework-for-flake-parts/79444>)

Author: bitbloxhub

Published: 2026-08-08T18:32:05Z

Content type: comparison

Language: en

Sources: [Announcements - NixOS Discourse](<https://devfeed.tech/sources/announcements-nixos-discourse.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [framework](<https://devfeed.tech/tags/framework.md>), [modules](<https://devfeed.tech/tags/modules.md>)

### AI overview

A forum discussion introduces Nix-grove, a configuration framework for flake-parts. It describes using the Nix module system to define typed classes and instances, project them into module systems, and override individual results instead of relying primarily on an import=enable pattern.

### Source excerpt

AI USAGE: I used ChatGPT (GPT-5.6-Sol) to assist with design and planning, and Pi with GPT-5.6-Luna via openai-codex to help with implementation github.com GitHub - bitbloxhub/nix-grove: Configuration framework for flake-parts: define... Configuration framework for flake-parts: define typed classes and instances, project them into Nix module systems, and override individual results. Sort of an "alternative" to the Dendritic pattern. Still is about importing a bunch of flake-parts modules, but uses the module system for more, instead of import=enable. 6 posts - 3 participants Read full topic

## Emulating Terraform on Pulumi's Engine

DevFeed: [Emulating Terraform on Pulumi's Engine](<https://devfeed.tech/articles/emulating-terraform-on-pulumi-s-engine-19032.md>)

Original publisher: [Read original article](<https://www.pulumi.com/blog/terraforms-data-model-on-pulumis-engine/>)

Author: Ian Wahbe

Published: 2026-08-04T00:00:00Z

Content type: article

Language: en

Sources: [Pulumi](<https://devfeed.tech/sources/pulumi.md>)

Topics: [Terraform](<https://devfeed.tech/topics/terraform.md>), [opentofu](<https://devfeed.tech/topics/opentofu.md>), [terraform provider](<https://devfeed.tech/topics/terraform-provider.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [engineering](<https://devfeed.tech/tags/engineering.md>), [hcl](<https://devfeed.tech/tags/hcl.md>), [modules](<https://devfeed.tech/tags/modules.md>), [opentofu](<https://devfeed.tech/tags/opentofu.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [providers](<https://devfeed.tech/tags/providers.md>), [pulumi](<https://devfeed.tech/tags/pulumi.md>), [terraform](<https://devfeed.tech/tags/terraform.md>), [terraform-provider](<https://devfeed.tech/tags/terraform-provider.md>), [translation](<https://devfeed.tech/tags/translation.md>)

### AI overview

This article explains how Pulumi's HCL interpreter maps Terraform configuration, resources, providers, and modules onto the Pulumi engine. It reports that the implementation works with 96% of Pulumi's top Terraform modules and describes how Pulumi's terraform-provider relays between Pulumi and Terraform provider protocols.

### Source excerpt

The core promise of Pulumi's HCL support is that you can bring your existing Terraform configuration and modules, and pulumi will run them. If it works in OpenTofu and doesn't work in Pulumi, we would like to fix that. Given that goal, our HCL interpreter needs to take HCL as input and emit instructions to the Pulumi engine that semantically match how tofu would interpret the same input. This is made harder by the fact that Pulumi and OpenTofu have fundamentally different engine semantics and provider ecosystems. This blog post will explore how we have implemented that mapping well enough to get 96%1 of our top Terraform modules working on Pulumi. We'll briefly walk through how Pulumi's HCL interpreter handles Terraform's resource semantics, providers, and modules. It will also call out where Pulumi's HCL support lets you do things that Terraform and OpenTofu will not allow. Providers Both Pulumi and Terraform have providers, but they don't have the same providers. While there are providers that Terraform does not have, Pulumi can always resolve a Terraform provider using Pulumi's confusingly named terraform-provider provider.2 This is the same provider that lets you consume Any Terraform Provider in another Pulumi program with pulumi package add terraform-provider .... The terraform-provider provider acts as a relay: it speaks Pulumi's protocol to the Pulumi engine, and speaks Terraform's provider protocol to the Terraform provider it stands up. Because Pulumi HCL needs to work with all Pulumi providers and because terraform-provider lets Pulumi HCL speak to Terraform providers via the Pulumi protocol, Pulumi HCL actually only speaks Pulumi protocols directly: flowchart LR subgraph n2Entry[" "] n2["terraform-provider"] end subgraph providerBox["Pulumi Provider"] direction TD n2Entry n3["Terraform Provider"] end n0["Pulumi HCL"] <--> n1["Pulumi Engine"] n1 <--> n2Entry n2 <--> n3 n2@{ shape: rect} n3@{ shape: rect} n0@{ shape: rect} n1@{ shape: rect} style n2Entry f

## A guided tour of Terraform state, hosted modules, and HCL in Pulumi

DevFeed: [A guided tour of Terraform state, hosted modules, and HCL in Pulumi](<https://devfeed.tech/articles/a-guided-tour-of-terraform-state-hosted-modules-and-hcl-in-pulumi-19031.md>)

Original publisher: [Read original article](<https://www.pulumi.com/blog/terraform-to-pulumi-cloud-hands-on/>)

Author: Christian Nunciato

Published: 2026-08-04T00:00:00Z

Content type: tutorial

Language: en

Sources: [Pulumi](<https://devfeed.tech/sources/pulumi.md>)

Topics: [Terraform](<https://devfeed.tech/topics/terraform.md>), [opentofu](<https://devfeed.tech/topics/opentofu.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Template](<https://devfeed.tech/topics/template.md>)

Tags: [amazon-s3](<https://devfeed.tech/tags/amazon-s3.md>), [aws](<https://devfeed.tech/tags/aws.md>), [cli](<https://devfeed.tech/tags/cli.md>), [github](<https://devfeed.tech/tags/github.md>), [hcl](<https://devfeed.tech/tags/hcl.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [modules](<https://devfeed.tech/tags/modules.md>), [opentofu](<https://devfeed.tech/tags/opentofu.md>), [pulumi-cloud](<https://devfeed.tech/tags/pulumi-cloud.md>), [registry](<https://devfeed.tech/tags/registry.md>), [s3](<https://devfeed.tech/tags/s3.md>), [terraform](<https://devfeed.tech/tags/terraform.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>)

### AI overview

A hands-on walkthrough shows how to move a Terraform project that provisions an Amazon S3 bucket into Pulumi Cloud. It covers Pulumi Cloud as a Terraform state backend, hosted Terraform modules, and HCL authoring support, with references to OpenTofu and AWS.

### Source excerpt

Today's big release contains a whole new set of features designed for seamless interoperability with the Terraform and OpenTofu ecosystems, and there's a lot there -- so much that it can be tough to get your head around all of it. But it generally falls into three major categories: Support for Pulumi Cloud as a Terraform state backend, including remote execution with human approvals A Terraform module registry in Pulumi Cloud that lets you publish, document, and share your modules even across language boundaries First-class support for HCL as an authoring language in the Pulumi engine To make this release a little easier to appreciate holistically, I've put together a quick end-to-end walkthrough that doesn't quite cover everything, but does cover the big stuff, and should give you a sense of how it all comes together. We'll start with a simple Terraform project that you'll deploy to AWS, and then one step at a time, bring it into Pulumi Cloud and kick the tires on each of these new features as we go. It'll take a bit, but all you'll need are a free Pulumi account and the ability to deploy an S3 bucket to AWS. We've got a bunch to cover, so let's jump right in. Start with a Terraform project Our tour begins with a tiny Terraform project that provisions a single Amazon S3 bucket using a locally defined module that we'll publish later. The project is available on GitHub as a template, and the easiest way to use it is with the GitHub CLI: $ gh repo create my-tf-project \ --template cnunciato/simple-tf-template \ --public \ --clone && cd my-tf-project We'll use the local Terraform backend to start. Set your AWS credentials (preferably with environment variables), then deploy the project with Terraform or OpenTofu. (This walkthrough uses the terraform CLI, but you can swap in tofu if that's your preference.) $ terraform init && terraform apply ... Apply complete! Resources: 2 added, 0 changed, 0 destroyed. Outputs: bucket_arn = "arn:aws:s3:::my-tf-project-bucket-14d19ece"

## Make scalable routing system for your Flutter Apps

DevFeed: [Make scalable routing system for your Flutter Apps](<https://devfeed.tech/articles/make-scalable-routing-system-for-your-flutter-apps-23053.md>)

Original publisher: [Read original article](<https://medium.com/flutter-community/make-scalable-routing-system-for-your-flutter-apps-73510bf3d602?source=rss----86fb29d7cc6a---4>)

Author: Kanan Yusubov

Published: 2026-07-29T15:25:43Z

Content type: tutorial

Language: en

Sources: [Flutter Community - Medium](<https://devfeed.tech/sources/flutter-community-medium.md>)

Topics: [Flutter](<https://devfeed.tech/topics/flutter.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Usability](<https://devfeed.tech/topics/usability.md>)

Tags: [clean-architecture](<https://devfeed.tech/tags/clean-architecture.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [go-router](<https://devfeed.tech/tags/go-router.md>), [modular-router](<https://devfeed.tech/tags/modular-router.md>), [modules](<https://devfeed.tech/tags/modules.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [router](<https://devfeed.tech/tags/router.md>), [routing](<https://devfeed.tech/tags/routing.md>), [routing-system](<https://devfeed.tech/tags/routing-system.md>), [usability](<https://devfeed.tech/tags/usability.md>)

### AI overview

This tutorial describes a scalable, decoupled routing system for Flutter apps. It explains a wrapper built on go_router that adds typed route arguments, native and path parameters, cross-module modularization, nested routes, presentation modes, and type-safe route guards.

### Source excerpt

Recently, I've been working on migrating our app's routing system. We previously used auto_route, but eventually realized its tightly coupled nature made it incredibly difficult to scale across independent modules. Furthermore, its heavy reliance on code generation became a bottleneck for our workflow. To resolve this, we decided to architect a clean, scalable, and highly decoupled routing system. Our new solution is a powerful wrapper built on top of go_router. It abstracts away the raw string navigation and supercharges the router with custom features to maximize usability and type safety. In this blog post, I will walk you through the core benefits of this new routing system, covering the following key topics: Unified Routing Protocol (AppRouteInfo) Strictly Typed Route Arguments Native & Path Parameters Support Cross-Module Modularization (AppModuleRouter) Hierarchical Back stack & Sub-Routes (Nested Route Definitions, Decoupled Cross-Module Navigation) Dynamic Presentation Modes (e.g., Native, ModalSheet, NoTransition) Guard Interceptor Mechanism (Type-Safe Redirects, Global Interceptors) Note: This blog will show the general usage and problems it solved. For more detailed code, you can check the following link: https://github.com/thisisyusub/scalable-routing-system-demoArchitectural Structure of Routing System Here is how the demo application is structured to achieve a fully decoupled, scalable routing system: scalable_routing_system_demo (main app): The entry point of the application responsible for wiring up all services, dependency injection, and global route configurations. app_routes: Houses all route definitions, parameters, routing protocols, and models to ensure fully type-safe navigation. This is decoupled from the core routing package to separate app-specific business needs from generic routing mechanics. routing_system (core router): A generic, domain-agnostic router package that has zero knowledge of the app's specific routes. It exclusively provid

## Profunctor Optics

DevFeed: [Profunctor Optics](<https://devfeed.tech/articles/profunctor-optics-28864.md>)

Original publisher: [Read original article](<https://bartoszmilewski.com/2026/07/19/profunctor-optics/>)

Author: Bartosz Milewski

Published: 2026-07-19T11:39:02Z

Content type: article

Language: en

Sources: [Bartosz Milewski's Programming Cafe](<https://devfeed.tech/sources/bartosz-milewski-s-programming-cafe.md>)

Topics: [Haskell](<https://devfeed.tech/topics/haskell.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [modules](<https://devfeed.tech/topics/modules.md>)

Tags: [category-theory](<https://devfeed.tech/tags/category-theory.md>), [haskell](<https://devfeed.tech/tags/haskell.md>), [language](<https://devfeed.tech/tags/language.md>), [lens](<https://devfeed.tech/tags/lens.md>), [mapping](<https://devfeed.tech/tags/mapping.md>), [modules](<https://devfeed.tech/tags/modules.md>), [optics](<https://devfeed.tech/tags/optics.md>), [profunctors](<https://devfeed.tech/tags/profunctors.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [tambara-modules](<https://devfeed.tech/tags/tambara-modules.md>)

### AI overview

This article explains profunctor optics through Tannakian reconstruction. It presents optics as a category, describes lenses and their composition in Haskell, and introduces Tambara modules as a representation that simplifies optic composition.

### Source excerpt

You may think of Tannakian Reconstruction as an example of redundant encoding. It lets you replace a simple hom-set with a much more complex end that is taken over an entire functor category. Why would anyone want to do it? The answer is simple: composition! Morphisms on the left compose according to the rules of [...]

## A Gradle Module Structure for Clear Boundaries, Faster Builds, and Test Coverage

DevFeed: [A Gradle Module Structure for Clear Boundaries, Faster Builds, and Test Coverage](<https://devfeed.tech/articles/a-great-gradle-module-structure-30613.md>)

Original publisher: [Read original article](<https://ryanharter.com/blog/2026/07/a-great-gradle-module-structure/>)

Author: Jesse Wilson

Published: 2026-07-15T13:38:11Z

Content type: article

Language: en

Sources: [Blogs on Ryan Harter](<https://devfeed.tech/sources/blogs-on-ryan-harter.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [build times](<https://devfeed.tech/topics/build-times.md>), [modules](<https://devfeed.tech/topics/modules.md>), [test-coverage](<https://devfeed.tech/topics/test-coverage.md>), [Android Gradle Plugin](<https://devfeed.tech/topics/android-gradle-plugin.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [android-gradle-plugin](<https://devfeed.tech/tags/android-gradle-plugin.md>), [build](<https://devfeed.tech/tags/build.md>), [build-times](<https://devfeed.tech/tags/build-times.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [modules](<https://devfeed.tech/tags/modules.md>), [test-coverage](<https://devfeed.tech/tags/test-coverage.md>)

### AI overview

The article describes a Gradle module convention that separates each feature's public API from its implementation. The author says this structure reduced build times and coupling between features while helping enforce test coverage, with Android Gradle Plugin support making a separate test-fixtures module unnecessary.

### Source excerpt

Flattening my Dependency Graph Jesse Wilson Jesse explores a Gradle module structure that he likes. Read now ➡ I liked this not-so-recent post from Jesse Wilson, which outlines a Gradle module convention that prioritizes clear public/private boundaries to support encapsulation and build speed. The approach, adapted from one presented by Ralf Wondratschek, also happens to closely resemble one that I helped institute at Dropbox shortly after I joined four and a half years ago.

## Tambara Equipment

DevFeed: [Tambara Equipment](<https://devfeed.tech/articles/tambara-equipment-28862.md>)

Original publisher: [Read original article](<https://bartoszmilewski.com/2026/07/11/tambara-equipment/>)

Author: Bartosz Milewski

Published: 2026-07-11T08:13:34Z

Content type: article

Language: en

Sources: [Bartosz Milewski's Programming Cafe](<https://devfeed.tech/sources/bartosz-milewski-s-programming-cafe.md>)

Topics: [modules](<https://devfeed.tech/topics/modules.md>), [Haskell](<https://devfeed.tech/topics/haskell.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [category-theory](<https://devfeed.tech/tags/category-theory.md>), [code](<https://devfeed.tech/tags/code.md>), [double-categories](<https://devfeed.tech/tags/double-categories.md>), [double-category](<https://devfeed.tech/tags/double-category.md>), [haskell](<https://devfeed.tech/tags/haskell.md>), [modules](<https://devfeed.tech/tags/modules.md>), [optics](<https://devfeed.tech/tags/optics.md>), [proarrow-equipment](<https://devfeed.tech/tags/proarrow-equipment.md>), [profunctors](<https://devfeed.tech/tags/profunctors.md>), [structure](<https://devfeed.tech/tags/structure.md>), [tambara-modules](<https://devfeed.tech/tags/tambara-modules.md>), [tannakian-reconstruction](<https://devfeed.tech/tags/tannakian-reconstruction.md>), [theory](<https://devfeed.tech/tags/theory.md>), [transformation](<https://devfeed.tech/tags/transformation.md>)

### AI overview

This article explains Tambara modules through category theory and illustrates the concepts with Haskell code. It discusses their relationship to profunctors, monoidal actions, double categories, proarrow equipment, and Tannakian reconstruction.

### Source excerpt

I was originally attracted to category theory when trying to understand Haskell optics. I was puzzled by the van Laarhoven's functor representations and Kmett's use of Tambara modules. By playing Tetris with the Yoneda lemma I was able to make some progress, attacking more and more esoteric topics. With a group of researcher and students [...]

## NixOS 26.05 released

DevFeed: [NixOS 26.05 released](<https://devfeed.tech/articles/nixos-26-05-released-38878.md>)

Original publisher: [Read original article](<https://nixos.org/blog/announcements/2026/nixos-2605/>)

Author: NixOS

Published: 2026-05-30T07:00:00Z

Content type: release

Language: en

Sources: [NixOS Announcements](<https://devfeed.tech/sources/nixos-announcements.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [systemd](<https://devfeed.tech/topics/systemd.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [modules](<https://devfeed.tech/topics/modules.md>), [deprecated](<https://devfeed.tech/topics/deprecated.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [accessibility](<https://devfeed.tech/tags/accessibility.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [end-of-life](<https://devfeed.tech/tags/end-of-life.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [linux](<https://devfeed.tech/tags/linux.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [macos](<https://devfeed.tech/tags/macos.md>), [modules](<https://devfeed.tech/tags/modules.md>), [nix](<https://devfeed.tech/tags/nix.md>), [nixos](<https://devfeed.tech/tags/nixos.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [systemd](<https://devfeed.tech/tags/systemd.md>), [x86-64](<https://devfeed.tech/tags/x86-64.md>)

### AI overview

NixOS 26.05, named "Yarara," is publicly available as a new Linux distribution release. The announcement covers package, module, configuration, systemd initrd, platform-support, GNOME, and compiler changes, along with support timelines for NixOS 26.05 and the previous 25.11 release.

### Source excerpt

Hey everyone, we are yayayayaka and jopejoe1, the release managers of the newest release of NixOS. We are very proud to announce the public availability of NixOS 26.05 "Yarara". NixOS is a Linux distribution. Its underlying package repository Nixpkgs can also be used on other Linux systems and macOS with the Nix package manager. This release will receive bugfixes and security updates for seven months (up until 2026-12-31). The old release 25.11 "Xantusia" is now officially deprecated and will reach its end-of-life and stop receiving security updates after 2026-06-30. NixOS Release Notes Highlights New Modules Backward Incompatibilities Other Notable Changes Nixpkgs Release Notes Highlights Backward Incompatibilities Other Notable Changes Nixpkgs Library Upgrade Instructions ISO Image Downloads The 26.05 release was made possible due to the efforts of 2842 contributors, who authored 59703 commits since the previous release. Highlights Our vast and routinely maintained set of packages has also been updated. This release of Nixpkgs Added 20442 new packages Updated 20641 existing packages Removed 17532 outdated packages, in an effort to keep the package set maintainable and secure. In addition to packages from Nixpkgs, the NixOS Linux distribution also features composable configuration modules and integration tests for distributed systems. This release of NixOS Added 85 new modules and 1547 configuration options Removed 25 outdated modules and 355 configuration options. systemd stage 1 Stage 1 (a.k.a. initrd) is now based on systemd by default, and the old scripted implementation is deprecated and scheduled for removal in 26.11. Deprecation of x86_64-darwin This will be the last release of Nixpkgs to support x86_64-darwin. Platform support will be maintained and binaries built until Nixpkgs 26.05 goes out of support at the end of 2026. For 26.11, due to Apple's deprecation of the platform and limited build infrastructure and developer time, we will no longer build packa

## Compose Unstyled 2.0 introduces a foundation for building Compose component libraries

DevFeed: [Compose Unstyled 2.0 introduces a foundation for building Compose component libraries](<https://devfeed.tech/articles/compose-unstyled-2-0-let-there-be-component-libraries-28449.md>)

Original publisher: [Read original article](<https://composables.com/blog/compose-unstyled-2.0>)

Author: Alex Styl

Published: 2026-05-14T00:00:00Z

Content type: release

Language: en

Sources: [Composables - Concise, no-fluff video tutorials for Android developers](<https://devfeed.tech/sources/composables-concise-no-fluff-video-tutorials-for-android-developers.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Design system](<https://devfeed.tech/topics/design-system.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [component](<https://devfeed.tech/tags/component.md>), [compose](<https://devfeed.tech/tags/compose.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [modules](<https://devfeed.tech/tags/modules.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Compose Unstyled 2.0 is presented as a foundation for building custom Compose component libraries. The release introduces composable component APIs, redesigned Dropdown and Tooltip APIs, separate modules, and a fully unstyled core with deprecated APIs removed.

### Source excerpt

Compose Unstyled 2.0 is a new foundation for building your own Compose component library.

## Inside the New ESP-Brookesia v0.7 Architecture

DevFeed: [Inside the New ESP-Brookesia v0.7 Architecture](<https://devfeed.tech/articles/inside-the-new-esp-brookesia-v0-7-architecture-13768.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2026/05/esp-brookesia-new-architecture-0-7/>)

Author: John Lee

Published: 2026-05-04T00:00:00Z

Content type: article

Language: en

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

Topics: [Framework](<https://devfeed.tech/topics/framework.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Development](<https://devfeed.tech/topics/development.md>), [MCP](<https://devfeed.tech/topics/mcp.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>)

Tags: [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [aiot](<https://devfeed.tech/tags/aiot.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [blog](<https://devfeed.tech/tags/blog.md>), [components](<https://devfeed.tech/tags/components.md>), [esp-brookesia](<https://devfeed.tech/tags/esp-brookesia.md>), [framework](<https://devfeed.tech/tags/framework.md>), [hmi](<https://devfeed.tech/tags/hmi.md>), [llms](<https://devfeed.tech/tags/llms.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [modules](<https://devfeed.tech/tags/modules.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [product-development](<https://devfeed.tech/tags/product-development.md>)

### AI overview

This article introduces the redesigned ESP-Brookesia v0.7 architecture for building AIoT interaction products. It describes the framework's layered structure, including hardware abstraction, device services, AI Agent and AI Expression modules, and application layers. It also explains how Function Calling and MCP connect LLMs with device-side functionality.

### Source excerpt

This article introduces the redesigned ESP-Brookesia v0.7 architecture, from Utils, HAL, and General Service to AI Agent and AI Expression. It explains how these modules fit together and highlights two examples that help you quickly understand how to build AIoT interaction products on top of the framework.

## Modernizing the Command Line: Heroku CLI v11

DevFeed: [Modernizing the Command Line: Heroku CLI v11](<https://devfeed.tech/articles/modernizing-the-command-line-heroku-cli-v11-26469.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/modernizing-the-command-line-heroku-cli-v11/>)

Author: Eric Black

Published: 2026-03-19T22:29:49Z

Content type: release

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [modules](<https://devfeed.tech/topics/modules.md>), [migration](<https://devfeed.tech/topics/migration.md>), [maintenance](<https://devfeed.tech/topics/maintenance.md>), [Usability](<https://devfeed.tech/topics/usability.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [migration](<https://devfeed.tech/tags/migration.md>), [modules](<https://devfeed.tech/tags/modules.md>), [monorepo](<https://devfeed.tech/tags/monorepo.md>), [news](<https://devfeed.tech/tags/news.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [performance](<https://devfeed.tech/tags/performance.md>), [release](<https://devfeed.tech/tags/release.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [usability](<https://devfeed.tech/tags/usability.md>)

### AI overview

Heroku CLI v11 is available with a migration to ECMAScript Modules and oclif v4. The release also changes the build system from Yarn to npm, removes the monorepo structure, improves command execution and manifest caching, and adds semantic colors and theme support.

### Source excerpt

Heroku CLI v11 is now available. This release represents the most significant architectural overhaul in years, completing our migration to ECMAScript Modules (ESM) and oclif v4. This modernization brings faster performance, a new semantic color system, and aligns the CLI with modern JavaScript standards. While v11 introduces breaking changes to legacy namespaces, the benefits are [...] The post Modernizing the Command Line: Heroku CLI v11 appeared first on Heroku.

## pg\_plan\_advice: Plan Stability and User Planner Control for PostgreSQL?

DevFeed: [pg\_plan\_advice: Plan Stability and User Planner Control for PostgreSQL?](<https://devfeed.tech/articles/pg-plan-advice-plan-stability-and-user-planner-control-for-postgresql-33636.md>)

Original publisher: [Read original article](<https://rhaas.blogspot.com/2026/03/pgplanadvice-plan-stability-and-user.html>)

Author: Robert Haas (noreply@blogger.com)

Published: 2026-03-04T17:55:00Z

Content type: opinion

Language: en

Sources: [Robert Haas](<https://devfeed.tech/sources/robert-haas.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [JOIN](<https://devfeed.tech/topics/join.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>)

Tags: [join](<https://devfeed.tech/tags/join.md>), [modules](<https://devfeed.tech/tags/modules.md>), [plan](<https://devfeed.tech/tags/plan.md>), [planner](<https://devfeed.tech/tags/planner.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [query](<https://devfeed.tech/tags/query.md>), [test](<https://devfeed.tech/tags/test.md>)

### AI overview

The article presents a proposed PostgreSQL 19 patch set introducing the pg_plan_advice, pg_collect_advice, and pg_stash_advice contrib modules. It demonstrates how pg_plan_advice can generate plan advice strings, preserve selected planner decisions, or vary advice to produce a different join plan.

### Source excerpt

I'm proposing a very ambitious patch set for PostgreSQL 19. Only time will tell whether it ends up in the release, but I can't resist using this space to give you a short demonstration of what it can do. The patch set introduces three new contrib modules, currently called pg_plan_advice, pg_collect_advice, and pg_stash_advice. Read more "

## 7 steps in a Legacy Modernization Project

DevFeed: [7 steps in a Legacy Modernization Project](<https://devfeed.tech/articles/7-steps-in-a-legacy-modernization-project-20742.md>)

Original publisher: [Read original article](<https://tomassetti.me/7-steps-in-a-legacy-modernization-project/>)

Author: Federico Tomassetti

Published: 2026-02-25T06:55:00Z

Content type: tutorial

Language: en

Sources: [Federico Tomassetti](<https://devfeed.tech/sources/federico-tomassetti.md>)

Topics: [Agile](<https://devfeed.tech/topics/agile.md>), [Code quality](<https://devfeed.tech/topics/code-quality.md>), [Code](<https://devfeed.tech/topics/code.md>), [modules](<https://devfeed.tech/topics/modules.md>)

Tags: [automated](<https://devfeed.tech/tags/automated.md>), [business-value](<https://devfeed.tech/tags/business-value.md>), [code-quality](<https://devfeed.tech/tags/code-quality.md>), [legacy-modernization](<https://devfeed.tech/tags/legacy-modernization.md>), [modernization](<https://devfeed.tech/tags/modernization.md>), [modules](<https://devfeed.tech/tags/modules.md>), [project](<https://devfeed.tech/tags/project.md>), [rpg](<https://devfeed.tech/tags/rpg.md>), [technical](<https://devfeed.tech/tags/technical.md>)

### AI overview

This tutorial outlines seven steps for modernizing an RPG-based ERP/MRP system: assess the legacy landscape, define a roadmap, secure buy-in and budget, build the right team and partnerships, execute iterative value-driven increments, manage change, and measure and adapt the modernization effort.

### Source excerpt

Embarking on an RPG-based ERP/MRP system modernization is undeniably complex. But it's also highly rewarding when aligned with your business's long-term success. By addressing both the technical and strategic facets, you turn an aging system from a liability into a competitive asset. Let's outline the 7 steps in a legacy modernization project: Step 1: Assess [...] The post 7 steps in a Legacy Modernization Project appeared first on Federico Tomassetti.

## Inspecting the Source of Go Modules

DevFeed: [Inspecting the Source of Go Modules](<https://devfeed.tech/articles/inspecting-the-source-of-go-modules-20695.md>)

Original publisher: [Read original article](<https://words.filippo.io/go-source/>)

Author: Filippo Valsorda

Published: 2026-02-12T13:48:03Z

Content type: article

Language: en

Sources: [Filippo Valsorda](<https://devfeed.tech/sources/filippo-valsorda.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [modules](<https://devfeed.tech/topics/modules.md>), [integrity](<https://devfeed.tech/topics/integrity.md>), [Security](<https://devfeed.tech/topics/security.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [cryptographic](<https://devfeed.tech/tags/cryptographic.md>), [github](<https://devfeed.tech/tags/github.md>), [go](<https://devfeed.tech/tags/go.md>), [integrity](<https://devfeed.tech/tags/integrity.md>), [modules](<https://devfeed.tech/tags/modules.md>), [security](<https://devfeed.tech/tags/security.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [transparency-log](<https://devfeed.tech/tags/transparency-log.md>), [verification](<https://devfeed.tech/tags/verification.md>), [verify](<https://devfeed.tech/tags/verify.md>)

### AI overview

The article explains how the Go Checksum Database verifies module source and helps protect against altered tags and targeted versions. It argues that viewing code directly on GitHub can bypass this verification, using a malicious BoltDB module incident as an example, and recommends fetching source with Go tooling for review.

### Source excerpt

Code hosts like GitHub don't necessarily show the correct source of Go modules. pkg.geomys.dev is a new convenient viewer for module source.

## From Dagger to Metro

DevFeed: [From Dagger to Metro](<https://devfeed.tech/articles/from-dagger-to-metro-20445.md>)

Original publisher: [Read original article](<https://vinted.engineering//2026/02/12/from-dagger-to-metro/>)

Author: Andrius Semionovas

Published: 2026-02-12T00:00:00Z

Content type: article

Language: en

Sources: [Vinted](<https://devfeed.tech/sources/vinted.md>)

Topics: [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Android](<https://devfeed.tech/topics/android.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Dagger](<https://devfeed.tech/topics/dagger.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [dagger](<https://devfeed.tech/tags/dagger.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [migration](<https://devfeed.tech/tags/migration.md>), [modules](<https://devfeed.tech/tags/modules.md>)

### AI overview

Vinted's Android developers describe their migration from Dagger and related dependency-injection tools to Metro. The article covers their large, modular codebase, Anvil's maintenance status and K2 migration pressure, and Metro's interoperability with Dagger, Anvil, and kotlin-inject.

### Source excerpt

Metro - modern and kotlin injection framework created by Zac Sweers. And we, Android developers at Vinted, officially and fully migrated to it! It was quite a bumpy ride for our huge codebase. Our story begins...

## Flattening my Dependency Graph

DevFeed: [Flattening my Dependency Graph](<https://devfeed.tech/articles/flattening-my-dependency-graph-32249.md>)

Original publisher: [Read original article](<https://publicobject.com/2026/02/03/flattening-my-dependency-graph/>)

Author: Jesse Wilson

Published: 2026-02-03T05:28:50Z

Content type: opinion

Language: en

Sources: [Public Object](<https://devfeed.tech/sources/public-object.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Ktor](<https://devfeed.tech/topics/ktor.md>)

Tags: [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [ktor](<https://devfeed.tech/tags/ktor.md>), [modules](<https://devfeed.tech/tags/modules.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>)

### AI overview

The author describes structuring a Kotlin server's dependency graph using a three-module pattern for each feature: public API, implementation, and dependency-injection wiring. The approach aims to support parallel builds, reduce unnecessary rebuilds, and keep dependencies manageable.

### Source excerpt

Rounds has a Kotlin server that integrates a few things: PostgreSQL persistence via SQLDelight (hosted on PlanetScale!) WebAuthn4J for Passkeys kotlinx.html for dynamic web pages Ktor for HTTP binding The service uses six database tables. The business domain tables are Game and GameEvent. Support for auth, sessions, and collaborative

## IPLD 2025 Review: From Monoliths to Modules

DevFeed: [IPLD 2025 Review: From Monoliths to Modules](<https://devfeed.tech/articles/ipld-2025-review-from-monoliths-to-modules-35627.md>)

Original publisher: [Read original article](<https://blog.ipfs.tech/2026-01-ipld-2025-review/>)

Author: Volker Mische

Published: 2026-01-19T00:00:00Z

Content type: article

Language: en

Sources: [IPFS](<https://devfeed.tech/sources/ipfs.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [modules](<https://devfeed.tech/topics/modules.md>), [migration](<https://devfeed.tech/topics/migration.md>), [IPFS](<https://devfeed.tech/topics/ipfs.md>), [AT Protocol](<https://devfeed.tech/topics/atproto.md>), [deprecated](<https://devfeed.tech/topics/deprecated.md>)

Tags: [deprecated](<https://devfeed.tech/tags/deprecated.md>), [ipfs](<https://devfeed.tech/tags/ipfs.md>), [migration](<https://devfeed.tech/tags/migration.md>), [modules](<https://devfeed.tech/tags/modules.md>), [object-object](<https://devfeed.tech/tags/object-object.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [rust](<https://devfeed.tech/tags/rust.md>)

### AI overview

The article reviews progress in the IPLD ecosystem during 2025 and previews work for 2026. It describes the Rust IPLD implementation's migration to separate crates, its deprecation, improved performance for Python DAG-CBOR and Bluesky custom feeds, and a migration path to Serde-based crates.

### Source excerpt

The year that brought us modular Rust libraries, faster DAG-CBOR, stable multiformats, and a simpler on-ramp with DASL.

## go.sum Is Not a Lockfile

DevFeed: [go.sum Is Not a Lockfile](<https://devfeed.tech/articles/go-sum-is-not-a-lockfile-20696.md>)

Original publisher: [Read original article](<https://words.filippo.io/gosum/>)

Author: Filippo Valsorda

Published: 2026-01-05T20:06:30Z

Content type: article

Language: en

Sources: [Filippo Valsorda](<https://devfeed.tech/sources/filippo-valsorda.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Security](<https://devfeed.tech/topics/security.md>), [supply chain attacks](<https://devfeed.tech/topics/supply-chain-attacks.md>)

Tags: [dependencies](<https://devfeed.tech/tags/dependencies.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [modules](<https://devfeed.tech/tags/modules.md>), [security](<https://devfeed.tech/tags/security.md>), [supply-chain-attacks](<https://devfeed.tech/tags/supply-chain-attacks.md>)

### AI overview

The article explains that Go's go.sum is a local cache of cryptographic hashes for the Go Checksum Database, not a lockfile and not part of version resolution. It contrasts go.sum with go.mod, which lists the precise dependency versions used to build the main module and its tests.

### Source excerpt

In Go, go.mod acts as both manifest and lockfile. There is never a reason to look at go.sum.

## Creating an Arduino Library for ESP32

DevFeed: [Creating an Arduino Library for ESP32](<https://devfeed.tech/articles/creating-an-arduino-library-for-esp32-13737.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2025/12/arduino-library-creation/>)

Author: John Lee

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

Content type: tutorial

Language: en

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

Topics: [Arduino](<https://devfeed.tech/topics/arduino.md>), [ESP32](<https://devfeed.tech/topics/esp32.md>), [Library](<https://devfeed.tech/topics/library.md>), [Development](<https://devfeed.tech/topics/development.md>), [Code](<https://devfeed.tech/topics/code.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [arduino](<https://devfeed.tech/tags/arduino.md>), [arduino-ide](<https://devfeed.tech/tags/arduino-ide.md>), [beginner](<https://devfeed.tech/tags/beginner.md>), [blog](<https://devfeed.tech/tags/blog.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [class](<https://devfeed.tech/tags/class.md>), [classes](<https://devfeed.tech/tags/classes.md>), [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [getting-started](<https://devfeed.tech/tags/getting-started.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ide](<https://devfeed.tech/tags/ide.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [library](<https://devfeed.tech/tags/library.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [modular](<https://devfeed.tech/tags/modular.md>), [modularity](<https://devfeed.tech/tags/modularity.md>), [modules](<https://devfeed.tech/tags/modules.md>), [programming](<https://devfeed.tech/tags/programming.md>), [structure](<https://devfeed.tech/tags/structure.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A step-by-step guide to creating, structuring, and publishing custom Arduino libraries for ESP32. It explains library benefits and structure, prerequisites, and implementation through a minimal "Hello World" example.

### Source excerpt

Learn how to create, structure, and publish Arduino libraries for ESP32. This step-by-step guide covers everything from understanding a library structure to submitting your library to the Arduino Library Manager.

## Python in Visual Studio Code - November 2025 Release

DevFeed: [Python in Visual Studio Code - November 2025 Release](<https://devfeed.tech/articles/python-in-visual-studio-code-november-2025-release-20352.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/python/python-in-visual-studio-code-november-2025-release/>)

Author: Luciana Abud

Published: 2025-11-13T18:41:50Z

Content type: release

Language: en

Sources: [Microsoft Python Engineering](<https://devfeed.tech/sources/microsoft-python-engineering.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Visual Studio Code](<https://devfeed.tech/topics/visual-studio-code.md>), [GitHub Copilot](<https://devfeed.tech/topics/github-copilot.md>), [debug](<https://devfeed.tech/topics/debug.md>), [modules](<https://devfeed.tech/topics/modules.md>)

Tags: [copilot](<https://devfeed.tech/tags/copilot.md>), [debugger](<https://devfeed.tech/tags/debugger.md>), [developers](<https://devfeed.tech/tags/developers.md>), [features](<https://devfeed.tech/tags/features.md>), [github-copilot](<https://devfeed.tech/tags/github-copilot.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [modules](<https://devfeed.tech/tags/modules.md>), [python](<https://devfeed.tech/tags/python.md>), [release](<https://devfeed.tech/tags/release.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>)

### AI overview

The November 2025 release of the Python extension for Visual Studio Code adds Copilot Hover Summaries support for inserting AI-generated documentation as docstrings, localized hover summaries, a Pylance Code Action for converting wildcard imports to explicit imports, and debugger support for multiple project interpreters through the Python Environments Extension.

### Source excerpt

The November 2025 release brings new Pylance features including improvements to Copilot Hover Summaries and a Code Action to convert wildcard imports to explicit imports. Keep on reading to learn more! The post Python in Visual Studio Code - November 2025 Release appeared first on Microsoft for Python Developers Blog.

[Next page](<https://devfeed.tech/tags/modules.md?cursor=WyIyMDI1LTExLTEzVDE4OjQxOjUwKzAwOjAwIiwgIjI1ZWUyZDY4LTBhNDMtNGZhYy1iMDg0LTQyNzM4OTg0NmNlOCJd>)