# jetbrains

Published articles for jetbrains.

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

## Building a RAG Pipeline for Semantic Code Search: A Developer Diary and Field Notes

DevFeed: [Building a RAG Pipeline for Semantic Code Search: A Developer Diary and Field Notes](<https://devfeed.tech/articles/building-a-rag-pipeline-for-semantic-code-search-a-developer-diary-and-field-notes-41302.md>)

Original publisher: [Read original article](<https://blog.jetbrains.com/ai/2026/09/building-a-rag-pipeline-for-semantic-code-search-a-developer-diary-and-field-notes/>)

Author: Adam Malek

Published: 2026-09-17T12:39:40Z

Content type: article

Language: en

Sources: [The JetBrains Blog](<https://devfeed.tech/sources/the-jetbrains-blog.md>)

Topics: [Retrieval Augmented Generation (RAG)](<https://devfeed.tech/topics/retrieval-augmented-generation-rag.md>), [code search](<https://devfeed.tech/topics/code-search.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>)

Tags: [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [ai](<https://devfeed.tech/tags/ai.md>), [code-search](<https://devfeed.tech/tags/code-search.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [llm](<https://devfeed.tech/tags/llm.md>), [llm-agents](<https://devfeed.tech/tags/llm-agents.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [rag](<https://devfeed.tech/tags/rag.md>), [search](<https://devfeed.tech/tags/search.md>), [semantic](<https://devfeed.tech/tags/semantic.md>)

### AI overview

Part 1 of a developer diary explains how JetBrains built a RAG pipeline for semantic code search, covering parsing, chunking, and vectorization. The pipeline is intended to give LLM agents precise, citable evidence from real repositories and retrieve code by meaning rather than exact keywords.

### Source excerpt

Part 1: Parsing, chunking, and vectorization Some time ago, we set out to build the best semantic code search platform we could: a RAG pipeline that gives LLM agents precise, citable evidence from real repositories instead of whatever grep happens to surface. The eventual solution was JetBrains Context. We got it working, we got it [...]

## Rider and ReSharper 2026.2.2 Are Out!

DevFeed: [Rider and ReSharper 2026.2.2 Are Out!](<https://devfeed.tech/articles/rider-and-resharper-2026-2-2-are-out-31525.md>)

Original publisher: [Read original article](<https://blog.jetbrains.com/dotnet/2026/09/16/rd-rs-2026-2-2/>)

Author: Alexander Kurakin

Published: 2026-09-16T14:12:44Z

Content type: release

Language: en

Sources: [The JetBrains Blog](<https://devfeed.tech/sources/the-jetbrains-blog.md>)

Topics: [rider](<https://devfeed.tech/topics/rider.md>), [resharper](<https://devfeed.tech/topics/resharper.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [test-coverage](<https://devfeed.tech/topics/test-coverage.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [ai-agent-hooks](<https://devfeed.tech/tags/ai-agent-hooks.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [code-coverage](<https://devfeed.tech/tags/code-coverage.md>), [coverage](<https://devfeed.tech/tags/coverage.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [macos](<https://devfeed.tech/tags/macos.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [net](<https://devfeed.tech/tags/net.md>), [net-tools](<https://devfeed.tech/tags/net-tools.md>), [releases](<https://devfeed.tech/tags/releases.md>), [resharper](<https://devfeed.tech/tags/resharper.md>), [rider](<https://devfeed.tech/tags/rider.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

JetBrains releases Rider, ReSharper, and .NET tools 2026.2.2, adding an AI Agent Setup widget in Rider, more targeted hook feedback for coding agents, TUnit coverage support, and fixes including a macOS freezing issue.

### Source excerpt

We've released version 2026.2.2 of ReSharper, Rider, and .NET tools. You can install this update from inside the tools themselves, through the Toolbox App, or on our website. Here's what's new in this update. Rider 2026.2.2 AI Agent Setup widget We've recently added a wide range of features to help you work with coding agents [...]

## Behind the Scenes: How the OpenTelemetry Plugin Maps Your Microservices in Real-Time

DevFeed: [Behind the Scenes: How the OpenTelemetry Plugin Maps Your Microservices in Real-Time](<https://devfeed.tech/articles/behind-the-scenes-how-the-opentelemetry-plugin-maps-your-microservices-in-real-time-30919.md>)

Original publisher: [Read original article](<https://blog.jetbrains.com/platform/2026/09/how-to-service-map-with-opentelemetry/>)

Author: Egor Klimov

Published: 2026-09-16T12:34:47Z

Content type: article

Language: en

Sources: [The JetBrains Blog](<https://devfeed.tech/sources/the-jetbrains-blog.md>)

Topics: [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [Microservices](<https://devfeed.tech/topics/microservices.md>), [observability](<https://devfeed.tech/topics/observability.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [Traces](<https://devfeed.tech/topics/traces.md>), [ide](<https://devfeed.tech/topics/ide.md>)

Tags: [all-things-web](<https://devfeed.tech/tags/all-things-web.md>), [backstage](<https://devfeed.tech/tags/backstage.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [goland](<https://devfeed.tech/tags/goland.md>), [ide](<https://devfeed.tech/tags/ide.md>), [idea](<https://devfeed.tech/tags/idea.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [intellij-platform](<https://devfeed.tech/tags/intellij-platform.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [observability](<https://devfeed.tech/tags/observability.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [performance-optimization](<https://devfeed.tech/tags/performance-optimization.md>), [plugin-development](<https://devfeed.tech/tags/plugin-development.md>), [plugin-highlights](<https://devfeed.tech/tags/plugin-highlights.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [pycharm](<https://devfeed.tech/tags/pycharm.md>), [research](<https://devfeed.tech/tags/research.md>), [rider](<https://devfeed.tech/tags/rider.md>), [telemetry](<https://devfeed.tech/tags/telemetry.md>), [traces](<https://devfeed.tech/tags/traces.md>), [webstorm](<https://devfeed.tech/tags/webstorm.md>)

### AI overview

This article explains how the JetBrains OpenTelemetry Plugin generates a service map from runtime telemetry. It describes using logs, metrics, and especially standardized trace spans to visualize how microservices communicate, along with the plugin's lightweight local OpenTelemetry backend.

### Source excerpt

We've all been there: you join a new project, and the first thing you ask for is the architecture diagram. You're handed a diagram that looks great, but after a week of debugging, you realize it's six months out of date. Service A hasn't talked to Service B since the spring, and there's a new [...]

## Build Setup: Targets, Source Sets and buildSrc for tvOS in a Compose Multiplatform Fork

DevFeed: [Build Setup: Targets, Source Sets and buildSrc for tvOS in a Compose Multiplatform Fork](<https://devfeed.tech/articles/build-setup-targets-source-sets-and-buildsrc-for-tvos-in-a-compose-multiplatform-fork-22943.md>)

Original publisher: [Read original article](<https://proandroiddev.com/build-setup-targets-source-sets-and-buildsrc-for-tvos-in-a-compose-multiplatform-fork-4d9caafa30a8?source=rss----c72404660798---4>)

Author: Sajid Ali

Published: 2026-09-14T04:24:43Z

Content type: tutorial

Language: en

Sources: [ProAndroidDev - Medium](<https://devfeed.tech/sources/proandroiddev-medium.md>)

Topics: [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [tvOS](<https://devfeed.tech/topics/tvos.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [build](<https://devfeed.tech/tags/build.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [gradle-plugin](<https://devfeed.tech/tags/gradle-plugin.md>), [ios](<https://devfeed.tech/tags/ios.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [source](<https://devfeed.tech/tags/source.md>)

### AI overview

This tutorial explains the build setup for adding tvOS support to a Compose Multiplatform fork. It covers Kotlin Multiplatform targets, source-set organization shared between iOS and tvOS, and the build-layer work used to identify missing modules and dependencies.

### Source excerpt

Compose Multiplatform on tvOS This series: Compose Multiplatform on tvOS My Journey Making Compose Multiplatform Work on tvOS, and What I Learned Build Setup: Targets, Source Sets and buildSrc for tvOS in a Compose Multiplatform Fork (this post) Rendering (coming soon) Siri Remote input (coming soon) Siri Remote trackpad (coming soon) Screen density and text input (coming soon) Porting tv-material (coming soon) The Gradle plugin and third-party libraries (coming soon) Maintaining the fork (coming soon) Building a real app on it (coming soon) Part 1 was why this fork exists. This one is the build layer, and it comes before any Compose code, because in Kotlin Multiplatform a target is not a flag you flip at the end. It decides which source sets compile, which dependencies resolve, which klibs get published, which linker flags get passed. Until the build knows about tvosArm64, nothing tells you what is missing. So the first commits were build files. Once the targets were on, the compiler listed what was missing, module by module, and I worked through that list. Source set layout on the tvos branch I started on a branch called tvos, based on upstream. Back then JetBrains called iOS "uikit" in this repository and the source set was uikitMain. Because tvOS is also UIKit underneath, it made sense to have a common source parent for both iOS and tvOS. But iOS was already being called uikit, so I chose uiKitCommonMain as the source set name and moved all the UIKit files there, keeping only the iOS specific files in uikitMain and putting the tvOS specific files in a new source set, tvosMain. The problem with this approach was how to keep up with upstream. I tried a symlink to the uikit source set, and then overriding the tvOS files in a separate target. The override worked but complicated the process. At that time my goal was to make it runnable on tvOS however possible, so we would have a proof of concept. So I did a lot of hacks in the tvos branch to make it runnable, and af

## What to expect at the Zephyr Project Meetup (September 15, 2026) - Amsterdam, Netherlands

DevFeed: [What to expect at the Zephyr Project Meetup (September 15, 2026) - Amsterdam, Netherlands](<https://devfeed.tech/articles/what-to-expect-at-the-zephyr-project-meetup-september-15-2026-amsterdam-netherlands-38677.md>)

Original publisher: [Read original article](<https://zephyrproject.org/what-to-expect-at-the-zephyr-project-meetup-september-15-2026-amsterdam-netherlands/>)

Author: Susan Remmert

Published: 2026-09-09T05:00:04Z

Content type: news

Language: en

Sources: [Zephyr Project](<https://devfeed.tech/sources/zephyr-project-2.md>)

Topics: [Zephyr RTOS](<https://devfeed.tech/topics/zephyr-rtos.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [Fuzzing/Fuzz testing](<https://devfeed.tech/topics/fuzzing.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [blog](<https://devfeed.tech/tags/blog.md>), [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [crashes](<https://devfeed.tech/tags/crashes.md>), [developer-tooling](<https://devfeed.tech/tags/developer-tooling.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [event](<https://devfeed.tech/tags/event.md>), [events](<https://devfeed.tech/tags/events.md>), [firmware](<https://devfeed.tech/tags/firmware.md>), [fuzzing](<https://devfeed.tech/tags/fuzzing.md>), [harness](<https://devfeed.tech/tags/harness.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [meetup](<https://devfeed.tech/tags/meetup.md>), [memory-corruption](<https://devfeed.tech/tags/memory-corruption.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [simulator](<https://devfeed.tech/tags/simulator.md>), [zephyr](<https://devfeed.tech/tags/zephyr.md>)

### AI overview

The Zephyr Project Meetup in Amsterdam on September 15, 2026, will bring together embedded developers, contributors, students, and engineers to share practical knowledge about Zephyr RTOS. The agenda includes talks on JetBrains' work with Zephyr, fuzzing Zephyr with AFL and Renode, and making hardware development easier with Schematik.

### Source excerpt

What are developers in the Netherlands building with Zephyr? On September 15, the embedded community will meet in Amsterdam to exchange practical knowledge, discuss current work, and learn more about the Zephyr RTOS. The event is open to experienced contributors, first-time users, students, engineers, and anyone curious about open source embedded development.

## Compose Multiplatform Is a Business Decision, Not a Technical One - Justin Mancinelli

DevFeed: [Compose Multiplatform Is a Business Decision, Not a Technical One - Justin Mancinelli](<https://devfeed.tech/articles/compose-multiplatform-is-a-business-decision-not-a-technical-one-justin-mancinelli-38181.md>)

Original publisher: [Read original article](<https://touchlab.co/compose-multiplatform-business-decision>)

Published: 2026-09-01T18:00:00Z

Content type: opinion

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [Flutter](<https://devfeed.tech/topics/flutter.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [React Native](<https://devfeed.tech/topics/react-native.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>)

Tags: [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [react](<https://devfeed.tech/tags/react.md>), [technical](<https://devfeed.tech/tags/technical.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This opinion article argues that Compose Multiplatform is a strategic business choice for sharing UI across Android, iOS, desktop, and web. It compares CMP with Flutter and React Native, emphasizing its Kotlin and Jetpack Compose foundations and its native status on Android.

### Source excerpt

If you are weighing Flutter, maintaining two native UI codebases "for now", or assuming cross-platform means giving something up, read this before your next roadmap conversation.

## jetc.dev Newsletter Issue #325

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

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

Author: CommonsWare

Published: 2026-08-04T14: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>), [releases](<https://devfeed.tech/topics/releases.md>), [debug](<https://devfeed.tech/topics/debug.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [agents](<https://devfeed.tech/tags/agents.md>), [compose](<https://devfeed.tech/tags/compose.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [dev](<https://devfeed.tech/tags/dev.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [memory-leaks](<https://devfeed.tech/tags/memory-leaks.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [published](<https://devfeed.tech/tags/published.md>), [remote](<https://devfeed.tech/tags/remote.md>)

### AI overview

jetc.dev Newsletter Issue #325 reviews recent Jetpack Compose releases and related artifacts, including BOM, Material3, Remote Compose, and Wear Compose updates. It also covers the five-year anniversary of Compose 1.0, composition debugging research, Compose Multiplatform content, and a reported memory leak in a Compose for Desktop design system.

### Source excerpt

Compose 1.0 five-year anniversary! 1.12.0 RC! Memory leaks! Remote Compose for debugging! And... have you been through the desert with a state with no name?!?

## Investigating a Suspected Memory Leak in JetBrains Jewel with JVM Heap Analysis

DevFeed: [Investigating a Suspected Memory Leak in JetBrains Jewel with JVM Heap Analysis](<https://devfeed.tech/articles/the-one-liner-that-was-eating-our-memory-daniel-bertoldi-38330.md>)

Original publisher: [Read original article](<https://touchlab.co/the-one-liner-that-was-eating-our-memory>)

Published: 2026-07-28T18:00:00Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [ide](<https://devfeed.tech/topics/ide.md>)

Tags: [compose](<https://devfeed.tech/tags/compose.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [dump](<https://devfeed.tech/tags/dump.md>), [eclipse](<https://devfeed.tech/tags/eclipse.md>), [heap](<https://devfeed.tech/tags/heap.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>)

### AI overview

The article investigates a suspected memory leak in the JetBrains Jewel project, a Compose Multiplatform library targeting desktop applications. It explains using JVM-specific tools, including heap dumps and Eclipse Memory Analyzer Tool, to examine retained heap and identify possible memory-retention issues.

### Source excerpt

A kinda-brief tale about a memory leak, a heap dump, and a one-line fix.

## Adding a Koog AI assistant (with structured output) to the FantasyPremierLeague CMP sample

DevFeed: [Adding a Koog AI assistant (with structured output) to the FantasyPremierLeague CMP sample](<https://devfeed.tech/articles/adding-a-koog-ai-assistant-with-structured-output-to-the-fantasypremierleague-cmp-sample-25194.md>)

Original publisher: [Read original article](<https://johnoreilly.dev/posts/fpl-koog-structured-output/>)

Published: 2026-07-27T23:00:00Z

Content type: tutorial

Language: en

Sources: [John O'Reilly](<https://devfeed.tech/sources/john-o-reilly.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [compose](<https://devfeed.tech/tags/compose.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [framework](<https://devfeed.tech/tags/framework.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [llm](<https://devfeed.tech/tags/llm.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>)

### AI overview

This tutorial adds a Koog-powered AI assistant to a FantasyPremierLeague Compose Multiplatform sample. It uses structured output to return typed player and fixture IDs, allowing the app to render cards and resolve references against its existing data.

### Source excerpt

Koog is JetBrains' Kotlin framework for building AI agents. In this article we're going to use it to add an in-app "FPL Assistant" to the FantasyPremierLeague Compose Multiplatform sample. This is a chat screen where you can ask about players, fixtures and mini-league standings. The answers render as player and fixture cards rather than just as text.

## Moxy - My new programming font

DevFeed: [Moxy - My new programming font](<https://devfeed.tech/articles/moxy-my-new-programming-font-25290.md>)

Original publisher: [Read original article](<https://kau.sh/blog/moxy/>)

Author: Kaushik Gopal

Published: 2026-06-16T07:00:00Z

Content type: opinion

Language: en

Sources: [Kaushik Gopal's Site](<https://devfeed.tech/sources/kaushik-gopal-s-site.md>)

Topics: [Font](<https://devfeed.tech/topics/font.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [download](<https://devfeed.tech/tags/download.md>), [files](<https://devfeed.tech/tags/files.md>), [fonts](<https://devfeed.tech/tags/fonts.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [ligatures](<https://devfeed.tech/tags/ligatures.md>), [mono](<https://devfeed.tech/tags/mono.md>), [plex](<https://devfeed.tech/tags/plex.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-font](<https://devfeed.tech/tags/programming-font.md>)

### AI overview

The article introduces Moxy, a programming font built on Recursive with opinionated character choices and fixes, incorporating some glyph ideas from Lilex. It explains the font's customizable character choices and provides installation instructions for the v1 release.

### Source excerpt

Every time I switch or try out a new font, I track it in my my-new-programming-font series. Some of the popular ones: IBM Plex Mono, Recursive, Commit Mono, Berkeley Mono. This time's a little different. It's one I've "made" myself, and I'm calling it Moxy. Built on strong bones ## Moxy is built on top of Recursive. It's a stretch to call it a new font -- it's Recursive with a set of opinionated character choices and a few fixes to the original. There's two things I love about Recursive: it's one of the most legible and clear fonts out there it's got flair1 Recursive was also a pioneer in pushing what variable type fonts can do. Another font I've been testing and playing with is Lilex. It's popular again because editors like Zed use it as the default. Lilex is really just IBM Plex Mono with a set of special characters and ligature choices. It's an excellent font in many ways, and one I often find myself switching to. Lilex has a few ligatures I absolutely love for programming. So, with the power of AI coding, I thought to myself: what if I had Recursive but with some of the glyphs of Lilex? Thus was born Moxy. What's different: ## The font ships with my specific Recursive character choices baked in. But you can swap them in and out depending on your preference. Install it ## Download the v1 release, unzip it, and install the .ttf files like any other font. Alternatively, use brew: brew install --cask kaushikgopal/tools/font-moxy People understandably love and swear by JetBrains Mono. They keep asking why I don't cite or bring it up. I love that JetBrains Mono exists, but I find it a "drab" font -- and that's not always a bad thing. When you look at Recursive, it makes a statement. ↩︎

## Why Decision-Makers Adopt Kotlin Multiplatform

DevFeed: [Why Decision-Makers Adopt Kotlin Multiplatform](<https://devfeed.tech/articles/helping-decision-makers-say-yes-to-kmp-justin-mancinelli-38216.md>)

Original publisher: [Read original article](<https://touchlab.co/help-decision-makers-say-yes>)

Published: 2026-04-29T18:00:00Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Maintainability](<https://devfeed.tech/topics/maintainability.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>)

Tags: [adoption](<https://devfeed.tech/tags/adoption.md>), [business-value](<https://devfeed.tech/tags/business-value.md>), [developer](<https://devfeed.tech/tags/developer.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>)

### AI overview

The article explains that Kotlin Multiplatform adoption depends on decision-makers seeing measurable business value, not only on developer enthusiasm. It highlights reduced duplicated work across iOS and Android, native UI and workflows, potentially less code, faster release cycles, and improved maintainability.

### Source excerpt

KMP adoption is not driven by developer enthusiasm alone. It moves forward when leaders see a clear case for measurable business value.

## Building Shellporter: From Idea to Production in a Week

DevFeed: [Building Shellporter: From Idea to Production in a Week](<https://devfeed.tech/articles/building-shellporter-from-idea-to-production-in-a-week-25589.md>)

Original publisher: [Read original article](<https://www.marcogomiero.com/posts/2026/building-shellporter/>)

Author: Marco Gomiero

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

Content type: article

Language: en

Sources: [Posts on Marco Gomiero](<https://devfeed.tech/sources/posts-on-marco-gomiero.md>)

Topics: [macOS](<https://devfeed.tech/topics/macos.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [ide](<https://devfeed.tech/topics/ide.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [ide](<https://devfeed.tech/tags/ide.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [macos](<https://devfeed.tech/tags/macos.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

The author describes building Shellporter, a macOS menu bar utility that opens a terminal in the project directory of the active IDE. It uses window information, macOS Accessibility API attributes, IDE-specific resolution strategies, metadata files, and a cache, with support for several IDEs and terminal applications.

### Source excerpt

I work with multiple projects at the same time. My typical macOS setup is one Desktop/Workspace per project, with my IDE and a terminal window. I prefer using a standalone terminal over the one built into the IDE because TUIs, especially those from AI agents, tend to perform better there: no scrolling jank, no weird jumps, and a generally smoother experience. And also I prefer to have a full big window dedicated to the terminal with more stuff to read rather than a small window in the IDE.

## Rust Questions Answered in a JetBrains Livestream with Herbert Wolverson

DevFeed: [Rust Questions Answered in a JetBrains Livestream with Herbert Wolverson](<https://devfeed.tech/articles/everything-you-wanted-to-ask-about-rust-answered-by-herbert-wolverson-22282.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2026/01/everything-you-wanted-to-ask-about-rust-answered-by-herbert-wolverson/>)

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

Content type: article

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [ardan-labs](<https://devfeed.tech/tags/ardan-labs.md>), [blog](<https://devfeed.tech/tags/blog.md>), [developers](<https://devfeed.tech/tags/developers.md>), [go](<https://devfeed.tech/tags/go.md>), [go-programming](<https://devfeed.tech/tags/go-programming.md>), [golang](<https://devfeed.tech/tags/golang.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [livestream](<https://devfeed.tech/tags/livestream.md>), [programming](<https://devfeed.tech/tags/programming.md>), [repo](<https://devfeed.tech/tags/repo.md>), [rust](<https://devfeed.tech/tags/rust.md>), [talk](<https://devfeed.tech/tags/talk.md>)

### AI overview

This article summarizes 23 questions discussed in a JetBrains livestream with Herbert Wolverson about Rust. Topics include his new book, Rust's memory model, the language's learning curve, and whether beginners should learn C first.

### Source excerpt

In a recent livestream with JetBrains, Vitaly Bragilevsky sat down with Herbert Wolverson, our Lead Rust Consultant and Instructor here at Ardan Labs, to talk about everything Rust developers - beginners and pros alike - are curious about. Watch the full livestream replay on the Ardan Labs Channel and check out the GitHub repo with Herbert's prepared answers and code samples. Below is a short summary of the 23 questions that were covered during the livestream.

## Start building with Gemini 3

DevFeed: [Start building with Gemini 3](<https://devfeed.tech/articles/start-building-with-gemini-3-6244.md>)

Original publisher: [Read original article](<https://deepmind.google/blog/start-building-with-gemini-3/>)

Author: Logan Kilpatrick

Published: 2025-11-18T17:49:13Z

Content type: release

Language: en

Sources: [Google DeepMind News](<https://devfeed.tech/sources/google-deepmind-news.md>)

Topics: [Google AI](<https://devfeed.tech/topics/google-ai.md>), [agentic-coding](<https://devfeed.tech/topics/agentic-coding.md>), [Development](<https://devfeed.tech/topics/development.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>)

Tags: [agentic-coding](<https://devfeed.tech/tags/agentic-coding.md>), [agentic-development](<https://devfeed.tech/tags/agentic-development.md>), [antigravity](<https://devfeed.tech/tags/antigravity.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [cli](<https://devfeed.tech/tags/cli.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [google](<https://devfeed.tech/tags/google.md>), [google-antigravity](<https://devfeed.tech/tags/google-antigravity.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [linux](<https://devfeed.tech/tags/linux.md>), [macos](<https://devfeed.tech/tags/macos.md>), [none](<https://devfeed.tech/tags/none.md>), [preview](<https://devfeed.tech/tags/preview.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

Google introduces Gemini 3, highlighting Gemini 3 Pro's reasoning, coding, agentic workflow, and benchmark performance. The model is available in preview through the Gemini API, Google AI Studio, and Vertex AI, with integration across developer tools.

### Source excerpt

Gemini 3 is introducing advanced agentic coding capabilities, plus Google Antigravity, a new agentic development platform.

## ACP Brings JetBrains on Board

DevFeed: [ACP Brings JetBrains on Board](<https://devfeed.tech/articles/acp-brings-jetbrains-on-board-13509.md>)

Original publisher: [Read original article](<https://zed.dev/blog/jetbrains-on-acp>)

Author: Franciska Dethlefsen

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

Content type: release

Language: en

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

Topics: [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [ide](<https://devfeed.tech/topics/ide.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [junie](<https://devfeed.tech/topics/junie.md>), [PyCharm](<https://devfeed.tech/topics/pycharm.md>), [webstorm](<https://devfeed.tech/topics/webstorm.md>), [codex](<https://devfeed.tech/topics/codex.md>)

Tags: [codex](<https://devfeed.tech/tags/codex.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [integration](<https://devfeed.tech/tags/integration.md>), [integrations](<https://devfeed.tech/tags/integrations.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [junie](<https://devfeed.tech/tags/junie.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [pycharm](<https://devfeed.tech/tags/pycharm.md>), [vendor-lock-in](<https://devfeed.tech/tags/vendor-lock-in.md>)

### AI overview

JetBrains will co-develop the Agent Client Protocol with Zed and plans to add ACP support across its IDE ecosystem, including IntelliJ IDEA, PyCharm, and WebStorm. The article presents ACP as an open standard intended to let agents work across compatible editors.

### Source excerpt

The Agent Client Protocol reaches a major milestone: JetBrains is committing to bringing ACP support to their entire ecosystem.

## Live Templates in Android Studio

DevFeed: [Live Templates in Android Studio](<https://devfeed.tech/articles/live-templates-in-android-studio-25829.md>)

Original publisher: [Read original article](<https://segunfamisa.com/posts/android-studio-live-templates>)

Author: Segun Famisa

Published: 2025-07-17T06:00:00Z

Content type: tutorial

Language: en

Sources: [Segun Famisa](<https://devfeed.tech/sources/segun-famisa.md>)

Topics: [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [ide](<https://devfeed.tech/topics/ide.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [code](<https://devfeed.tech/tags/code.md>), [ide](<https://devfeed.tech/tags/ide.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [shortcuts](<https://devfeed.tech/tags/shortcuts.md>), [tests](<https://devfeed.tech/tags/tests.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

This tutorial explains IntelliJ-based IDE live templates, with a focus on creating a custom Android Studio template for Kotlin test functions that use backticks. It describes the template settings, applicable context, abbreviation, description, and template variables.

### Source excerpt

If you are already familiar with live templates, feel free to skip to the live template for kotlin tests If you use IntelliJ-based IDEs like Android Studio, WebStorm, etc., chances are that you have seen some kinds of "shortcuts" (pictured below) show up when you press some key combinations. These are called live templates. For example, if you type sout in a Java/Kotlin file, you see a pop-up like the one above. When you press tab, it autocompletes into System.out.println (in Java) or println in Kotlin. Live templates allow you to generate common code constructs by typing keywords that trigger the template. This feature is not new, and I definitely remember seeing it in the Netbeans IDE when I developed J2ME applications. If, like me, you write a lot of Android code in Android Studio, you may also know that if you type comp in a Kotlin file and press the tab key, a composable function is generated. I have personally found these templates extremely useful for developing faster, and I use them all the time. I even have a few of my own templates, and one of them is the main reason I am writing this article. -- Live Template for Kotlin tests One of the things I do almost every day when I write code is write tests. If you use Kotlin, you might know that backticks are allowed in test function names. I like to optimise my workflow, and I realised this was an opportunity to save myself a few keystrokes for every test I write. I ended up writing a live template to automatically create a test function with backticks (does anyone else find the backtick key awkwardly placed on the keyboard?). To set this up, I follow the instructions on JetBrains' website. You can do the same: CMD + , to open settings Navigate to Editor > Live Templates Select Kotlin group (the templates are usually grouped, but you can also create your own group if you so please) Click on the little + button or CMD + N , and select 1 or Live Template Now we can begin to set the details for the live template. Th

## KotlinConf 2025 Highlights Backend-Oriented Kotlin Language and Ecosystem Updates

DevFeed: [KotlinConf 2025 Highlights Backend-Oriented Kotlin Language and Ecosystem Updates](<https://devfeed.tech/articles/kotlinconf-2025-is-a-real-bowl-of-fresh-air-for-backend-devs-38829.md>)

Original publisher: [Read original article](<https://lengrand.fr/kotlinconf-2025-is-a-real-bowl-of-fresh-air-for-backend-devs/>)

Author: Julien

Published: 2025-05-22T14:34:02Z

Content type: opinion

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [destructuring](<https://devfeed.tech/topics/destructuring.md>), [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [Null-Safety](<https://devfeed.tech/topics/null-safety.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [conference](<https://devfeed.tech/tags/conference.md>), [destructuring](<https://devfeed.tech/tags/destructuring.md>), [development](<https://devfeed.tech/tags/development.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlinconf](<https://devfeed.tech/tags/kotlinconf.md>), [null-safety](<https://devfeed.tech/tags/null-safety.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

A personal assessment of KotlinConf 2025 that focuses on JetBrains' renewed attention to backend developers. The article highlights Kotlin language updates including name-based destructuring and richer error handling, while also discussing the K2 compiler and Kotlin's backend developer experience.

### Source excerpt

With their keynote that JetBrains intentionally started putting backend developers in the spotlight again. They made big, impactful announcements, both at an ecosystem and language levels and I can't wait to try out all of the new goodies.

## My experience using Junie for the past few months

DevFeed: [My experience using Junie for the past few months](<https://devfeed.tech/articles/my-experience-using-junie-for-the-past-few-months-38831.md>)

Original publisher: [Read original article](<https://lengrand.fr/my-experience-using-junie-for-the-past-few-months/>)

Author: Julien

Published: 2025-05-11T11:38:55Z

Content type: opinion

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [junie](<https://devfeed.tech/topics/junie.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [coding](<https://devfeed.tech/tags/coding.md>), [development](<https://devfeed.tech/tags/development.md>), [experience](<https://devfeed.tech/tags/experience.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [junie](<https://devfeed.tech/tags/junie.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>)

### AI overview

A personal review of using JetBrains Junie over several months. The author describes Junie's Code and Ask modes, IntelliJ-based IDE integration, terminal command option, pricing, and distinctions from other JetBrains AI products. They value its IntelliJ integration, Kotlin support, and test-first focus, but criticize its slowness and limited ability to accept only part of a proposed solution.

### Source excerpt

Junie is one of the best coding agent I've been trying out so far. Very well integrated with IntelliJ, great for Kotlin, and the test first focus makes it quite good at coming out with good results. However, I do miss the capability to only accept part of a solution and it can be very slowwwwww.

## Gradle Best Practices - A Path to Build Happiness

DevFeed: [Gradle Best Practices - A Path to Build Happiness](<https://devfeed.tech/articles/gradle-best-practices-a-path-to-build-happiness-24623.md>)

Original publisher: [Read original article](<https://blog.gradle.org/gradle-best-practices>)

Author: Laura Kassovic

Published: 2025-05-01T04:00:00Z

Content type: article

Language: en

Sources: [The Gradle Blog](<https://devfeed.tech/sources/the-gradle-blog.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Google](<https://devfeed.tech/topics/google.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [developer](<https://devfeed.tech/tags/developer.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>)

### AI overview

Gradle, Google, and JetBrains formed a working group to define best practices for structuring and configuring Gradle builds. The initiative responds to developer difficulties caused by Gradle's flexibility, including build instability, suboptimal solutions, and maintenance challenges.

### Source excerpt

Gradle Build Tool, also known as Gradle, is a highly flexible and extensible build system. It supports multiple ways to structure and configure builds, making it incredibly powerful--but also somewhat daunting, especially for teams just getting started. Even experienced developers and tooling providers sometimes struggle with Gradle's complexity. We've heard this loud and clear from the community and also in our recent Developer Survey. Whether it's setting up a build from scratch, improving performance, or avoiding pitfalls, teams often find themselves searching for clear guidance on the best way to do things. That's why we partnered with JetBrains and Google to create the Gradle Best Practices guide--an essential resource to help teams build with confidence and settle debates over the proper way to use Gradle. How This Initiative Started This effort began during a Gradle, Google, and JetBrains Summit in Fall 2024, where teams from each company meet annually to align on product roadmaps and discuss the future of the ecosystem. These summits have been pivotal in shaping major initiatives--Declarative Gradle emerged from one of these discussions, and Kotlin itself has been deeply influenced by them. At the 2024 Summit, a key question emerged: Beyond new features, how can we improve the Gradle experience today? The answer was clear: we need to establish best practices. While it's easy to focus on exciting new Gradle features, existing build setups often lack clear guidance. The Gradle teams at Google, JetBrains, and Gradle recognized that developers frequently struggle with too many ways to do the same thing--leading to suboptimal solutions, build instability, and maintenance headaches. This realization led to the formation of a dedicated working group, with representatives from all three companies. Over the past months, we've been meeting weekly to define best practices that provide firm foundations and help teams avoid future problems. Why Best Practices Matter Gradle's

## HarmonyOS App Development 101

DevFeed: [HarmonyOS App Development 101](<https://devfeed.tech/articles/harmonyos-app-development-101-24549.md>)

Original publisher: [Read original article](<https://medium.com/snapp-mobile/harmonyos-app-development-101-a861590a45f3?source=rss----bcd96e620b02---4>)

Author: Jasper Morgan

Published: 2025-01-18T23:23:13Z

Content type: tutorial

Language: en

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

Topics: [App](<https://devfeed.tech/topics/app.md>), [Development](<https://devfeed.tech/topics/development.md>), [ide](<https://devfeed.tech/topics/ide.md>), [huawei](<https://devfeed.tech/topics/huawei.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [Package Management](<https://devfeed.tech/topics/package-management.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [app](<https://devfeed.tech/tags/app.md>), [app-development](<https://devfeed.tech/tags/app-development.md>), [apps](<https://devfeed.tech/tags/apps.md>), [code-completion](<https://devfeed.tech/tags/code-completion.md>), [debug](<https://devfeed.tech/tags/debug.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [development](<https://devfeed.tech/tags/development.md>), [harmony-os](<https://devfeed.tech/tags/harmony-os.md>), [huawei](<https://devfeed.tech/tags/huawei.md>), [ide](<https://devfeed.tech/tags/ide.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [package-management](<https://devfeed.tech/tags/package-management.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tools](<https://devfeed.tech/tags/tools.md>), [ui](<https://devfeed.tech/tags/ui.md>), [ui-framework](<https://devfeed.tech/tags/ui-framework.md>)

### AI overview

An overview of HarmonyOS Next app development, covering the Huawei-based DevEco Studio IDE, project configuration, SDK versions, modules, and common development features. The article also outlines programming languages, UI frameworks, build tools, package management, execution, debugging, testing, and profiling.

### Source excerpt

Huawei have taken a big step in moving away from the Android platform with the launch of new devices running HarmonyOS Next. This is a brand new operating system that had been design specifically for devices. This means it is lightweight, supports a range of device types, is modular and extensible. In this article we aim to give you an overview of what is available to developers wishing to build apps on this new platform. To that end, we will be looking at the following topics: The IDE Programming Languages UI Framework Build Tools Package Management Running code (devices/emulators) Debugging Testing Profiling Other cool stuff If you are curious about the Harmony platform, its Open Source foundations (OpenHarmony) and its global reach (Oniro), we have written about it here. The IDE The development environment for Harmony apps is currently a Huawei-based IDE which is based on the JetBrains IDE platform. The good news is that JetBrains offers a world-class IDE platform and it makes for a very solid development experience for Harmony apps. For those, wanting to keep to the Open Source side of Harmony (OpenHarmony and Oniro), you are out of luck right now. DevEco Studio is proprietary, albeit free to use software. Let's look at a couple of IDE features -- these should not surprise you but hopefully demonstrates that the platform is already in a good place (as far as IDEs go). Project Creation Creating a project will look familiar already for many. There are a few project templates to choose from to bootstrap your project. New Project Templates You will also then need to configure a couple of options -- a couple of notes on these (which could probably be expanded into a separate article). Firstly, the bundle name is used for app signing and identity. Secondly, an app supports a single SDK version. (The latest SDK version is 13, however version 11 is still widely used.) Thirdly we can specify the module name. The default ('entry') isn't very descriptive. If you have a singl

## The pursuit of fast feedback loops

DevFeed: [The pursuit of fast feedback loops](<https://devfeed.tech/articles/the-pursuit-of-fast-feedback-loops-29025.md>)

Original publisher: [Read original article](<https://saket.me/fast-feedback-loops/>)

Author: Saket Narayan

Published: 2024-11-27T17:46:56Z

Content type: opinion

Language: en

Sources: [Saket Narayan](<https://devfeed.tech/sources/saket-narayan.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [ui](<https://devfeed.tech/topics/ui.md>), [unit tests](<https://devfeed.tech/topics/unit-tests.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [compose](<https://devfeed.tech/tags/compose.md>), [hot-reloading](<https://devfeed.tech/tags/hot-reloading.md>), [incremental](<https://devfeed.tech/tags/incremental.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [layout](<https://devfeed.tech/tags/layout.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [screenshot](<https://devfeed.tech/tags/screenshot.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

This opinion argues that fast feedback loops for validating software changes matter more than hot reloading itself. It discusses the reliability history of hot-reload tools and describes using screenshot tests and unit tests to shorten UI and presentation/backend iteration cycles.

### Source excerpt

Sebastian Sellmair from JetBrains recently showed off a prototype of hot-reloading Compose UI code for deploying changes without rebuilding the project. It looks exciting and I want it to succeed. At the same time, I've learned to be cautiously optimistic about hot-reload solutions. Google has tried this multiple times: their first attempt (Instant Run) was [...] The post The pursuit of fast feedback loops appeared first on Saket Narayan.

## Flash cards for Coroutines - KotlinFlashKards

DevFeed: [Flash cards for Coroutines - KotlinFlashKards](<https://devfeed.tech/articles/flash-cards-for-coroutines-kotlinflashkards-32050.md>)

Original publisher: [Read original article](<https://www.maiatoday.net/p/flash-cards-for-coroutines-kotlinflashkards/>)

Published: 2024-09-18T17:50:02Z

Content type: tutorial

Language: en

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

Topics: [Coroutines](<https://devfeed.tech/topics/coroutines.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [kotlin-coroutines](<https://devfeed.tech/topics/kotlin-coroutines.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Deadlock](<https://devfeed.tech/topics/deadlock.md>), [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [flash-cards](<https://devfeed.tech/tags/flash-cards.md>), [ide](<https://devfeed.tech/tags/ide.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlinflashkards](<https://devfeed.tech/tags/kotlinflashkards.md>), [structured-concurrency](<https://devfeed.tech/tags/structured-concurrency.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

An in-IDE flash-card course called KotlinFlashKards helps learners practise Kotlin coroutines through questions, hints, code snippets, and tests. It covers basics, structured concurrency, error handling, and testing, and runs through the JetBrains Academy plugin.

### Source excerpt

I made something. I made a set of flash cards to practise and learn Kotlin coroutines. I call them KotlinFlashKards (with a K of course). This is the first of a series covering different topics. Why create flash cards? Does this happen to you? You are writing some code, you know something is possible but you can't remember exactly how to do it. By the time you have asked an AI or researched you have forgotten what it was you wanted to do in the first place. There is a way to fix this. Learn and remember the key concepts you use often. One way to do this is to use flash cards. I learnt this from the book The Programmers Brain by Felienne Hermans How does it work? The deck doesn't replace the docs or a good book. It is an in IDE course in the form of a question, a hint that hides the answer and a code snippet with a test to explain the concept. It has four sections Basics - 18 cards Structured Concurrency - 12 cards Error handling - 7 cards Testing - 6 cards You can explore the sections in order or dip in and try tasks at random. Strategies to get the best out of the course? Repeat at regular intervals - Memories are built up if you repeat the flash cards at regular intervals. It is better to do a few lessons more often than to do many lessons in one sitting. You can do the course many times or choose which areas to practise. Recall the answer before peeking - It is important to try to recall the syntax first before looking at the hints or letting the IDE help you. This means you practise your recall of the memory. Think about the solution - For each question and answer you will remember it better too if you think of a practical place where you could use similar code. How do I get it? You need: a JetBrains IDE like Android Studio or Intellij Community edition the JetBrains Acadamy plugin installed Then do the following: Before opening a project click on the Learn menu item on the left Click on New course In the Marketplace search for KotlinFlashKards and start the cou

## KotlinConf: The History, Growth, and Appeal of Kotlin's Developer Conference

DevFeed: [KotlinConf: The History, Growth, and Appeal of Kotlin's Developer Conference](<https://devfeed.tech/articles/kotlinconf-2024-what-is-this-all-about-39348.md>)

Original publisher: [Read original article](<https://kt.academy/article/kotlinconf2024>)

Published: 2024-03-05T00:00:00Z

Content type: article

Language: en

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

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [conference](<https://devfeed.tech/tags/conference.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlinconf](<https://devfeed.tech/tags/kotlinconf.md>), [networking](<https://devfeed.tech/tags/networking.md>), [talks](<https://devfeed.tech/tags/talks.md>), [tech-conference](<https://devfeed.tech/tags/tech-conference.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>), [workshops](<https://devfeed.tech/tags/workshops.md>)

### AI overview

The article traces KotlinConf's origins at JetBrains, beginning with its first edition in San Francisco in 2017. It describes the conference's talks, workshops, networking opportunities, international reach, and growth in speakers, sessions, workshops, and expected attendance through KotlinConf'24.

### Source excerpt

Exploring the Biggest Kotlin Conference

## Resource Sharing in Compose Multiplatform - Anonymous

DevFeed: [Resource Sharing in Compose Multiplatform - Anonymous](<https://devfeed.tech/articles/resource-sharing-in-compose-multiplatform-anonymous-38143.md>)

Original publisher: [Read original article](<https://touchlab.co/2023-12-14-jetbrains-roadmap-highlights-common-resources>)

Published: 2023-12-14T15:38:42Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [API](<https://devfeed.tech/topics/api.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [compose](<https://devfeed.tech/tags/compose.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [core](<https://devfeed.tech/tags/core.md>), [development](<https://devfeed.tech/tags/development.md>), [feature](<https://devfeed.tech/tags/feature.md>), [implement](<https://devfeed.tech/tags/implement.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [platform](<https://devfeed.tech/tags/platform.md>), [platforms](<https://devfeed.tech/tags/platforms.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

The article discusses JetBrains' 2024 Kotlin roadmap, highlighting planned Compose Multiplatform support for a common API that would allow resources to be shared across targets. The roadmap does not specify which resources will be shareable or provide an official timeline.

### Source excerpt

JetBrains just shared a development roadmap for 2024 detailing their focus for 2024. One item stands out above the rest: a common API for resources.

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