Logic vs language: how a Turkish alphabet bug played a years-long game of hide-and-seek inside the Kotlin compiler| Medium
News and insights on the Android platform, developer tools, and events.| Android Developers Blog
こんにちは、ソーシャル経済メディア「NewsPicks」のプラットフォームエンジニアリングチームの崔(ちぇ)です。前回の記事で、複雑になりすぎたシステムをシンプルにするための設計をしてみたというお話をしました。 tech.uzabase.com 今回は、その続編として、実装を進めてみて浮上した課題をどのように解決し、結果的にどれほど便利なものになったのかについてお...| Uzabase for Engineers
NewsPicksのクレジットカード決済における本人認証対応についてご紹介します。| Uzabase for Engineers
Map transformation functions find common usage in Android development. They are part of the Kotlin Standard Library, a library built by JetBrains to provide standard functionality across Kotlin codebases.| Darryl Bayliss
This is a summary of the JavaZone 2025 conference I attended in early September. It’s a conference focused on developers that I enjoyed and highly recommend.| blog.allegro.tech
A tale of how elegant SSE code passed code review, worked perfectly locally and in staging, but nearly brought down our production servers when thousands of users connected simultaneously during a real DDoS attack.| cekrem.github.io
In the rapidly evolving landscape of API development, GraphQL has emerged as a powerful alternative to traditional REST APIs. When combined with Netflix’s Domain Graph Service (DGS) framework and the robustness of Spring Boot with Kotlin, developers can create highly efficient, type-safe, and scalable APIs. In this article, we’ll explore the advantages of this framework and how to set up and build a GraphQL API using these cutting-edge technologies.| iO tech_hub
Interceptors are like JUnit rules, but for every Kotlin platform| Cash App Code Blog
Ryan welcomes Jeffrey van Gogh, Director of Engineering, Android Developer Experience, at Google and board member of the Kotlin Foundation. They discuss the evolution of the Kotlin language from JVM to multiplatform, how their governance board works with the community to stop breaking changes, and the intricacies of Kotlin’s multiplatform capabilities beyond just Android.| Stack Overflow Blog
A small go-through to explore Kubernetes, Helm and Terraform| iO tech_hub
An exploration of Kotlin and coroutines to have a Spring reactive application written in direct style| iO tech_hub
This 2-part article is about going from a traditional MVC-style Spring Boot application written in Java to a modern, functional, reactive Spring Boot application using Kotlin and Coroutines.| iO tech_hub
Another Gradle footgun| Zac Sweers
I'm excited to share something new I've been working on the past few months!| Zac Sweers
Notes from writing a new toy Kotlin Multiplatform app this summer.| Zac Sweers
K2 is around the corner (RC2 at the time of writing) and if you haven't prepared your project(s) for it, this post'll help cover some of the areas to watch out for.| Zac Sweers
CatchUp turned 7 recently. This is a little overview of where it's been and where it's going.| Zac Sweers
As the developer communities scatter from Twitter, let's learn from mistakes.| Zac Sweers
IntelliJ and Android Studio try to constantly reload Gradle projects by default, disabling that behavior can improve your workflow.| Zac Sweers
You may know I’m a big fan of OpenTelemetry. I recently finished developing a master class for the YOW! conference at the end of the year. During development, I noticed massive differences in configuration and results across programming languages. Even worse, differences exist across frameworks inside the same programming language. In this post, I want to compare the different zero-code OpenTelemetry approaches on the JVM, covering the most widespread: Spring Boot with Micrometer Tracing| A Java geek
A few weeks ago, Axel Roest published a simple web server comparison, that turned out to not be doing what it was thought to be doing. Figuring that out was a very interesting discussion that warrants a retrospective, to look at which parts were particularly helpful and which not so much. Tangentially, I want to… Read more| Wade Tregaskis
I’ve been doing the Weekly Challenges. The latest involved string manipulation. (Note that this ends today.)| RogerBW's Blog
このたび STORES では STORES モバイルオーダー というサービスをリリースしました。 www.st.inc 名前からも想像できるように、店頭から離れた場所からもスマートフォンでテイクアウト注文できる特徴をもったサービスです。 注文するお客様にとって、移動中に注文をして待ち時間を短縮できるとても利便性が良いサービスですが、お店にとっても行列を見てお客様が返っ...| STORES Product Blog
Graal Native Launchers by Default| mill-build.org
Have you ever struggled to identify which REST API is being tested in your integration tests? In this article, you’ll learn a clean and readable way to call REST APIs within your integration tests. The goal is to make the WHEN section of the test clearly show which API is called and in what context, while hiding all technical details.| blog.allegro.tech
The annual JetBrains KotlinConf is in progress in Copenhagen, with news including the first official LSP (Language Server […]| DEVCLASS
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.| Julien's DevRel corner
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.| Julien's DevRel corner
The Android Runtime (ART) offers a nice memory safety feature when accessing the content of an array. The indices you use are automatically checked against the bounds of the array to prevent unsafe memory accesses. To achieve this, ART generates extra machine instructions to throw an ArrayIndexOutOfBoundsException when the index is invalid. Here is a simple Kotlin example: 1fun scaleZ(values: FloatArray, scale: Float) = values[2] * scale After translation to arm64 assembly, we obtain the foll...| Romain Guy
Use EmptyCoroutineContext instead of Dispatchers.Unconfined.| Cash App Code Blog
KotlinPoet 2.0 is the next, source- and binary-compatible major release of the library, that has important behavior changes.| Cash App Code Blog
Today we’re announcing Burst 2.0| Cash App Code Blog
Identifying and avoiding bad coding practices, and refactoring them into clean, elegant, self-explanatory code| iO tech_hub
はじめに はじめまして。ソーシャル経済メディア「NewsPicks」にエンジニアとして2024年新卒入社したカトマサです。 私は博士課程まで理論物理学を研究しており、C++やPythonを使った数値計算やデータ解析の経験はありましたが、Web開発は完全に未経験でした。趣味として、YoutubeやInstagram、TikTokで動画投稿やライブ配信を行なっています。 2024年4月の入社後、広告配信シ...| Uzabase for Engineers
When generating random numbers for certain use-cases, such as when generating keys / IDs, it’s recommended for the random function to be “cryptographically strong”. Otherwise, attackers could predict random values, enabling serious security vulnerabilities.| Alexandru Nedelcu - Blog
The database schema should be described as code, in your repository. And you should be able to semi-automatically update your database schema on new deployments. Now in Kotlin, with Gradle and Flyway.| Alexandru Nedelcu - Blog
Kotlin Coroutines are usually integrated in Java code via Java’s CompletableFuture, but a tighter integration might be possible with Cats-Effect.| Alexandru Nedelcu - Blog
The marketing for Functional Programming is made of technobabble. Technobabble was used in Star Trek. Those long discussions are what Star Trek was loved for, but technobabble isn’t good for sharing knowledge or advancing our field.| Alexandru Nedelcu - Blog
As Scala developers and fans of the functional programming promoted by Haskell, how do we justify the use of IO to newbies coming from Java? It’s been a fun ride, but the truth is that Java 19 is changing everything.| Alexandru Nedelcu - Blog
The following describes snippets for executing shell commands, in Java, Scala, and Kotlin, using standard functionality. It’s also useful to compare Java vs Scala vs Kotlin for this particular problem.| Alexandru Nedelcu - Blog
Posted by Alex Rebert, Security Foundations, Ben Laurie, Research, Murali Vijayaraghavan, Research and Alex Richardson, Silicon For decades,...| Google Online Security Blog
JetBrains is abandoning its plan to build an IDE for Kotlin Multiplatform (KMP) on Fleet, its next-generation IDE, […]| DEVCLASS
TL;DR : With Coolify you can host you Kotlin applications in seconds on your own server and benefit from auto deploys, custom domains, preview branches and more. You can see the code here, and access the sample here.| Julien's DevRel corner
Upgrading a simple Kotlin and PicoCLI project to Kotlin 2.0 in under 5 minutes to celebrate the new version coming up!| Julien's DevRel corner
In this article we continue diving into TestContainers and Supabase, and run unit tests against a full local self-hosted Supabase.| Julien's DevRel corner
In this article, I'll dive into several methods I've been looking into to unit test a Kotlin application using Supabase and why I finally decided to go for a Docker Compose / Test Containers solution.| Julien's DevRel corner
Cheat sheet for using Nimbus JOSE + JWT to create signing keys, generate signed JWTs, and verify JWT signatures. Examples use ES256K and EdDSA (Ed25519)| Scott Brady
Implementing OAuth support in Ktor & Kotlin to get access tokens from IdentityServer4| Scott Brady - scottbrady.io
Verifying JSON Web Tokens usng the Java-JWT library and protecting access to a Ktor API| Scott Brady
Getting to grips with Kotlin using OAuth client credentials and API requests| Scott Brady
Often, when explaining to other devs that Masset uses Kotlin as our primary backend language, I receive inquisitive and questioning faces. “The Android language? On your backend? That seems odd… Have you considered rewriting it in Rust?” 🤨 In response, I’ve often found myself struggling to elaborate what it is that I specifically like about […]| tylerrussell.dev
Reading Time: 24 minutesOften, when explaining to other devs that Masset uses Kotlin as our primary backend language, I receive inquisitive and questioning faces. “The Android language? On your backend? That seems odd… Have you considered rewriting it in Rust?” 🤨 | tylerrussell.dev
In this blog, I share my experience of learning Kotlin, Kafka, and Docker while building a Spring-boot application. Join me on this journey as I explore these technologies and provide insights into my project approach, technology integration, and what i like to call the minimum business logic approach.| iO tech_hub
Learn some Kotlin basics and how to easily use coroutines to write parallelized code cleanly according to structured concurrency.| iO tech_hub
BlurHash is a compact representation of placeholders for images. A blur hash is encoded as a short string that can be rendered to a bitmap at runtime to display a “blurry” version of the source image. The way it works remind me of how spherical harmonics are used in 3D rendering engines to efficiently encode irradiance. I recently remembered that I had been meaning to look at the Kotlin implementation of BlurHash to see if there was a way to make it faster. I looked up the KMP port and af...| Romain Guy
A primer to help you write your first Kafka Streams application.| Luca Pette
How to build HTTP endpoints with Kafka Streams Interactive Queries| Luca Pette
ソーシャル経済メディア「NewsPicks」のMobileAppUnitの野口です。 開催日から日が経ってしまいましたが、先月22日(土)ベルサール渋谷ファーストで開催された、テックイベントKotlinFestに参加してきたのでそのレポートです。 (後半に一緒に参加した石井さんのレポートもあります) KotlinFestはその名前の通り、プログラミング言語のKotlinに関するカンファレンスで、6月22日...| Uzabase for Engineers
The purpose of this article is to present how to design, test, and monitor a REST service client. The article includes a repository with clients written in Kotlin using various technologies such as WebClient, RestClient, Ktor Client, Retrofit. It demonstrates how to send and retrieve data from an external service, add a cache layer, and parse the received response into domain objects.| blog.allegro.tech
¿Trabajas con Kotlin + Spring Boot + Gradle y tus tests son demasiado lentos? Este artículo es para vos.| 10Pines | Blog
Leland and I were recently discussing how to best implement a new data structure to speed up a specific aspect of Jetpack Compose. He came up with a great idea, and nerd sniped me in the process. The problem was to efficiently encode the occupancy of an 8x8 grid represented as a Long (each bit representing a cell in the grid). After coming up with the bit twiddling code that quickly “rasterizes” a rectangle into the grid as a bitfield, I found myself thinking about how incredibly helpful ...| www.romainguy.dev
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 […] View post to subscribe to site newsletter. The post Language Injections in Android Studio / IntelliJ IDEA 💉 appeared first on Rebecca Franks - @riggaroo.| Rebecca Franks – @riggaroo
Dart reference guide for Kotlin (Android) developers| tech&Life
This post shows how to get started with creating Android apps in Kotlin language using Android Studio 3 and higher.| tech&Life
I’ve been doing the Weekly Challenges. The latest involved counting digits and matching bit-counts. (Note that this ends today.)| RogerBW's Blog
GitHub offers a way to customize one’s profile by allowing one to create a README in a specific repository, named as your profile, e.g., nfrankel/nfrankel. A couple of years ago, I automated the update of my GitHub profile with up-to-date info: my latest blog posts, my upcoming talks, and the last recorded YouTube talk. I took the time to document how to do it on this blog. At the time, I chose Kotlin scripting because I was proficient enough in Kotlin, but I wanted to learn the scripting| A Java geek
Most people who start using Kotlin are already familiar with Java and its ecosystem. I, on the other hand, am not one of those people and have been looking for easier ways into the Java ecosystem. I found that Kotlin was probably that softer path back. (I wrote Java in …| cat /dev/brain
I’ve been doing the Weekly Challenges. The latest involved array analysis and string merging. (Note that this ends today.)| RogerBW's Blog
I’ve been doing the Weekly Challenges. The latest involved a lot of counting. (Note that this ends today.)| RogerBW's Blog
Some say, CVE-2022-42889 is the new Log4Shell, for which we developed our own tool to enumerate affected hosts back in 2021. Others like Rapid7 argue that it may not be as easy to exploit like Log4Shell. Regardless of the severity and exploitability of this vulnerability, we quickly morphed a clone of our Log4Shell plugin into an open source tool that can detect this vulnerability reasonably well.| Silent Signal Techblog
Log4Shell, formally known as CVE-2021-44228 seems to be the next big vulnerability that affects a huge number of systems, and the affected component, Log4j gets involved in logging untrusted data by design. This results in lots of vulnerable hosts that are hidden in the sense that naive testing won’t find them, as it’s not trivial to know which part of a complex parsing path (potentially involving multiple systems) is vulnerable. We built and released our new open source tool to find thes...| Silent Signal Techblog
Many tools are timeless: a quality screwdriver will work in ten years just as fine as yesterday. Reverse engineering tools, on the other hand need constant maintenance as the technology we try to inspect with them is a moving target. We’ll show you how just a simple exercise in Android reverse engineering resulted in three patches in an already up-to-date tool.| Silent Signal Techblog
These functions were deprecated in alpha and have been replaced.| tigeroakes.com
Simply changing import statements can improve performance.| tigeroakes.com
Learn how to use downloadable fonts (from the Google Fonts collection) in your Jetpack Compose app.| John Codeos
The best way to work with lists and state in Jetpack Compose.| tigeroakes.com
Armadillo is the fully featured audio player library Scribd uses to play and download all of its audiobooks and podcasts, which is now open source. It specializes in playing HLS or MP3 content that is broken down into chapters or tracks. It leverages Google’s Exoplayer library for its audio engine. Exoplayer wraps a variety of low level audio and video apis but has few opinions of its own for actually using audio in an Android app.| Scribd Technology
Learn how to create a neat color picker in Android using Kotlin. This step-by-step tutorial guides you through integrating a color picker within an AlertDialog.| John Codeos
Learn to integrate biometric authentication, such as fingerprint or face recognition, into your Android app using Kotlin. Securely verify user identity with this easy-to-follow guide.| John Codeos
Learn to create a carousel using the newer ViewPager library, the ViewPager2.| John Codeos
In this Jetpack Compose tutorial, you'll learn how to create an expandable list. It's the equivalent of the Expandable RecyclerView that we do in XML.| John Codeos
This tutorial teaches you how to move a view with animation when the keyboard appears or disappears. You can use this feature all the way back to API 21.| John Codeos
Two libraries with similar concepts. What's the equivalent Jetpack Compose terms for React terms?| tigeroakes.com
My experience and impressions attending KotlinConf a couple weeks back. And some thoughts on the future of Kotlin.| Julien's DevRel corner
This blog shows a way to use the Jetbrains HTTP Client to replace Postman and test third party APIs, share requests and even run them in CI all of that within minutes!| Julien's DevRel corner
I found and fixed a tiny bug in OpenAPI, learnt about the library, jackson and git in the process. In short, get and set methods are visited by Jackson even when they aren't used anywhere in the code! Be careful how you name your methods 🔥| Julien's DevRel corner
Maybe it is Monday and you are pairing to catch up while drinking your morning coffee. When you randomly open the project dependencies file and start wondering why Lombok is there. In this post Guille tell us how to get rid of Lombok!| 10Pines | Blog
Trello Android recently converted from using Gson [https://github.com/google/gson] to Moshi [https://github.com/square/moshi] for handling JSON. It was a bit tricky so I wanted to document the process. (For context, Trello Android primarily parses JSON. We rarely serialize JSON, and thus most of the| Dan Lew Codes
The following code converts an object to JSON and then back again: val adapter = Moshi.Builder().build().adapter(Foo::class.java) val foo = Foo(bar = null) val json = adapter.toJson(foo) val foo2 = adapter.fromJson(json) check(foo == foo2) I think most of us would expect check() to pass, but| Dan Lew Codes