Sam Cooper
banner
sam-cooper.bsky.social
Sam Cooper
@sam-cooper.bsky.social
Author of Kotlin Brain Teasers
https://pragprog.com/titles/kotlinbt
My favourite part of the outage so far is the simple honesty of the error message.

"500 server error."

"Oh? What's the issue?"

"cloudflare"
December 5, 2025 at 9:09 AM
🎁 Christmas shopping for programmers?

A paperback copy of Kotlin Brain Teasers is a great gift for the Kotlin lover in your life 😁🎄. Short, fun, and packed with memorable lessons and surprises.

My book 👉 pragprog.com/titles/kotli...
November 24, 2025 at 10:26 AM
My Kotlin Coroutines book is HALF PRICE this week for Black Friday! If you have a coroutine headache, I promise this book will help.

My book 📖👉 pragprog.com/titles/sckot... (use code save50 for your discount!)

Fix that coroutine headache and get Kotlin Coroutine Confidence 😉📚
November 24, 2025 at 8:51 AM
Rate my Fibonacci! 😄

After some improvements suggested by one of the book's tech reviewers, I think this code example from Chapter 10 of 📚 Kotlin Coroutine Confidence strikes a neat balance between brevity and readability.

What do you think? How would you write it?

👉 pragprog.com/titles/...
November 10, 2025 at 10:23 AM
😈 Working on my new LinkedIn bio. "I love to respond to AI messages, but only if they correctly show me a seahorse emoji."

Let the chaos begin 🐴 🐎 🐠 🐟 🐡 🦈 🪸 🐚 🐙 🦑 🦐 🪼 🧜‍♀️ 🦄 🐢 🐬 🐳 🐋 🐊 🦭 🐌 🪻 🪷 🪹 🪺 🐾 🪼 🐚 🪸 🐠 🐟 🐡 🦈 🦑 🐙 🦐 🐴 🐎 🦄 🐉

knowyourmeme.com/mem...
October 31, 2025 at 9:00 AM
🤔 I seem to be on the front page of Hacker News 🤯🤯🤯

news.ycombinator.com/item?id=4555...
October 12, 2025 at 9:19 PM
October 6, 2025 at 12:10 PM
Kotlin head-scratcher: when can MutableList.add() return "false"? Think carefully—it's a tricky one.
October 6, 2025 at 10:18 AM
Oh look, it's Elvis, hiding in my copy of Kotlin Brain Teasers 🕺🏻🎤. He looks a bit vacant behind the eyes, I hope he's okay…

📚 Kotlin Brain Teasers 👉 pragprog.com/titles/...
September 30, 2025 at 10:53 AM
Really proud that Kotlin Brain Teasers is one of @pragprog.com's picks of the day today! It was so much fun to write this book, and it's great to see people enjoying it 🥰

All day September 30 you can get 40% off the ebook at pragprog.com/titles/kotli... when you use code PragPicks at the checkout 👍
September 30, 2025 at 10:01 AM
Kotlin did what!?

You'll have to buy Kotlin Brain Teasers to find out 😉

Or at least check out the free sample puzzles on the website 👉 pragprog.com/titles/...
September 29, 2025 at 7:59 AM
Where should I keep these? Feels wrong to just stash them in the bookshelf with the other tech stuff. On the other hand, leaving them out on the coffee table feels a bit like bragging…
September 28, 2025 at 3:41 PM
Once again grinning proudly with a book in my hand!

This is my second book, Kotlin Brain Teasers. It was so much fun to unbox this and see the code puzzles on paper. I hope you enjoy solving them!

More about the book here 👉 pragprog.com/titles/...
September 27, 2025 at 3:41 PM
"The first tech book I could not put down. It is brilliantly structured, effortlessly engaging, and full of moments that make complex ideas click."

Well, who am I to disagree? It's right there IN PRINT on the cover of my book!

Don't just judge a book by its cover, though; buy it and make sure 😉
September 26, 2025 at 7:27 AM
Why yes 🤔 what a very good book filled with practical coroutine advice 🧐💡

Still can't believe I'm holding a copy of my own book!
September 25, 2025 at 5:00 PM
This silly pyramid sketch is one of my favourite illustrations I drew for my book. So cool to see it in print, it looks even better!

This is a page from the second chapter of Kotlin Coroutine Confidence 👉 pragprog.com/titles/...
September 24, 2025 at 7:29 AM
I will also post this picture on its own because I feel like I (accidentally) let the box take centre stage in my other post. The box is cool and all, but I MADE A BOOK! I think that means I have to proudly celebrate my achievement and not hide behind a box.

👉 pragprog.com/titles/...
September 23, 2025 at 11:37 AM
This is the face of a proud author 😊. Just opened up my very own print copies of Kotlin Coroutine Confidence! It feels great to hold it in my hand after all that time spent staring at a manuscript on a screen.
September 23, 2025 at 10:49 AM
Channel: messages are shared out so that each message is received by exactly one consumer.

Shared flow: messages are replicated so that each consumer receives its own copy of every message.

#kotlin #coroutine tips 💡

The diagram is from 📚 Kotlin Coroutine Confidence 👉 pragprog.com/titles/...
September 21, 2025 at 7:28 AM
It's not just my Kotlin books that are on sale right now—almost everything in the Pragmatic Bookshelf lineup is still 45% off until tomorrow!

👀 What tech skill will you learn next? Use code "flashsale" to grab your discount and start reading right now.

📚👉 https://pragprog.com/
September 19, 2025 at 2:00 PM
Here's another table that I included in 📚 Kotlin Coroutine Confidence. A Flow in Kotlin is often described as an asynchronous stream, but I prefer to think of it as a suspending function that returns multiple values.

What do you think? Is it more helpful to think of it as a stream or a function?
September 19, 2025 at 11:02 AM
❤️🔁 Like or share if you know someone who'd like to save $ and learn a new tech skill!

Almost everything in the Pragmatic Bookshelf lineup is 45% off right now when you use code "flashsale". There are some really unique titles—I'd love to hear which book you choose!

📚👉 https://pragprog.com/
September 18, 2025 at 4:00 PM
📚⏱️ Been waiting for the perfect time to buy my books? It's NOW!

For the next 48 hours only (September 18–20) you can use code "flashsale" to get 45% off all titles including Kotlin Coroutine Confidence and Kotlin Brain Teasers from The Pragmatic Bookshelf 😍👉 https://pragprog.com/
September 18, 2025 at 2:00 PM
Pros and cons of blocked threads, callbacks, and suspending functions.

Can you think of any others?

Which ones are most important in your day to day code?

This table's from Chapter 2 of my book, Kotlin Coroutine Confidence—find it here 👉 pragprog.com/titles/...
September 18, 2025 at 11:31 AM
Good diagrams can really help new concepts to click, so I made sure to illustrate 📚 Kotlin Coroutine Confidence with a whole bunch of them!

This one is from Chapter 12, "Share Flows, Connect Channels." Want the text to go with it? Look for the free PDF excerpt here 👉pragprog.com/titles/...
September 17, 2025 at 11:25 AM