David Blanc #blacklivesmatter #StandWithUkraine (@speekha) header
David Blanc #blacklivesmatter #StandWithUkraine (@speekha) profile picture

@speekha.bsky.social #Android lead developer at BPCE SI. Quite fond of @Google products and definite @Kotlin lover. Author of HttpMocker.

Toulouse, France
Joined September 2014
Photo by David Blanc #blacklivesmatter #StandWithUkraine (@speekha)Photo by David Blanc #blacklivesmatter #StandWithUkraine (@speekha)Photo by David Blanc #blacklivesmatter #StandWithUkraine (@speekha)Photo by David Blanc #blacklivesmatter #StandWithUkraine (@speekha)Photo by David Blanc #blacklivesmatter #StandWithUkraine (@speekha)Photo by David Blanc #blacklivesmatter #StandWithUkraine (@speekha)Photo by David Blanc #blacklivesmatter #StandWithUkraine (@speekha)Photo by David Blanc #blacklivesmatter #StandWithUkraine (@speekha)Photo by David Blanc #blacklivesmatter #StandWithUkraine (@speekha)Photo by David Blanc #blacklivesmatter #StandWithUkraine (@speekha)
I wrote a post detailing how to use my library #HttpMocker. Thanks @ktdotacademy for publishing it.
New post about HttpMocker - new HTTP mocking library to handle offline modes by @speekha @kotlin #kotlin blog.kotlin-academy.com/http…
3
1
11
David Blanc #blacklivesmatter #StandWithUkraine retweeted
🎉 Nouveau speaker ! Nous sommes fiers d'accueillir @speekha au #DevFestToulouse2026 🚀 🎤 ANOM, l'Android qui a fait tomber 1000 criminels (Conférence) 👉 L’histoire vraie d’une opération d’infiltration numérique menée via un Android modifié et une application prétendument ultra-sécurisée. Hâte de découvrir cette conférence sur scène le 19 novembre !
1
2
3
151
Just a warning that I'm slowly moving out by unsubscribing from as many Twitter feeds as possible. So if you're also present on 🦋, I'll only follow you over there.
1
32
David Blanc #blacklivesmatter #StandWithUkraine retweeted
derivedStateOf is an important function in Compose that limits the number of recompositions. Let me show you how it works and when it should be used. 👇 (1/5)
1
10
72
5,753
David Blanc #blacklivesmatter #StandWithUkraine retweeted
💠 Here's a sneak preview of something that I've been working on in Haze: overlapping areas With this you'll be able to implement those classic glassy card effects. I still need to run the performance benchmarks, but it seems to be working nicely... 🔗: github.com/chrisbanes/haze/p…
5
10
101
4,764
David Blanc #blacklivesmatter #StandWithUkraine retweeted
Transforming lists into arrays can sometimes help us have a crazy amount of memory❗ Of course, such optimizations make sense only in very specific cases. The size of IntArray is typically 5 times smaller than an array or a list of ints. The reason is simple: IntArray uses primitives that need only 4B. In other cases, we need a wrapped type that needs 16B for an object and 4B for reference. Wrapped types also add a cost of accessing the underlying values and garbage collecting all the objects. That is why one of the first optimizations we do when we make performance tuning is optimizing for primitives. Though this optimization only works for primitives. A typical list of object will need similar amount of memory as an array, because default list in Kotlin is just a wrapper over array. A wrapper that allows much simpler use. That is why such an optimization should only be done on performance-critical parts of our code, where performance is more important than simplicity, as it often complicates our code and makes it less idiomatic.
2
8
38
2,677
David Blanc #blacklivesmatter #StandWithUkraine retweeted
Optimizing performance is a cornerstone of engineering. Over the past 15 years, I've enhanced performance across various mobile apps. Performance is challenging, but here are my top tips to develop a performance-oriented mindset A thread 🧵
2
5
23
3,533
David Blanc #blacklivesmatter #StandWithUkraine retweeted
GlobalScope is a poor practice and it should be avoided. ⚠️ Let me explain why and what we should use instead. (1/7)👇
3
9
66
5,695
David Blanc #blacklivesmatter #StandWithUkraine retweeted
Clickable modifier can be disabled by argument, do not use conditional modifier for that!
2
20
2
144
6,034
David Blanc #blacklivesmatter #StandWithUkraine retweeted
This is what the map, filter, and onEach from Kotlin Coroutines look like under the hood. Yes, it's that simple. Flow under the hood is as simple and efficient as it can be.
1
8
57
3,032
David Blanc #blacklivesmatter #StandWithUkraine retweeted
My daughter (still) studies Java in university. Watching her struggles gives me a unique insight into the language design. I can definitely tell that Java 9's decision to have "unspecified" iteration order in Map.of method is a mistake.
24
4
3
184
25,591
David Blanc #blacklivesmatter #StandWithUkraine retweeted
Have you ever wondered why toUpperCase and toLowerCase were deprecated in Kotlin? The original reason was the Turkish language. Thread 👇🧵
4
22
153
22,781
David Blanc #blacklivesmatter #StandWithUkraine retweeted
🚀 Big news for Kotlin devs! K2 mode is now Stable in IntelliJ IDEA 2024.3! ✨ Better performance 📊 Improved memory efficiency 💪 Kotlin 2.1 support 🔥 Code analysis stability Learn more in our blog post.👇 blog.jetbrains.com/idea/2024…
31
2
107
14,373
David Blanc #blacklivesmatter #StandWithUkraine retweeted
Vous l’avez réclamée, elle est enfin là : la playlist du #DevFestToulouse 2024 sur Spotify ! 🎶 Pas besoin d’attendre 2025 pour replonger dans l’ambiance unique du #DevFestToulouse. Cliquez ici 👉 open.spotify.com/playlist/0T… et laissez-vous emporter !
2
5
298
David Blanc #blacklivesmatter #StandWithUkraine retweeted
Almost embarrassed to post this, but I've always used Fiddler or Burp for capturing things like this.. I didn't have admin rights and was trying to capture network traffic from a pop-up, so Dev Tools wasn't working Apparently this is built into Chrome/Edge! edge://net-export/
17
157
6
875
128,749
David Blanc #blacklivesmatter #StandWithUkraine retweeted
I can't believe I didn't know about this feature before 🤯 "Cyclic Expand Word" in IntelliJ takes the word your cursor is on and cycles through all possible completion tokens within your current file. So cool!
8
26
1,778
David Blanc #blacklivesmatter #StandWithUkraine retweeted
The way how static dependency injection works is actually very simple, and I can explain it in two minutes! Let me show you 👇🧵
1
16
87
5,617
David Blanc #blacklivesmatter #StandWithUkraine retweeted
Configuring KSP for a #Kotlin #Multiplatform project involves a few additional steps compared to Android. Make sure to add the required KSP targets and link the kspCommonMainKotlinMetadata task. For a full setup guide, refer to the official documentation. #AndroidDev
3
4
28
1,781
C'est toujours impressionnant de voir ce qu'on peut faire à la volée avec les notebooks dans @intellijidea ! Super tour d'horizon et démo par @fbe64. #DevFestToulouse
1
1
44
Super présentation de @almouro sur Flashlight et comment monitorer une app Android facilement avec des commandes systèmes et adb. #devfestToulouse
2
44