Sign in

Amanda Hinchman-Dominguez

@amanda-hinchman.bsky.social
323 followers 131 following 333 posts

Android | co-org of Chicago Kotlin User Group, coauthor of O'Reilly's "Programming Android w/ Kotlin" | Probably other stuff Patreon: www.patreon.com/AmandaHinchman

PostsRepliesMedia
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 02/10/2026
Coding Kinetics is part of the Chicago Public Library's initiative for AI Literacy & Safety Events 💯 www.chipublib.org/news/ai-lite...
chipublib.org
AI Literacy & Safety Events at Chicago Public Library
Chicago Public Library is excited to share our full lineup of Artificial Intelligence literacy, safety, and community learning programs…
010
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 01/10/2026
Can't believe it's almost time for @droidcon.bsky.social 💯 Android developers have never viewed "horizontal scaling" as an option; instead, they learned to code performantly. Maybe the AI industry should do the same.
Droidcon Berlin Oct 7-9, 2026

The Android Lens: Applying Mobile Forensics to AI Perfomance

Amanda Hinchman-Dominguez
President
Coding Kinetics
040
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 01/10/2026
Kotlin's 15th Birthday Party was a hit in Chicago! Chicago KUG and Chicago GDG got together for community-building and connections. Huge thanks to JetBrains for their support and Aspen Dental for hosting us ♥️
A group of 40 people gathered at Aspen Dental for Chicago Kotlin User Group x Chicago GDGPeople line up for pizza and sodas while Kotlin's 15th Birthday displays in the front of a room full of tablesA man in a tshirt collects JetBrain's swag - stickers, a Kodee mini-doll, and birthday supplies spread across the table
020
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 25/09/2026
Chicago! You're invited to Kotlin's 15th birthday party Sept 29th in the West Loop. I'll be in town next week, I hope to see you there 💯 www.meetup.com/chicago-kotl...
meetup.com
You're invited to Kotlin's 15th Birthday Party!, Tue, Sep 29, 2026, 5:30 PM | Meetup
**You're invited to Kotlin's 15th birthday party!** Join us for fun, games, and party favors—including special anniversary Kodee squishies, JetBrains IDE licenses, and more
011
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 13/09/2026
Making my way to KTConf! But before I reach Belgium, first stop is London to visit friends at Google.
A brunette woman in a black tshirt takes a selfie on a train. On her lap is a laptop with IntelliJ open
170
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 08/09/2026
This week on Patreon: A no-dependency ftrace wrapper to create Perfetto traces on Ktor 🤠 www.patreon.com/AmandaHinchm...
patreon.com
[Notecard] How to make Perfetto Traces on Ktor | Amanda Hinchman-Dominguez
[Notecard] How to make Perfetto Traces on Ktor by Amanda Hinchman-Dominguez on Patreon. Join Amanda Hinchman-Dominguez's community for exclusive content and updates.
021
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 31/08/2026
When there are sev1s in production, sometimes log scraping isn't enough. In my Kotlin Coroutines Forensics Masterclass Sept 17 @ @ktconf.bsky.social, we’ll dive into coroutine internals and trace live bottlenecks straight to the code. Limited to 8 seats for interactive labs: ktconf.be/workshops/
[Notecard] How to Read Performance Graphs
Being able to read and interpret performance graphs can help detect leaks & deadlocks in concurrency, prevent false performance conclusions (i.e., a spike in 100% CPU is not inherently a defect), and validate E2E optimizations. Overall, it's about reading in context, and deciding for yourself using other graphs and measurements if performance should be doing what it's doing.

Memory Management

Healthy memory - Graph shaped like a rollercoaster

Healthy memory looks like a rollercoaster: memory is allocated and released correctly

Unhealthy memory - Graph shaped like stairs

Unhealthy memory looks like stairs: memory is alocateed but is never eleased (leaks!)



High CPU vs. Dragged Duration



High CPU is not automatically bad: A program with high CPU (i.e. 500%+ across multiple cores) simply means it is utilizing available hardware parallelization to compute tokens as fast as possible.

Evaluate CPU alongside Duration: The true measure of compute efficiency is total work over time (Total Energy = Power x Time). A brief burst of high CPU that completes work in 51s is better to a lower CPU draw that drags on for 114s.

Why lower peak CPU with faster completion is ideal: If normalized system-wide CPU drops (i.e. 94% down to 68%) while runtime gets cut in half (114.2s down to 51.1s), it proves wasted background churn, polling overhead, or thread spin-locks were eliminated—leaving the processor free to do pure inference work.

Shallow floors vs. high baselines: Watch the bottom of the graph, not just the top. If the CPU line never returns to near-zero during pauses between tasks, background worker threads or zombie routines are still consuming cycles.
021
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 29/08/2026
AS Quail 3 2026.1.3 Patch 1 seems a touch buggy 😅. Anyone run into this? Popups on the IDE just stays. I'll open up an issue once I remember where we do that lol
suggestion popups stage stay after they should go
010
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 26/08/2026
This week on Patreon: Interview with Leland Richardson on Compose (2022) These days, I find it increasingly important to preserve historical conversations and records as Android and Kotlin continue to develop. www.patreon.com/AmandaHinchm...
patreon.com
[Archived Research] Interview with Leland Richardson on Compose, 2022 | Amanda Hinchman-Dominguez
[Archived Research] Interview with Leland Richardson on Compose, 2022 by Amanda Hinchman-Dominguez on Patreon. Join Amanda Hinchman-Dominguez's community for exclusive content and updates.
000
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 19/08/2026
Opened my first PR to Ollama! 🤩 While running benchmarks w/ my AI perf monitoring app, caught a leak: client disconnects during streams left unbuffered channel sends blocked forever Added context-aware cancellation + dropped CPU thrashing under signifcant load PR #17881: github.com/ollama/ollam...
github.com
server: prevent goroutine leaks on client disconnection in streaming routes by ahinchman1 · Pull Request #17881 · ollama/ollama
Fixes #17131 Problem In server/routes.go, streaming endpoints (GenerateHandler, PullHandler, PushHandler, and ChatHandler) run background worker goroutines that send response chunks directly across...
240
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 18/08/2026
This week on Patreon: do you know how to read performance graphs? Being able to read and interpret performance graphs can help detect leaks & deadlocks in concurrency, prevent false performance conclusions, and validate E2E optimizations www.patreon.com/AmandaHinchm...
patreon.com
[Notecard] How to Read Performance Graphs | Amanda Hinchman-Dominguez
[Notecard] How to Read Performance Graphs by Amanda Hinchman-Dominguez on Patreon. Join Amanda Hinchman-Dominguez's community for exclusive content and updates.
020
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 18/08/2026
Ever had production crashes that didn't show up in your analytics? They're silent coroutine scope leaks, unhandled structured concurrency failures, and swallowed exceptions that bypass your logging entirely. Join me at KTConf for a pre-conference workshop to learn how to do coroutine forensics.
Are your users seeing crashes and dropped work that never show up in your telemetry? Silent coroutine leaks and swallowed cancellations are a nightmare to debug in production.

🎟️ Join the Kotlin Coroutines Forensics Masterclass at KTConf to learn how to diagnose, trace, and resolve asynchronous failures for good.
132
Reposted by Amanda Hinchman-Dominguez
Simon Vergauwen @vergauwensimon.bsky.social · 11/08/2026
Check out @pamelaahill.bsky.social's video on #Kotlin 2.4! She covers so many topics. My favourites: - Context parameters & explicit context arguments - Collection literals - Compile-time constants - Uuid - New Map functions - Swift import & Concurrency Blog: kotlinlang.org/docs/whatsne...
062
Reposted by Amanda Hinchman-Dominguez
SassySenora701 @sassysenior70.bsky.social · 11/08/2026
330161614458
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 11/08/2026
This week on Patreon! What is complexity in software design? "A Philosophy of Software Design" by John Ousterhout offers some fascinating insights. www.patreon.com/AmandaHinchm...
patreon.com
[Notecard] Complexity in Software Design | Amanda Hinchman-Dominguez
[Notecard] Complexity in Software Design by Amanda Hinchman-Dominguez on Patreon. Join Amanda Hinchman-Dominguez's community for exclusive content and updates.
000
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 11/08/2026
😬😬😬 I experienced working overtime frequently post AI being aggressively used in the workplace. We should all be talking about this more! Did anyone work less because of AI? What was your experience? www.bbc.com/news/article...
bbc.com
Tech leaders say AI means less work - their staff say they work up to 90 hours a week
Tech companies are not modelling their own claims of the technology giving people more free time.
000
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 11/08/2026
Take advantage of the summer slowdown. While the industry takes a breather, refactor your interviewing strategy. Build that muscle memory now so you can coast through technical rounds later. Refactor your whiteboard muscle memory this month with tech interview prep:
buff.ly
Tech Interview Prep
Offering diverse Kotlin content ranging from training, to online courses, and quick code snippets tailored to your needs at all levels.
000
Reposted by Amanda Hinchman-Dominguez
The TRiiBE @thetriibe.com · 10/08/2026
NEW — Dozens of recipients of the Illinois Youth Investment Program are asking Gov. JB Pritzker and the Illinois General Assembly to support funding for the program. They say nearly 5,000 Illinois youths will lose work this month because of budget cuts. thetriibe.com/2026/08/comm...
thetriibe.com
Community organizations urge Gov. Pritzker to restore funding for 5,000 Illinois youth jobs at risk • The TRiiBE
59 community organizations want the Illinois General Assembly to work with the governor to keep employing the youth.
0219
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 07/08/2026
So I'm reading "A Philosophy of Software Design". When a team bans documentation for "self-documenting code", you often end up with shallow wrappers like this. This passes cognitive load to the reader, and conflates code with intent. Good documentation isn't a code-smell when it's a deep module 😉
Here is an extreme example of a shallow method, taken from a project in a
software design class:
private void addNullValueForAttribute(String attribute) {
data.put(attribute, null);
}
From the standpoint of managing complexity, this method makes things worse,
not better. The method offers no abstraction, since all of its functionality is
visible through its interface. For example, callers probably need to know that the
attribute will be stored in the data variable. It is no simpler to think about the
interface than to think about the full implementation. If the method is
documented properly, the documentation will be longer than the method’s code.
It even takes more keystrokes to invoke the method than it would take for a caller
to manipulate the data variable directly. The method adds complexity (in the
form of a new interface for developers to learn) but provides no compensating
benefit.
040
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 04/08/2026
This week on Patreon: Finally dug a little bit into K2 stabilization updates - up until last year, they were changes most significant to compiler engineers and build tool authors. Now, there are now language features everyone can tangibly see and use. Pretty slick. www.patreon.com/AmandaHinchm...
patreon.com
[Deep Dive] A Stabilized K2 Compiler (Updated 2026) | Amanda Hinchman-Dominguez
[Deep Dive] A Stabilized K2 Compiler (Updated 2026) by Amanda Hinchman-Dominguez on Patreon. Join Amanda Hinchman-Dominguez's community for exclusive content and updates.
000
Reposted by Amanda Hinchman-Dominguez
Ben Collins @bencollins.bsky.social · 04/08/2026
Good framing.
rawstory.com
Kindergarten girls targeted for invasive exams by new GOP-led ballot measure
Washington State voters will decide the fate of a ballot initiative that would require girls from kindergarten through high school to undergo sex-verification testing before playing school sports — a ...
498103452995
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 03/08/2026
Digging into K2 compiler updates & seeing so much regurgitated info without attribution. 😬 Huge thanks to @ktacademy.bsky.social for citing original work, including mine! It means the world to me to see research properly credited. Ya'll are legit 💯 kt.academy/article/ak-c...
Each backend shares a part that transforms the representation provided by the frontend into Kotlin intermediate representation, which is used to generate target-specific files.

You can find detailed descriptions of how the compiler frontend and the compiler backend work in many presentations and articles, like those by Amanda Hinchman-Dominguez or Mikhail Glukhikh. I won’t go into detail here because we’ve already covered everything we need in order to talk about compiler plugins.
000
Reposted by Amanda Hinchman-Dominguez
James Fallows @jfallows.bsky.social · 03/08/2026
@duckduckgo.com is having user survey of why people are going to Duck.ai. Sample page below, I also pay for/rely on Gemini, but these are some ways DDG stands out (Yes, I know, in some circs it's useful for Gemini/etc know context of your past queries. But nice to escape panopticon.)
A questionnaire from DuckDuckGo AI, emphasizing its privacy settings.
67510
Reposted by Amanda Hinchman-Dominguez
The Tennessee Holler @thetnholler.bsky.social · 03/08/2026
CARTOON OF THE DAY (if you know who made this let us know)
265230626669
Reposted by Amanda Hinchman-Dominguez
South Side Weekly @southsideweekly.bsky.social · 02/08/2026
At the corner of 18th and Wood Streets in Pilsen, Herrera wheat-pasted a portrait of Salgado Araujo alongside a list of people killed in detention and encounters with immigration authorities since the start of the second Trump administration. ✍️: Jocelyn Martinez Rosales Read more here:
southsideweekly.com
Remember Their Names
A public art installation honors the lives lost to the US immigration system.
0209
Reposted by Amanda Hinchman-Dominguez
Jaewoong Eum (skydoves) @skydoves.bsky.social · 01/08/2026
Compose HotSwan is going to Kotlin Multiplatform! 🚀 Have you ever seen Compose hot reloading on Android, iOS, and Desktop in real time at this speed? This could be the next-generation fast development loop in the AI area. hotswan.dev
192
Reposted by Amanda Hinchman-Dominguez
kenofseattle @kenofseattle.bsky.social · 01/08/2026
So why isn't Fox news televising interviews of all the happy people who live near data centers so we can hear what a treat it is to live with the constant noise, lights, increased utility costs and non-existent new jobs?
377139073764
Reposted by Amanda Hinchman-Dominguez
P-Y @p-y.wtf · 31/07/2026
I've been documenting the design decisions that drive how LeakCanary works, as well as its history. Did you know LeakCanary was originally called MemoryDiaper? square.github.io/leakcanary/d... square.github.io/leakcanary/h... #AndroidDev
0263
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 29/07/2026
Just published a new web page just for interview prep. Look how cute it looks 😍 codingkinetics.com/get-intervie...
Screenshot of coding Kinetics website titled get interview ready. Beneath is a downloadable whiteboarding survival kit and online prep
020
Reposted by Amanda Hinchman-Dominguez
Accessibility Awareness @a11yawareness.bsky.social · 29/07/2026
Sighted users often use bold or large fonts to create the appearance of headings in documents. People using screen readers have no way of understanding these visual cues. Use heading styles from the styles menu to correctly format headings.
0195
Reposted by Amanda Hinchman-Dominguez
Romain Guy @romainguy.dev · 29/07/2026
We recorded a special episode of Android Developers Backstage to celebrate 5 years of Compose! youtu.be/HEqXwUm6vd0?...
youtu.be
The inside story of Jetpack Compose
YouTube video by Android Developers
1408
Reposted by Amanda Hinchman-Dominguez
Adam McNeilly @adammc.bsky.social · 29/07/2026
Celebrated 5 years of Compose at Google NYC today! 🥳
1204
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 28/07/2026
Don't forget, there's a Kotlin meetup tomorrow at Pilsen Arts & Community House! Kartik will be doing a hands-on exercise on Kotlin Multiplatform and Bluetooth devices! Bring an Android device if you got it. If not, you'll find a partner! www.meetup.com/chicago-kotl...
meetup.com
CKUG x CLTC @ Pilsen Arts & Community House - KMP Bluetooth Devices , Thu, Jul 30, 2026, 5:30 PM | Meetup
Join the **Chicago Kotlin User Group** and the **Chicago Tech Learning Community** for a hands-on workshop dedicated to bridging the physical and digital worlds using **Kot
030
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 24/07/2026
Were you able to guess option B? If you did, can you explain why, and how to fix it?
The answer is B - SupervisorJob severed the parent-child cancellation link! Can you explain why, and how to fix it? See the repost Alt Text for the problem once more.
211
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 23/07/2026
Engineers, this coroutines puzzle is for you! Take a look at the code. The request failed, and requestScope.cancel() was explicitly called in onFailure. Why is the OCR engine still running in the background? You have 24 hours 😉 Check again in a day for the answer and part 2 of this challenge.
The request failed, and requestScope.cancel() was explicitly called in the onFailure block. Why is the OCR engine still running in the background?

fun processUpload(requestScope: CoroutineScope): CoroutineScope {
    val processScope = CoroutineScope(requestScope.coroutineContext + SupervisorJob())

    processScope.launch {
        while (isActive) {
            println("   Processing PDF OCR chunk...")
            delay(30.milliseconds)
        }
    }

    throw IOException("Client disconnected!")
}

fun main() = runBlocking {
    val requestScope = 
            CoroutineScope(Dispatchers.Default + Job())

    runCatching {
        processUpload(requestScope)
    }.onFailure {
        println("Client disconnected")
        requestScope.cancel()
    }

    delay(1000.milliseconds)
}

A) requestScope.cancel() wasn't called in 
     time.
B) SupervisorJob severed the parent-child 
    cancellation link.
C) runCatching swallowed the 
    CancellationException.
D) while (isActive) does
111
Reposted by Amanda Hinchman-Dominguez
Danny Preussler 🇺🇦 @preussler.berlin · 21/07/2026
Good summary of an interview I gave at Droidcon In Orlando last week news.developers.net/builders/4-w...
news.developers.net
4 Ways the Developer Role Is Changing, According to Danny Preussler – Developers News
031
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 21/07/2026
Chicago Kotlin User Group finally has its first event of the year! Join us at PACH for a beginner-friendly Kotlin Multiplatform & BLE workshop guided by Kartik Prakash! Bring a laptop, pair up, & build with IoT. When: July 30th Time: 5:30pm-8:00pm www.eventbrite.com/e/ckug-x-ctl...
CKUG x CTLC KMP-Bluetooth devices at Pilsen Arts Community House
July 30th at 5:30pm
211
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 17/07/2026
Thanks for coming to my talk! AI needs Android developers to solve the performance problems they have today with the resources currently available. We don't have to wait until it's launched into space to resolve the current resource crisis we have today. speakerdeck.com/amanda_hinch...
speakerdeck.com
[Droidcon Orlando '26] The Android Lens: Applying Mobile Forensics to AI Performance
Modern LLMs like Ollama are technically ground-breaking but suffer from significant thermal and energy inefficiencies on resource-constrained hardware. …
182
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 12/07/2026
The idea of "scaling horizontally" is a Western ideology - that there is unlimited resource fungibility in computing. This ignores the basic laws of nature: there are finite resources to extract. We're seeing it play out in real time with American communities pushing back against data centers.
061
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 09/07/2026
AI Monitoring Forensics project is ready to run on my Raspberry Pi now. Wish me luck, and let's hope it doesn't fry on the first run. I didn't have a monitor to connect to it, and I'm on a new router so I plugged it right into my monitor, used nmap to find the new IP address and ssh'd in 😎
Hacker in a coffee shop with a sick mullet
000
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 07/07/2026
This week on Patreon: benchmarking with Ollama/forensics profiling in preparation for Droidcon Orlando www.patreon.com/AmandaHinchm...
patreon.com
[Deep Dive] Applying Mobile Forensics to AI Performance, July 2026 | Amanda Hinchman-Dominguez
[Deep Dive] Applying Mobile Forensics to AI Performance, July 2026 by Amanda Hinchman-Dominguez on Patreon. Join Amanda Hinchman-Dominguez's community for exclusive content and updates.
110
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 04/07/2026
That's better. No wait, hold on this might be hard to read
Ollama Forensics Perf monitoring gets a new makeover from the default purples to a dark set of colors
000
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 04/07/2026
Just realized something. btop is saying that ollama is running 49% CPU but looking at how all the cores are actually running at capacity, it's clearly taking up multiple cores. I will need to do a little bit of math here to calculate global process load.
Screenshot of project with btop + running ollama job
100
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 01/07/2026
Chicago friends: Learn some HTML and support the community on July 15! I’m hosting a free Coding Kinetics HTML workshop from 1-3 PM at the Harold Washington Library Center, before the Chicago Works Volunteer Fair in the Winter Garden. Register here: chipublib.bibliocommons.com/events/6a340...
chipublib.bibliocommons.com
Intro to Coding Workshop: Build & Publish Your First Web Page
Join us at Harold Washington Library Center for an Intro to Coding Workshop! Your instructor, Amanda Hinchman-Dominguez, has several of experience in engineering, is a Kotlin GDE, an international te...
100
Reposted by Amanda Hinchman-Dominguez
mean things I say to myself @meantomyself.bsky.social · 29/06/2026
Old enough to recognize this as a data center
Lockable floppy disk holder from the late 20th century
976259583481
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 29/06/2026
This week I tried to run Python scripting within KMP..... don't do it. Just don't.
100
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 26/06/2026
Even a tiny local model like llama 3.2B consumes the majority of my 2.4 GHz 8-Core Intel Core i9
Btop imaging shows major CPU consumption until the job finishes
000
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 24/06/2026
This week on Patreon: Calculating Hallucination Index with Ragas Did you know there's a way to measure how accurate an LLM response is? www.patreon.com/AmandaHinchm...
patreon.com
[Notecard] Calculating Hallucination Index with Ragas | Amanda Hinchman-Dominguez
[Notecard] Calculating Hallucination Index with Ragas by Amanda Hinchman-Dominguez on Patreon. Join Amanda Hinchman-Dominguez's community for exclusive content and updates.
000
Amanda Hinchman-Dominguez @amanda-hinchman.bsky.social · 23/06/2026
So I'm hiring college student contractors for the first time ever to help me run HTML workshops at the library, and making sure they're paid competitive rates while they help high schoolers gain marketable skills from the job fair and beyond. It's so cool to invest in the people of Chicago.
020