Sponsor of the Day:
Jerkmate
https://therealadam.com/2012/12/22/smiling-rappers.html
Smiling rappers | Adam Keys is Thinking
The rap game doesn't have to be all posturing and diss tracks. We need more smiling rappers.
adam keyssmilingrappersthinking
https://therealadam.com/2025/04/01/our-calendars-are-often-painful.html
Our calendars are often painful … | Adam Keys is Thinking
Our calendars are often painful because they display order (meetings) too well, but don’t display disorder (surprises and interruptions) at all. Into every...
adam keyscalendarsoftenpainfulthinking
https://therealadam.com/2008/04/30/halo-photography.html
Halo Photography | Adam Keys is Thinking
Joshuadamon’s Halotography is utterly amazing: I’m really impressed with what he’s done with some clever camera manipulation and probably some Photoshop...
adam keyshalophotographythinking
https://therealadam.com/2023/10/23/build-for-the.html
Build for the excitement of building | Adam Keys is Thinking
Nice Tietz-Sokolskaya, Write more “useless” software: When you spend all day working on useful things, doing the work, it’s easy for that spark of joy to go...
adam keysbuildexcitementthinking
https://therealadam.com/2013/03/11/those-who-make.html
Those Who Make, by hand | Adam Keys is Thinking
Those Who Make is a series about people who craft. Physical things, by hand, that don’t come out the same every time. I love watching people make things, and I...
adam keysmakehandthinking
https://therealadam.com/2025/05/26/i-miss-writing-do-not.html
I miss writing “DO NOT … | Adam Keys is Thinking
I miss writing “DO NOT ERASE” on whiteboards when a collaborator and I finally succeed at capturing the mental or visual model of a problem or its solution....
adam keysmisswritingthinking
https://therealadam.com/2011/04/03/the-joy-of.html
The joy of logs | Adam Keys is Thinking
Logs Are Streams, Not Files: But a better conceptual model is to treat logs as time-ordered streams: there is no beginning or end, but rather an ongoing,...
adam keysjoylogsthinking
https://contributors.rubyonrails.org/contributors/adam-keys/commits
Rails Contributors - #2199 Adam Keys - All time
Commits contributed by Adam Keys to Ruby on Rails
rails contributors 2199adam keystime
https://therealadam.com/archive/
Adam Keys is Thinking
Telling a joke, trying to, or making a joke of myself. Engineering lead and full-stack developer. Porsches, Disney parks, pub quiz, Star Wars, Destiny, music,...
adam keysthinking
https://therealadam.com/2012/06/12/they-cant-all.html
They can't all be winners | Adam Keys is Thinking
My Tuesdays typically look like this: write/hack for my weblog, work, lunch, work, short run, and then hack with other Austin nerds at Houndstooth Coffee. As...
adam keyswinnersthinking
https://therealadam.com/2022/07/11/leadership-keywords.html
Leadership keywords | Adam Keys is Thinking
My current theory of leading software teams and projects has four keywords: Trust: I assume everyone is working to get the job done. They assume I will help...
adam keysleadershipkeywordsthinking
https://therealadam.com/2018/12/27/who-has-two.html
Who has two thumbs and … | Adam Keys is Thinking
Who has two thumbs and is pretty excited for Enumerable#to_h and the proc composition/chaining stuff in Ruby 2.6! 👍👍 anamaria.martinezgomez.name/2018/12/2…
two thumbsadam keysthinking
https://therealadam.com/2012/02/15/on-rolling-ones.html
On rolling one's own metrics kit | Adam Keys is Thinking
On instrumenting Rails, custom aggregators, bespoke dashboards, and reinventing the wheel; 37signals documents their own metrics infrastructure. They’re doing...
kit adamrollingonemetricskeys
https://therealadam.com/2026/03/07/wrapping-up-lil-document-editor.html
Wrapping up lil’ document editor … | Adam Keys is Thinking
Wrapping up lil’ document editor “research”, starting to write more on it. In short: cross-platform in the Apple ecosystem is possible, but tricky once you get...
document editoradam keyswrappingthinking
https://therealadam.com/2010/10/12/bundler-not-as.html
Bundler, not as bad as they say | Adam Keys is Thinking
Of all the new moving parts in Rails 3, the one I see the most grousing over is Bundler. This is not surprising, as its a big part of how your application...
adam keysbundlerbadsaythinking
https://therealadam.com/2012/02/17/what-kind-of.html
What kind of HTTP API is that? | Adam Keys is Thinking
An API Ontology: if you were curious about what the difference between an RPC, SOAP, REST, and Hypermedia API are, but were afraid to ask. In my opinion, this...
http apiadam keyskindthinking
https://therealadam.com/
Adam Keys is Thinking
Telling a joke, trying to, or making a joke of myself. Engineering lead and full-stack developer. Porsches, Disney parks, pub quiz, Star Wars, Destiny, music,...
adam keysthinking
https://therealadam.com/2025/06/12/so-your-estimates-were-wrong.html
So your estimates were wrong | Adam Keys is Thinking
AKA “Help! I estimated a project and hit every branch falling down the surprises tree.” A shocking turn of events that definitely has never happened to any of...
adam keysestimateswrongthinking
https://therealadam.com/2021/04/29/working-directly-amp.html
Working, directly & small | Adam Keys is Thinking
Omar Rizwan recollects that one of the original selling points of React was that you could consolidate all the HTML, CSS, and JS for a single component in one...
adam keysworkingdirectlysmallthinking
https://therealadam.com/2025/07/03/computers-are-also-free-to.html
Computers are also free to … | Adam Keys is Thinking
Computers are also free to be weird: I’m a programmer. You’re probably a programmer. We think in systems, deterministic workflows, and abstractions. What’s...
also freeadam keyscomputersthinking
https://therealadam.com/2024/01/12/weekend-in-portland.html
Weekend in Portland | Adam Keys is Thinking
Day one, travel day. Air travel is fine. Green carpets are green. It’s cold and dreary, as expected. There may be snow. We persevere.
adam keysweekendportlandthinking
https://therealadam.com/2013/04/12/look-up-every.html
Look up every once in a while! | Adam Keys is Thinking
Sometimes, I feel conditioned never to look beyond the first ten feet of the earth. Watch where you're going, don't run into things, avoid being eaten by...
adam keyslookeverythinking
https://therealadam.com/slashes/
Slash | Adam Keys is Thinking
In the tradition of slash pages: /about /blogroll /now And, just because: /leading
adam keysslashthinking
https://therealadam.com/2012/03/30/a-presenter-is.html
A Presenter is a signal | Adam Keys is Thinking
When someone says “your view or API layer needs presenters”, it’s easy to get confused. Presenter has become wildcard jargon for a lot of different sorts of...
adam keyspresentersignalthinking
https://therealadam.com/2023/07/04/use-swift-playgrounds.html
Use Swift Playgrounds to sketch ideas | Adam Keys is Thinking
adam keysuseswiftplaygroundssketch
https://therealadam.com/about/
About | Adam Keys is Thinking
I’m Adam Keys 👋🏻 I build stuff! Leader, writer, developer. Blog / Newsletter / Mastodon / Twitter / BlueSky / GitHub / LinkedIn 📮🗓️ Contact If chatting...
adam keysthinking
https://therealadam.com/2024/01/24/notes-on-focus.html
Notes on focus and attention | Adam Keys is Thinking
Focus and attention are inputs to producing excellent things. All the talent in the world won't get me far if I’m not focused or attention isn't working in my...
adam keysnotesfocusattentionthinking
https://therealadam.com/2009/03/19/using-haskell-for.html
Using Haskell for awesome | Adam Keys is Thinking
I’ve joked that Haskell is all about reading other people’s theses, but you can do practical things with it too. His quick explanation of monads is pretty good...
adam keysusinghaskellawesomethinking
https://therealadam.com/2017/10/02/categorizing-and-understanding.html
Categorizing and understanding magical code | Adam Keys is Thinking
Sometimes, programmers like to disparage “magical code”. They say magical code is causing their bugs, magical code is offensive to use, magical code is harder...
code adamcategorizingunderstandingmagicalkeys
https://therealadam.com/2010/06/28/the-cadence-and.html
The Cadence and Flow of Editing Programs | Adam Keys is Thinking
I figured out why my trists with other editors often end up back at TextMate. It sounds a bit like this: Tap-tap-tap-tap-tap-tap; TAP;...
adam keyscadencefloweditingprograms
https://therealadam.com/2009/06/01/how-did-sql.html
How did SQL get so popular? | Adam Keys is Thinking
Many developers, especially of the younger generation, dislike relational databases and their business-partner, SQL. It is regarded by some as the new assembly...
popular adamsqlgetkeysthinking
https://therealadam.com/2008/08/01/thor-and-agility.html
Thor and agility | Adam Keys is Thinking
Watching Thor at his agility classes is really interesting. It’s fun to see the dogs constantly looking up to their person to see what jump or obstacle to go...
adam keysthoragilitythinking
https://therealadam.com/2019/05/28/these-are-computers.html
These are computers, I know this | Adam Keys is Thinking
An encouraging thing happened to me last year. I was faced with a mystery involving how a bit of application code was interacting with ActiveRecord. It seemed...
adam keyscomputersknowthinking
https://therealadam.com/2021/05/08/planning-focuses-our.html
Planning focuses our ideas | Adam Keys is Thinking
Planning is essential. But, not too much. Mostly in the next 90-day window (with apologies to Michael Pollan). Humans are, with few exceptions, awful at...
adam keysplanningfocusesideasthinking
https://therealadam.com/2008/06/08/yurii-rashkovskiis-blog.html
Yurii Rashkovskii's Blog: Top 10 Reasons to Avoid Document Databases FUD | Adam Keys is Thinking
Yurii Rashkovskii’s Blog: Top 10 Reasons to Avoid Document Databases FUD: And… you said “relational”? Facebook and others do a lot of denormalization, they...
blog top 10document databasesadam keysyuriireasons
https://therealadam.com/2008/07/25/manipulating-windows-from.html
Manipulating windows from afar | Adam Keys is Thinking
h2. Adam’s 9th Law Of Presenting When you connect the projector to your laptop, the menubar and windows you want to manipulate will always appear on the giant...
adam keysmanipulatingwindowsafarthinking
https://therealadam.com/2017/04/18/stored-procedure-modern.html
Stored Procedure Modern | Adam Keys is Thinking
The idea behind Facebook’s Relay is to write declarative queries, put them next to the user interaction code that uses them, and compose those queries. It’s a...
stored procedureadam keysmodernthinking
https://therealadam.com/2020/01/06/training-amp-learning.html
Training & Learning | Adam Keys is Thinking
A thing I’ve learned from weightlifting (also from Destiny, but that’s a whole other thing), is the value of showing up several times a week and putting in the...
training learningadam keysthinking
https://therealadam.com/2014/01/28/rockets-and-startups.html
Rockets and startups | Adam Keys is Thinking
A venture-funded startup is sort of like a space program. Space programs don’t build airplanes that fly in flat, predictable, safe trajectories. They shouldn’t...
adam keysrocketsstartupsthinking
https://therealadam.com/2016/06/19/a-few-qualities.html
A few qualities of mature developers | Adam Keys is Thinking
What is technical leadership? Per Mature Developers, it's a lot of things. My favorites: So one of the first and most important qualities of mature developers...
adam keysqualitiesmaturedevelopersthinking
https://therealadam.com/2015/07/15/what-about-event.html
What about event sourcing? | Adam Keys is Thinking
I was chatting about Event Sourced data models with a pal last week. He is really taken by the idea and excited that perhaps its a “next big thing” in data...
event sourcingadam keysthinking
https://therealadam.com/2024/02/28/you-learn-faster.html
You learn faster by falling down | Adam Keys is Thinking
Julia Galef, The Scout Mindset: The “self-belief” model of motivation assumes that if you acknowledge the possibility of failure, then you’ll be too...
learn fasteradam keysfallingthinking
https://therealadam.com/2024/10/21/throw-more-books.html
Throw more books | Adam Keys is Thinking
Simon Sarris, Reading Well: You should start many books and complete few. You should never feel beholden to completing them, there are simply too many...
books adamthrowkeysthinking
https://therealadam.com/2010/07/12/adams-guide-to.html
Adam's guide to switching weblogs | Adam Keys is Thinking
Over the past few years of writing on this weblog, I can't tell you how many times I've convinced myself that now is the time to move my stuff to new software....
adamguideswitchingweblogskeys