# idea

Published articles for idea.

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

## Logpoints Walkthrough

DevFeed: [Logpoints Walkthrough](<https://devfeed.tech/articles/logpoints-walkthrough-31526.md>)

Original publisher: [Read original article](<https://blog.jetbrains.com/idea/2026/09/logpoints-walkthrough/>)

Author: Igor Kulakov

Published: 2026-09-16T14:14:04Z

Content type: tutorial

Language: en

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

Topics: [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [debug](<https://devfeed.tech/topics/debug.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [gRPC](<https://devfeed.tech/topics/grpc.md>), [Java](<https://devfeed.tech/topics/java.md>), [2026.2](<https://devfeed.tech/topics/2026-2.md>)

Tags: [2026-2](<https://devfeed.tech/tags/2026-2.md>), [bug](<https://devfeed.tech/tags/bug.md>), [client](<https://devfeed.tech/tags/client.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [debug](<https://devfeed.tech/tags/debug.md>), [debugger](<https://devfeed.tech/tags/debugger.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [debugging-tools](<https://devfeed.tech/tags/debugging-tools.md>), [idea](<https://devfeed.tech/tags/idea.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [logpoints](<https://devfeed.tech/tags/logpoints.md>)

### AI overview

This walkthrough explains how to use logpoints in IntelliJ IDEA to investigate a bug in a gRPC client-server example that returns incorrect discount values. It covers reproducing the issue, attaching the debugger to the server, and observing program behavior without suspending execution, including improvements in IntelliJ IDEA 2026.2.

### Source excerpt

Modern development tools, especially IntelliJ IDEA, have such comprehensive debugging support that for virtually any niche use case, there is a specialized tool for the job. This can make it hard to know where to begin. If you are new to debugging tools and want the biggest return on your learning investment, the best feature [...]

## 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 [...]

## The Evolution of WSL Support in JetBrains IDEs

DevFeed: [The Evolution of WSL Support in JetBrains IDEs](<https://devfeed.tech/articles/the-evolution-of-wsl-support-in-jetbrains-ides-8806.md>)

Original publisher: [Read original article](<https://blog.jetbrains.com/platform/2026/09/the-evolution-of-wsl-support-in-jetbrains-ides/>)

Author: Kristina Pchelintseva

Published: 2026-09-09T10:39:49Z

Content type: article

Language: en

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

Topics: [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [2026-2](<https://devfeed.tech/tags/2026-2.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [debug](<https://devfeed.tech/tags/debug.md>), [ecosystem](<https://devfeed.tech/tags/ecosystem.md>), [engineering](<https://devfeed.tech/tags/engineering.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>), [linux](<https://devfeed.tech/tags/linux.md>), [phpstorm](<https://devfeed.tech/tags/phpstorm.md>), [remote-development](<https://devfeed.tech/tags/remote-development.md>), [support](<https://devfeed.tech/tags/support.md>), [webstorm](<https://devfeed.tech/tags/webstorm.md>), [windows](<https://devfeed.tech/tags/windows.md>), [wsl](<https://devfeed.tech/tags/wsl.md>)

### AI overview

JetBrains describes its evolution of WSL integration and recommends Native mode from version 2026.2. In this mode, supported IDEs remain Windows applications while an agent in WSL handles project files and processes.

### Source excerpt

JetBrains IDEs have worked with WSL for many years, and over time, several ways of using it have emerged across our products. Depending on the entry point, the IDE could rely on a different underlying architecture, leading to a different experience. Starting with the 2026.2 release, there is one recommended entry point. In IntelliJ IDEA, [...]

## Loop engineering: stop prompting, start looping

DevFeed: [Loop engineering: stop prompting, start looping](<https://devfeed.tech/articles/loop-engineering-stop-prompting-start-looping-12639.md>)

Original publisher: [Read original article](<https://blog.postman.com/loop-engineering-stop-prompting-start-looping/>)

Author: Anthony Viard

Published: 2026-09-08T16:00:00Z

Content type: article

Language: en

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

Topics: [Loop Engineering](<https://devfeed.tech/topics/loop-engineering.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [agent](<https://devfeed.tech/tags/agent.md>), [agentic](<https://devfeed.tech/tags/agentic.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [api](<https://devfeed.tech/tags/api.md>), [api-testing](<https://devfeed.tech/tags/api-testing.md>), [blog](<https://devfeed.tech/tags/blog.md>), [code](<https://devfeed.tech/tags/code.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [developer](<https://devfeed.tech/tags/developer.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [general](<https://devfeed.tech/tags/general.md>), [guide](<https://devfeed.tech/tags/guide.md>), [idea](<https://devfeed.tech/tags/idea.md>), [loops](<https://devfeed.tech/tags/loops.md>), [model](<https://devfeed.tech/tags/model.md>), [post](<https://devfeed.tech/tags/post.md>), [postman-cli](<https://devfeed.tech/tags/postman-cli.md>), [tool](<https://devfeed.tech/tags/tool.md>), [verify](<https://devfeed.tech/tags/verify.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

This article explains loop engineering as a way to improve AI coding agent reliability. Instead of relying on a single prompt, the system repeatedly generates code, runs it against a real API or other source of truth, verifies the result, and decides whether to stop or continue. The article distinguishes this outer verification loop from the inner ReAct tool-use cycle and presents a reproducible setup for allowing an agent to correct its own mistakes.

### Source excerpt

Stop prompting your AI agent, start looping. A guide to loop engineering: wire a real API call in as the oracle so generated code stops guessing. The post Loop engineering: stop prompting, start looping appeared first on Postman Blog.

## This Week in Spring - September 8th, 2026

DevFeed: [This Week in Spring - September 8th, 2026](<https://devfeed.tech/articles/this-week-in-spring-september-8th-2026-3535.md>)

Original publisher: [Read original article](<https://spring.io/blog/2026/09/08/this-week-in-spring-september-8th-2026>)

Author: joshlong

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

Content type: article

Language: en

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

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Electron](<https://devfeed.tech/topics/electron.md>), [App](<https://devfeed.tech/topics/app.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [applications](<https://devfeed.tech/tags/applications.md>), [article](<https://devfeed.tech/tags/article.md>), [batch](<https://devfeed.tech/tags/batch.md>), [boot](<https://devfeed.tech/tags/boot.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [idea](<https://devfeed.tech/tags/idea.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [java](<https://devfeed.tech/tags/java.md>), [linux](<https://devfeed.tech/tags/linux.md>), [llm](<https://devfeed.tech/tags/llm.md>), [llms](<https://devfeed.tech/tags/llms.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [spring](<https://devfeed.tech/tags/spring.md>), [spring-ai](<https://devfeed.tech/tags/spring-ai.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [video](<https://devfeed.tech/tags/video.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

This weekly Spring roundup highlights Spring AI content about running LLMs in the JVM and locally, building a Spring AI starter for agents.md, and improving tool use. It also covers Spring Boot and JavaFX desktop applications, native images, Spring Security OAuth clients, secure application images, external configuration, Spring Cloud AWS, and a Spring Boot Analyzer.

### Source excerpt

Bonjour a tout le monde! Welcome to another rip-roarin' installment of This Week in Spring! It's a fabulous and fun day here in Paris, France, as I wait to board the train to Amsterdam for the IntelliJ IDEA conference! It's going to be amazing. We've got another incredible week's roundup to dive into, so let's do it! I feel like some of the best content over the past several months in this weekly roundup has been Craig Walls' Spring AI Recipes section. Fantastic stuff! This latest one looks at running an LLM in-JVM This is a nice article on using vertical slices in Spring Boot on Solodev.sk, by Dominik. Well done! Another amazing installment from Craig Walls, this one looking at running against local LLMs My friend and colleague DaShaun Carter talks about his Spring AI starter for agents.md Craig also has this lovely post on efficient tool use in Spring AI Last week, I did two videos on using Spring Boot, JavaFX, GraalVM native images, and Spring Security (and PKCE) to build native, lightning-fast, dynamic, efficient, reusable desktop applications that run well on Mac, Windows, and Linux, and look amazing, while taking small fractions of the RAM of a similar Electron-based application. Here's the first one, showing how to use Spring Boot and JavaFX together, so that you get the component model, event dispatch subsystem, internationalization, lifecycle management, and, of course, the entire and very rich ecosystem of Spring components and can use them to manage JavaFX components, too. We also look at native image compilation. Here's the second video, which looks at using Spring Security's OAuth client in the context of a desktop application, which can not, by definition, hold a client secret. In last week's installment of A Bootiful Podcast, I was delighted to chat with BellSoft's Catherine Edelveis about trusted and secure images for your Spring Boot applications This is a nice post on managing external configurations with Spring Cloud Config A nice recap of some of

## Java Weekly, Issue 659

DevFeed: [Java Weekly, Issue 659](<https://devfeed.tech/articles/java-weekly-issue-659-4498.md>)

Original publisher: [Read original article](<https://www.baeldung.com/java-weekly-659>)

Author: baeldung

Published: 2026-08-15T10:23:09Z

Content type: article

Language: en

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

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [intellij-platform](<https://devfeed.tech/topics/intellij-platform.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>)

Tags: [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [github](<https://devfeed.tech/tags/github.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [idea](<https://devfeed.tech/tags/idea.md>), [java](<https://devfeed.tech/tags/java.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [no-ads](<https://devfeed.tech/tags/no-ads.md>), [no-after-post](<https://devfeed.tech/tags/no-after-post.md>), [no-before-post](<https://devfeed.tech/tags/no-before-post.md>), [no-optins](<https://devfeed.tech/tags/no-optins.md>), [programming](<https://devfeed.tech/tags/programming.md>), [releases](<https://devfeed.tech/tags/releases.md>), [security](<https://devfeed.tech/tags/security.md>), [weekly-review](<https://devfeed.tech/tags/weekly-review.md>), [weekly-review-no-ads-no-after-post-no-before-post-no-optins](<https://devfeed.tech/tags/weekly-review-no-ads-no-after-post-no-before-post-no-optins.md>)

### AI overview

Java Weekly, Issue 659 is a roundup of Java ecosystem reading, including MCP server evolution, Project Valhalla, JVM security, DuckDB, HTTP extension design, AI features in IntelliJ IDEA, webinars, and software releases.

### Source excerpt

Equality in Java is evolving. The post Java Weekly, Issue 659 first appeared on Baeldung.

## Brainstorming with ChatGPT

DevFeed: [Brainstorming with ChatGPT](<https://devfeed.tech/articles/brainstorming-with-chatgpt-6161.md>)

Original publisher: [Read original article](<https://openai.com/academy/brainstorming>)

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

Content type: article

Language: en

Sources: [OpenAI News](<https://devfeed.tech/sources/openai-news.md>)

Topics: [ChatGPT](<https://devfeed.tech/topics/chatgpt.md>), [Frameworks](<https://devfeed.tech/topics/frameworks.md>)

Tags: [chatgpt](<https://devfeed.tech/tags/chatgpt.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [idea](<https://devfeed.tech/tags/idea.md>), [learn](<https://devfeed.tech/tags/learn.md>), [openai-academy](<https://devfeed.tech/tags/openai-academy.md>), [themes](<https://devfeed.tech/tags/themes.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

This article explains how to use ChatGPT as a structured thought partner for brainstorming. It covers generating options, organizing ideas into themes, pressure-testing plans, applying constraints, and moving from broad exploration to evaluation and an actionable plan.

### Source excerpt

Learn how to use ChatGPT to brainstorm ideas, organize thinking, and turn rough concepts into structured, actionable plans.

## New Blog Post: Some Silly Z3 Scripts I Wrote

DevFeed: [New Blog Post: Some Silly Z3 Scripts I Wrote](<https://devfeed.tech/articles/new-blog-post-some-silly-z3-scripts-i-wrote-25496.md>)

Original publisher: [Read original article](<https://buttondown.com/hillelwayne/archive/new-blog-post-some-silly-z3-scripts-i-wrote/>)

Author: Hillel Wayne

Published: 2026-02-23T16:49:10Z

Content type: article

Language: en

Sources: [Newsletter feed for Hillel Wayne's Newsletter](<https://devfeed.tech/sources/newsletter-feed-for-hillel-wayne-s-newsletter.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [Math and Logic](<https://devfeed.tech/topics/math-and-logic.md>), [Script](<https://devfeed.tech/topics/script.md>)

Tags: [blog-post](<https://devfeed.tech/tags/blog-post.md>), [code](<https://devfeed.tech/tags/code.md>), [idea](<https://devfeed.tech/tags/idea.md>)

### AI overview

The author announces a new blog post containing Z3 scripts and discusses its mathematical examples, including total operations, arrays, quantifiers, and an unsuccessful attempt to encode Goldbach's conjecture as an SMT problem.

### Source excerpt

Now that I'm not spending all my time on Logic for Programmers, I have time to update my website again! So here's the first blog post in five months: Some Silly Z3 Scripts I Wrote. Normally I'd also put a link to the Patreon notes but I've decided I don't like publishing gated content and am going to wind that whole thing down. So some quick notes about this post: Part of the point is admittedly to hype up the eventual release of LfP. I want to start marketing the book, but don't want the marketing material to be devoid of interest, so tangentially-related-but-independent blog posts are a good place to start. The post discusses the concept of "chaff", the enormous quantity of material (both code samples and prose) that didn't make it into the book. The book is about 50,000 words... and considerably shorter than the total volume of chaff! I don't think most of it can be turned into useful public posts, but I'm not entirely opposed to the idea. Maybe some of the old chapters could be made into something? Coming up with a conditioned mathematical property to prove was a struggle. I had two candidates: a == b * c => a / b == c, which would have required a long tangent on how division must be total in Z3, and a != 0 => some b: b * a == 1, which would have required introducing a quantifier (SMT is real weird about quantifiers). Division by zero has already caused me enough grief so I went with the latter. This did mean I had to reintroduce "operations must be total" when talking about arrays. I have no idea why the array example returns 2 for the max profit and not 99999999. I'm guessing there's some short circuiting logic in the optimizer when the problem is ill-defined? One example I could not get working, which is unfortunate, was a demonstration of how SMT solvers are undecidable via encoding Goldbach's conjecture as an SMT problem. Anything with multiple nested quantifiers is a pain.

## How I'm Using Agents for Development - January 2026

DevFeed: [How I'm Using Agents for Development - January 2026](<https://devfeed.tech/articles/how-i-m-using-agents-for-development-january-2026-25131.md>)

Original publisher: [Read original article](<https://handstandsam.com/2026/01/07/how-im-using-agents-for-development-january-2026/>)

Author: Sam Edwards

Published: 2026-01-07T16:23:40Z

Content type: opinion

Language: en

Sources: [Handstand Sam](<https://devfeed.tech/sources/handstand-sam.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [ide](<https://devfeed.tech/topics/ide.md>), [context window](<https://devfeed.tech/topics/context-window.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [YAML](<https://devfeed.tech/topics/yaml.md>), [Test automation](<https://devfeed.tech/topics/test-automation.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [claude](<https://devfeed.tech/tags/claude.md>), [code](<https://devfeed.tech/tags/code.md>), [compose](<https://devfeed.tech/tags/compose.md>), [context-window](<https://devfeed.tech/tags/context-window.md>), [development](<https://devfeed.tech/tags/development.md>), [gui](<https://devfeed.tech/tags/gui.md>), [ide](<https://devfeed.tech/tags/ide.md>), [idea](<https://devfeed.tech/tags/idea.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [junit](<https://devfeed.tech/tags/junit.md>), [review](<https://devfeed.tech/tags/review.md>), [test-automation](<https://devfeed.tech/tags/test-automation.md>), [updates](<https://devfeed.tech/tags/updates.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

A developer describes using agents with IntelliJ IDEA, Firebender, and Claude Sonnet 4.5 across Trailblaze projects. The article explains a Research, Plan, Implement workflow, including incremental commits, progress handoffs when the context window fills, refactoring, UI test automation, and building a Compose-based YAML editor.

### Source excerpt

I'm currently sitting here with Intellij IDEA IDE open with 3 workspaces (different clones of the Trailblaze project). In each one of them I'm using Firebender with the Claude Sonnet 4.5 model. As I'm writing this I just toggled back over to IDE and made sure all my agents are still running. I've been hesitant [...]

## Announcing OpenAI Grove Cohort 2

DevFeed: [Announcing OpenAI Grove Cohort 2](<https://devfeed.tech/articles/announcing-openai-grove-cohort-2-6577.md>)

Original publisher: [Read original article](<https://openai.com/index/openai-grove>)

Published: 2026-01-02T10:00:00Z

Content type: news

Language: en

Sources: [OpenAI News](<https://devfeed.tech/sources/openai-news.md>)

Topics: [OpenAI](<https://devfeed.tech/topics/openai.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [applications](<https://devfeed.tech/tags/applications.md>), [building](<https://devfeed.tech/tags/building.md>), [community](<https://devfeed.tech/tags/community.md>), [company](<https://devfeed.tech/tags/company.md>), [idea](<https://devfeed.tech/tags/idea.md>), [models](<https://devfeed.tech/tags/models.md>), [openai](<https://devfeed.tech/tags/openai.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

OpenAI Grove Cohort 2 is a five-week program for individuals at the beginning of their company-building journey, including those who are still exploring ideas. Participants receive mentorship from OpenAI technical leaders and researchers, workshops, office hours, community support, access to OpenAI tools and models before general availability, and resources intended to accelerate their progress. The cohort is expected to include approximately fifteen participants.

### Source excerpt

Applications are now open for OpenAI Grove Cohort 2, a 5-week founder program designed for individuals at any stage, from pre-idea to product. Participants receive $50K in API credits, early access to AI tools, and hands-on mentorship from the OpenAI team.

## Building a better First Draft for designers

DevFeed: [Building a better First Draft for designers](<https://devfeed.tech/articles/building-a-better-first-draft-for-designers-9664.md>)

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

Author: Noah Levin

Published: 2024-09-24T00:00:00Z

Content type: article

Language: en

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

Topics: [FIRST](<https://devfeed.tech/topics/first.md>), [Figma](<https://devfeed.tech/topics/figma.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [AI Models](<https://devfeed.tech/topics/ai-models.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [amazon](<https://devfeed.tech/topics/amazon.md>)

Tags: [accelerate](<https://devfeed.tech/tags/accelerate.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-models](<https://devfeed.tech/tags/ai-models.md>), [amazon](<https://devfeed.tech/tags/amazon.md>), [analysis](<https://devfeed.tech/tags/analysis.md>), [building](<https://devfeed.tech/tags/building.md>), [components](<https://devfeed.tech/tags/components.md>), [design](<https://devfeed.tech/tags/design.md>), [design-systems](<https://devfeed.tech/tags/design-systems.md>), [feature](<https://devfeed.tech/tags/feature.md>), [figma](<https://devfeed.tech/tags/figma.md>), [generate](<https://devfeed.tech/tags/generate.md>), [gpt](<https://devfeed.tech/tags/gpt.md>), [idea](<https://devfeed.tech/tags/idea.md>), [launch](<https://devfeed.tech/tags/launch.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [library](<https://devfeed.tech/tags/library.md>), [models](<https://devfeed.tech/tags/models.md>), [production](<https://devfeed.tech/tags/production.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

Figma is reintroducing its Make Designs feature under the name First Draft in limited beta. First Draft uses off-the-shelf AI models, including OpenAI's GPT-4 and Amazon Titan, together with design-system context and user prompts to select, arrange, and customize components into an initial design. The update adds a choice of four libraries after Figma disabled the original feature because its generated mocks too closely resembled existing apps.

### Source excerpt

We're reintroducing our Make Designs feature with some key improvements, including a new name--First Draft--to better reflect our goal of giving designers another way to get started.

## Immutable URLs can simplify deployments

DevFeed: [Immutable URLs can simplify deployments](<https://devfeed.tech/articles/call-by-hash-32401.md>)

Original publisher: [Read original article](<https://garnix.io/blog/call-by-hash>)

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

Content type: article

Language: en

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

Topics: [hash](<https://devfeed.tech/topics/hash.md>)

Tags: [deployments](<https://devfeed.tech/tags/deployments.md>), [hash](<https://devfeed.tech/tags/hash.md>), [idea](<https://devfeed.tech/tags/idea.md>), [simplify](<https://devfeed.tech/tags/simplify.md>)

### AI overview

The article explores making URLs immutable and suggests that this approach could improve and simplify deployments.

### Source excerpt

What happens if we make URLs immutable? A somewhat unusual idea that can substantially improve and simplify deployments.

## Getting Started with Compose for Web

DevFeed: [Getting Started with Compose for Web](<https://devfeed.tech/articles/getting-started-with-compose-for-web-24711.md>)

Original publisher: [Read original article](<https://dev.to/touchlab/getting-started-with-compose-for-web-455n>)

Author: Gustavo Fão Valvassori

Published: 2023-12-01T21:34:32Z

Content type: tutorial

Language: en

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

Topics: [compose-for-web](<https://devfeed.tech/topics/compose-for-web.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Canvas](<https://devfeed.tech/topics/canvas.md>)

Tags: [canvas](<https://devfeed.tech/tags/canvas.md>), [coding](<https://devfeed.tech/tags/coding.md>), [community](<https://devfeed.tech/tags/community.md>), [compose](<https://devfeed.tech/tags/compose.md>), [compose-for-web](<https://devfeed.tech/tags/compose-for-web.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [getting-started](<https://devfeed.tech/tags/getting-started.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [html](<https://devfeed.tech/tags/html.md>), [idea](<https://devfeed.tech/tags/idea.md>), [inclusive](<https://devfeed.tech/tags/inclusive.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [software](<https://devfeed.tech/tags/software.md>), [ui](<https://devfeed.tech/tags/ui.md>), [webdev](<https://devfeed.tech/tags/webdev.md>)

### AI overview

A beginner tutorial on building web applications with Compose for Web and Kotlin. It introduces the JS + HTML and Wasm + Canvas runtimes, explains their components and experimental status, and outlines project setup using IntelliJ IDEA, Kotlin Multiplatform, Compose, JavaScript source sets, dependencies, and an HTML entry page.

### Source excerpt

If you are a Kotlin developer like me, you are probably very excited about Jetpack Compose. It's a modern UI toolkit for developing apps, and with the great work from JetBrains, it's becoming a really interesting solution. As a mobile developer, I've never gone in the weeds on how to properly develop sites with HTML, CSS, and JS. My closest experience was with React Native back in 2018. But now, with Compose, using a Kotlin DSL, I feel comfortable on doing this. Compose Runtime and Component Library Before creating a project and start coding, it's important to have a small introduction to Compose runtimes. As of now, Compose has two different runtimes on the web: JS + HTML Wasm + Canvas They both use the Compose Runtime underneath, but they use different components. Long story short: The HTML version will have HTML composable components (like H1, P, Span, Input, Div, etc.) The Canvas version will have similar components as the Android version as it uses SKIA to draw on the Canvas. Both of them are experimental. Note that choosing how you want to build your application will impact on possible code-sharing with native if this is what you want. For this series of posts, I'll use the HTML version and I will be able to explore more the web components. Creating the project Now that we know what runtime/components we want to use, we need to create a project. My first idea was to use the KMP project wizard, but unfortunately, the Web target is not available as an option for now. As a workaround, I had to create a new clean project using IntelliJ IDEA and add the dependencies manually. Using a clean template you will reduce the amount of code that needs to be removed/updated to make the project work. But if you prefer to use any other IDE/Template, feel free to do so and share your experience with us later :) With that, the configuration is completed with a few extra lines: Change the Kotlin plugin from JVM to MULTIPLATFORM Add the Compose plugin Declare JS source-sets Impor

## Conditional API Responses For JavaScript vs. HTML Forms

DevFeed: [Conditional API Responses For JavaScript vs. HTML Forms](<https://devfeed.tech/articles/conditional-api-responses-for-javascript-vs-html-forms-17712.md>)

Original publisher: [Read original article](<https://austingil.com/http-javascript-vs-html/>)

Author: Austin

Published: 2023-01-03T15:31:38Z

Content type: tutorial

Language: en

Sources: [Back End - Austin Gil](<https://devfeed.tech/sources/back-end-austin-gil.md>)

Topics: [Nuxt.js](<https://devfeed.tech/topics/nuxt.md>), [API](<https://devfeed.tech/topics/api.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Forms](<https://devfeed.tech/topics/forms.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [backend](<https://devfeed.tech/tags/backend.md>), [building](<https://devfeed.tech/tags/building.md>), [coding](<https://devfeed.tech/tags/coding.md>), [development](<https://devfeed.tech/tags/development.md>), [edge-compute](<https://devfeed.tech/tags/edge-compute.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [html](<https://devfeed.tech/tags/html.md>), [http](<https://devfeed.tech/tags/http.md>), [idea](<https://devfeed.tech/tags/idea.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [js](<https://devfeed.tech/tags/js.md>), [programming](<https://devfeed.tech/tags/programming.md>), [software](<https://devfeed.tech/tags/software.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A tutorial on detecting whether an HTTP request came from an HTML form or JavaScript in a Nuxt.js backend API. It explains returning redirects for form submissions and JSON for JavaScript requests, supporting progressive enhancement when JavaScript fails.

### Source excerpt

Learn how to build backend APIs that support progressive enhancement by detecting if a request was submitted with HTML forms or JavaScript.

## Investigation of a Gradle and IntelliJ IDEA Memory Leak

DevFeed: [Investigation of a Gradle and IntelliJ IDEA Memory Leak](<https://devfeed.tech/articles/let-s-investigate-a-gradle-intellij-memory-leak-25625.md>)

Original publisher: [Read original article](<https://blog.p-y.wtf/gradle-intellij-memory-leak>)

Author: Pierre-Yves Ricau

Published: 2022-10-12T17:26:46Z

Content type: tutorial

Language: en

Sources: [Py's blog](<https://devfeed.tech/sources/py-s-blog.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Java](<https://devfeed.tech/topics/java.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>)

Tags: [garbage-collection](<https://devfeed.tech/tags/garbage-collection.md>), [gc](<https://devfeed.tech/tags/gc.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [graph](<https://devfeed.tech/tags/graph.md>), [idea](<https://devfeed.tech/tags/idea.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [java](<https://devfeed.tech/tags/java.md>), [leak](<https://devfeed.tech/tags/leak.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

A team investigation examines a Gradle process memory leak during project import in IntelliJ IDEA. The article describes heap analysis using dominator trees, pending finalization, and paths from GC roots.

### Source excerpt

👋 Hi, this is P.Y., I work as an Android Engineer at Block. This article shares a team investigation by Tony Robalik, Pablo Baxter, Roger Hu and myself into a recent Gradle / IntelliJ memory leak. O

## Good ideas stick

DevFeed: [Good ideas stick](<https://devfeed.tech/articles/good-ideas-stick-9653.md>)

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

Author: Amber Bravo

Published: 2022-04-21T00:00:00Z

Content type: article

Language: en

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

Topics: [Figma](<https://devfeed.tech/topics/figma.md>)

Tags: [feature](<https://devfeed.tech/tags/feature.md>), [figma](<https://devfeed.tech/tags/figma.md>), [idea](<https://devfeed.tech/tags/idea.md>), [prototyping](<https://devfeed.tech/tags/prototyping.md>)

### AI overview

The article describes Figma's 24-hour April Fun Day feature that let Figma and FigJam users decorate files with digital washi tape. It explains the feature's inspiration from a community suggestion and connects the digital experience to the history, functionality, and creative uses of physical washi tape.

### Source excerpt

A brief history of washi tape, and why we think it's the perfect experience to digitize.

## Making Kotlin Constant-Expression Analysis Useful in IntelliJ IDEA

DevFeed: [Making Kotlin Constant-Expression Analysis Useful in IntelliJ IDEA](<https://devfeed.tech/articles/article-23941.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/JetBrains/articles/586890/>)

Author: tagir\_valeev (JetBrains)

Published: 2021-11-02T10:18:04Z

Content type: article

Language: ru

Sources: [JetBrains RU](<https://devfeed.tech/sources/jetbrains-ru.md>)

Topics: [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Java](<https://devfeed.tech/topics/java.md>)

Tags: [idea](<https://devfeed.tech/tags/idea.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [tag-9ec75300b635](<https://devfeed.tech/tags/tag-9ec75300b635.md>), [tag-c5a1967375ea](<https://devfeed.tech/tags/tag-c5a1967375ea.md>)

### AI overview

The article discusses the development of constant-expression inspection for Kotlin in IntelliJ IDEA 2021.3. The inspection reuses the Java analyzer's data-flow analysis to identify expressions that always evaluate to the same value, while reducing warnings that are technically correct but unhelpful in normal code.

### Source excerpt

Одна из проблем статического анализа в том, что его легко сделать умнее, чем надо. В результате он начинает выдавать предупреждения в таком коде, который человеку кажется нормальным. И так и хочется сказать анализатору "Отстань, зануда! Сильно умный что ли?" Я в очередной раз почувствовал вкус всего этого, когда работал над поиском константных выражений для Kotlin. Ранее такой анализ был для Java, но для Kotlin он впервые появится только в следующей версии IntelliJ IDEA 2021.3. Инспекция базируется на анализе потока данных и находит в коде выражения, которые всегда равны одному и тому же. Изначально такая инспекция на Java сообщала только о логических выражениях, которые всегда равны true или false. Потом мы осторожно расширили её, и она стала сообщать ещё и о выражениях, которые всегда равны null или 0. Было решено проделать тот же путь для Kotlin. Читать дальше ->

## Test as Text в IntelliJ IDEA

DevFeed: [Test as Text в IntelliJ IDEA](<https://devfeed.tech/articles/test-as-text-intellij-idea-23933.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/JetBrains/articles/575592/>)

Author: Razmik (JetBrains)

Published: 2021-08-31T14:53:37Z

Content type: tutorial

Language: ru

Sources: [JetBrains RU](<https://devfeed.tech/sources/jetbrains-ru.md>)

Topics: [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Agile](<https://devfeed.tech/topics/agile.md>), [test](<https://devfeed.tech/topics/test.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>)

Tags: [agile](<https://devfeed.tech/tags/agile.md>), [idea](<https://devfeed.tech/tags/idea.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [tag-34905ba5ce2c](<https://devfeed.tech/tags/tag-34905ba5ce2c.md>), [tag-532d1762d470](<https://devfeed.tech/tags/tag-532d1762d470.md>), [tag-7bc388df28ed](<https://devfeed.tech/tags/tag-7bc388df28ed.md>), [tag-e34f6dec12c4](<https://devfeed.tech/tags/tag-e34f6dec12c4.md>), [test](<https://devfeed.tech/tags/test.md>)

### AI overview

This tutorial explains how Agile teams can manage test cases in IntelliJ IDEA using a Test Management plugin and a Test as Text or Test as Code workflow. Test cases are stored as Markdown-based .t.md files in version control alongside project code, enabling synchronization with automated tests, change history review, and collaborative development.

### Source excerpt

Test as Text в IntelliJ IDEA - коротко о том, как мы видим управление чеклистами и тестовыми сценариями в agile командах. Читать далее

## Что в коробке? Обзор свежего релиза Toolbox App 1.21

DevFeed: [Что в коробке? Обзор свежего релиза Toolbox App 1.21](<https://devfeed.tech/articles/toolbox-app-1-21-23919.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/JetBrains/articles/567762/>)

Author: dievsky (JetBrains)

Published: 2021-07-15T09:12:02Z

Content type: release

Language: ru

Sources: [JetBrains RU](<https://devfeed.tech/sources/jetbrains-ru.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [ide](<https://devfeed.tech/topics/ide.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [PyCharm](<https://devfeed.tech/topics/pycharm.md>), [rider](<https://devfeed.tech/topics/rider.md>), [webstorm](<https://devfeed.tech/topics/webstorm.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [android-studio](<https://devfeed.tech/tags/android-studio.md>), [app](<https://devfeed.tech/tags/app.md>), [eap](<https://devfeed.tech/tags/eap.md>), [google](<https://devfeed.tech/tags/google.md>), [ide](<https://devfeed.tech/tags/ide.md>), [idea](<https://devfeed.tech/tags/idea.md>), [install](<https://devfeed.tech/tags/install.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [mac](<https://devfeed.tech/tags/mac.md>), [pycharm](<https://devfeed.tech/tags/pycharm.md>), [rider](<https://devfeed.tech/tags/rider.md>), [toolbox](<https://devfeed.tech/tags/toolbox.md>), [toolbox-app](<https://devfeed.tech/tags/toolbox-app.md>), [update](<https://devfeed.tech/tags/update.md>), [webstorm](<https://devfeed.tech/tags/webstorm.md>)

### AI overview

This Russian-language release overview explains JetBrains Toolbox App, which manages JetBrains IDEs and Android Studio. It describes installing, updating, rolling back, and maintaining multiple tool versions, and highlights name-based filtering in version 1.21.

### Source excerpt

Если вы еще не знаете, что такое Toolbox App, то этот пост для вас, потому что мы сейчас расскажем. А если вы -- один из 800 тысяч наших пользователей, то этот пост тем более для вас, потому что в новой версии много интересного, а еще она быстрее работает и меньше кушает. Что в коробке?

## Language Injections in Android Studio / IntelliJ IDEA 💉

DevFeed: [Language Injections in Android Studio / IntelliJ IDEA 💉](<https://devfeed.tech/articles/language-injections-in-android-studio-intellij-idea-27883.md>)

Original publisher: [Read original article](<https://riggaroo.dev/language-injections-in-android-studio-intellij-idea/>)

Author: Rebecca Franks

Published: 2021-01-20T09:19:12Z

Content type: tutorial

Language: en

Sources: [Rebecca Franks - @riggaroo](<https://devfeed.tech/sources/rebecca-franks-riggaroo.md>)

Topics: [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>), [ide](<https://devfeed.tech/topics/ide.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [glsl](<https://devfeed.tech/topics/glsl.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [glsl](<https://devfeed.tech/tags/glsl.md>), [ide](<https://devfeed.tech/tags/ide.md>), [idea](<https://devfeed.tech/tags/idea.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [language-injection](<https://devfeed.tech/tags/language-injection.md>), [opengl](<https://devfeed.tech/tags/opengl.md>), [sql](<https://devfeed.tech/tags/sql.md>), [studio](<https://devfeed.tech/tags/studio.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>)

### AI overview

This tutorial explains how language injection in Android Studio and IntelliJ IDEA enables embedded code such as SQL or GLSL to receive syntax highlighting, validation, suggestions, and separate-editor support. It also describes using annotations and the GLSL Support Plugin for Kotlin string literals.

### Source excerpt

Android Studio is a powerful IDE with a multitude of features that I'll probably never discover. However, when I do discover a feature of the IDE that I've been dreaming about, I get irrationally excited about it (and often times write a blog post such as this one). One feature that really piqued my interest [...] The post Language Injections in Android Studio / IntelliJ IDEA 💉 appeared first on Rebecca Franks - @riggaroo.

## TAYFA Built a No-Code Website Builder in Seven Days

DevFeed: [TAYFA Built a No-Code Website Builder in Seven Days](<https://devfeed.tech/articles/tayfa-built-a-no-code-website-builder-in-seven-days-335.md>)

Original publisher: [Read original article](<https://supabase.com/blog/case-study-tayfa>)

Published: 2020-12-02T07:00:00Z

Content type: article

Language: en

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

Topics: [Supabase](<https://devfeed.tech/topics/supabase.md>), [No-code](<https://devfeed.tech/topics/no-code.md>)

Tags: [accelerate](<https://devfeed.tech/tags/accelerate.md>), [customer](<https://devfeed.tech/tags/customer.md>), [growth](<https://devfeed.tech/tags/growth.md>), [idea](<https://devfeed.tech/tags/idea.md>), [no-code](<https://devfeed.tech/tags/no-code.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

A case study about Tayfa building a no-code website builder in seven days, progressing from an idea to a paying customer in less than 30 days, with Supabase helping companies accelerate growth and streamline work.

### Source excerpt

See how Tayfa went from idea to paying customer in less than 30 days.

## Почему JetBrains не напишет легковесную IDE

DevFeed: [Почему JetBrains не напишет легковесную IDE](<https://devfeed.tech/articles/jetbrains-ide-34267.md>)

Original publisher: [Read original article](<https://tonsky.livejournal.com/325451.html>)

Published: 2020-05-23T15:16:18Z

Content type: opinion

Language: ru

Sources: [Tonsky Стой под стрелой](<https://devfeed.tech/sources/tonsky.md>)

Topics: [ide](<https://devfeed.tech/topics/ide.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [Sublime Text](<https://devfeed.tech/topics/sublime-text.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Vim](<https://devfeed.tech/topics/vim.md>), [vs-code](<https://devfeed.tech/topics/vs-code.md>), [Java](<https://devfeed.tech/topics/java.md>), [Syntax Highlighting](<https://devfeed.tech/topics/syntax-highlighting.md>)

Tags: [android-studio](<https://devfeed.tech/tags/android-studio.md>), [ide](<https://devfeed.tech/tags/ide.md>), [idea](<https://devfeed.tech/tags/idea.md>), [java](<https://devfeed.tech/tags/java.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [livejournal](<https://devfeed.tech/tags/livejournal.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [tag-5e1c061eda96](<https://devfeed.tech/tags/tag-5e1c061eda96.md>), [tag-c40b78a8c8a6](<https://devfeed.tech/tags/tag-c40b78a8c8a6.md>), [tag-d16a2c26554f](<https://devfeed.tech/tags/tag-d16a2c26554f.md>), [tag-e3028c5e0ab2](<https://devfeed.tech/tags/tag-e3028c5e0ab2.md>), [vim](<https://devfeed.tech/tags/vim.md>), [vs-code](<https://devfeed.tech/tags/vs-code.md>)

### AI overview

The author argues that a lightweight IDE cannot exist because IDE features such as navigation, refactoring, debugging, and run configurations must understand the entire project. Build systems, frameworks, and integrations make that project-wide understanding inherently complex. The discussion draws on the author's experience with JetBrains IDEs, Java tooling, and Android Studio, while noting a personal preference for lightweight editors.

### Source excerpt

Еще в 2011 я публично отказался от ИДЕ и так с тех пор и живу: TextMate, Vim, Sublime, LightTable, VS Code, снова Sublime. И вот год назад я устроился в JetBrains. Нет, мое отношение не поменялось: я все еще считаю, что в ИДЕ программировать не надо. У меня на столе усердно копится папочка Annoying IDE(A), а Джаву и Котлин я все так же пишу в Sublime Text. Поменялось вот что. Раньше я думал, что IDE это такие цитадели зла, что их специально делают сложными и неудобными, ну или не специально, а просто сил не хватает сделать аккуратными и легковесными. Могли бы, да не смогли. Сейчас, посмотрев на Idea, и на Java-тулинг, и на Android Studio, я понимаю, что это принципиальное противоречие: в самой идее IDE заложена сложность, кривость и неудобство. Легковесная IDE не может существовать, потому что мир вокруг сложен. Давайте подумаем, что ИДЕ нам дает. Syntax highlighting, Go to definition, Find usages, Show hierarchy, Structural rename, и допустим Run configurations, то есть возможность все это как-то запускать (в том числе и под дебаггером). Все это сами по себе вполне легковесные функции, так-то. Легко представить их чисто интерфейсно в, скажем, в Vim или VS Code, ничего принципиально сложного или развесистого они в себе не несут. Так в чем же проблема? Проблема в том, что чтобы они работали, нужно вот прям все-все знать о проекте в целом. Язык программирования, допустим, маленький и фиксированный, с ним просто. Поэтому Syntax highlighting, для которого дальше одного файла смотреть не нужно, есть в самых легковесных редакторах. А вот как проект настроен и как билдится, вот тут-то адок и начинается. Миллионы билд-систем, некоторые из которых императивные и тюринг-полные, два миллионна фреймворков, миллион в квадрате интеграций, все это кривое, косое, уникальное, как блядь снежинка, общается друг с другом не пойми как, пишет файлы, теряет файлы, не видит очевидного, лезет куда не нужно, зависит друг от друга, ломается и занимается при этом довольно тривиальными вещами,

## Java 9 Flow API: switching threads

DevFeed: [Java 9 Flow API: switching threads](<https://devfeed.tech/articles/java-9-flow-api-switching-threads-24811.md>)

Original publisher: [Read original article](<https://akarnokd.blogspot.com/2017/09/java-9-flow-api-switching-threads.html>)

Author: David Karnok (noreply@blogger.com)

Published: 2017-09-21T10:49:00Z

Content type: tutorial

Language: en

Sources: [Akarnokd - Advanced RxJava](<https://devfeed.tech/sources/akarnokd-advanced-rxjava.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Java 9](<https://devfeed.tech/topics/java-9.md>), [API](<https://devfeed.tech/topics/api.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [executor](<https://devfeed.tech/tags/executor.md>), [executorservice](<https://devfeed.tech/tags/executorservice.md>), [flow](<https://devfeed.tech/tags/flow.md>), [flow-api](<https://devfeed.tech/tags/flow-api.md>), [idea](<https://devfeed.tech/tags/idea.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [java](<https://devfeed.tech/tags/java.md>), [java-9](<https://devfeed.tech/tags/java-9.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [main-thread](<https://devfeed.tech/tags/main-thread.md>), [observeon](<https://devfeed.tech/tags/observeon.md>), [publisher](<https://devfeed.tech/tags/publisher.md>), [thread](<https://devfeed.tech/tags/thread.md>), [threading](<https://devfeed.tech/tags/threading.md>), [threads](<https://devfeed.tech/tags/threads.md>)

### AI overview

This tutorial explains how to switch execution between threads in reactive flows using Java 9's Flow API. It compares embedding thread switching in operators with a separate observeOn stage, then outlines an observeOn implementation based on Executor, asynchronous boundaries, bounded queues, and request management.

### Source excerpt

Introduction Ensuring certain computations happen on the right thread, usually off the main thread, is a very common development task when dealing with reactive flows. When building up tools for Java 9's Flow API, one can decide to add this thread-switching support to each operator directly - see the range() operator from the start of the series -, or have a standalone stage for this purpose. This is a tradeoff. Inlining thread switching avoids bogging down the source thread like the thread-stealing behavior of most of the queue-drain approach presented so far. A separate operator allows better composition and may even allow working with exotic asynchrony-providing components. The observeOn operator In Java, threading support is provided via the Executor, ExecutorService and ScheduledExecutorService-based API. Executor is is the most basic one of them which only provides a single execute(Runnable) method. This allows creating an Executor from a lambda: Executor trampoline = Runnable::run; Executor swing = SwingUtilities::invokeLater; Executor pool = ForkJoinPool.commonPool(); As the least common denominator, we'll use Executor in defining our observeOn operator: public static <T> Flow.Publisher<T> observeOn( Flow.Publisher<T> source, Executor exec, int prefetch) { return new ObserveOnPublisher<>(source, exec, prefetch); } Crossing an asynchronous boundary requires the temporary storage of an event until the other side can pick it up. The queue-drain approach can provide a nice bounded queue we can size with prefetch. In addition, the so-called stable-prefetch request management (shown in the mapFilter operator before) allows minimizing the overhead of requesting more items. First, let's see the skeleton of the operator's main Flow.Subscriber implementation: static final class ObserveOnSubscriber<T> implements Flow.Subscriber<T>, Flow.Subscription, Runnable { final Flow.Subscriber<? super T> downstream; final Executor exec; final int prefetch; final Queue<T> queue; F

## Droidcon App! - Kevin Galligan

DevFeed: [Droidcon App! - Kevin Galligan](<https://devfeed.tech/articles/droidcon-app-kevin-galligan-38193.md>)

Original publisher: [Read original article](<https://touchlab.co/droidcon-app>)

Published: 2017-07-14T16:00:38Z

Content type: opinion

Language: en

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

Topics: [Android](<https://devfeed.tech/topics/android.md>), [App](<https://devfeed.tech/topics/app.md>), [Development](<https://devfeed.tech/topics/development.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [RxJava](<https://devfeed.tech/topics/rxjava.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [built-by-touchlab](<https://devfeed.tech/tags/built-by-touchlab.md>), [community](<https://devfeed.tech/tags/community.md>), [database](<https://devfeed.tech/tags/database.md>), [idea](<https://devfeed.tech/tags/idea.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-dev](<https://devfeed.tech/tags/mobile-dev.md>), [networking](<https://devfeed.tech/tags/networking.md>), [rxjava](<https://devfeed.tech/tags/rxjava.md>), [thoughts](<https://devfeed.tech/tags/thoughts.md>)

### AI overview

The article describes a planned modernization of the Droidcon Android app, including migration from older Kotlin, libraries, architectures, and Retrofit v1. The authors discuss moving to Room or SQLDelight, using RxJava 2 for non-persisted tasks, retaining a persisted queue for offline support, and adopting new architecture components while exploring compatibility with iOS through Doppl.

### Source excerpt

We're gearing up to have our 4th year of Droidcon NYC! Keep an eye on the Droidcon example app. We'll be modifying a few things over the next few weeks.

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