Points of interest for the modern erudite and contemporary polymath. Published Monday through Thursday. Bonus publications appear sporadically on Friday, Saturday and Sunday.
The Real Adam is the journal of Adam Keys, wherein he attempts to better understand the systems of the world. Focus is placed on cognitive and linguistic systems, financial systems, economics, creating through software, popular culture and its reflection in humor, the calming effect of various domestic and wild animals, urban design, architecture, and that which is awesome.
Collections of the fine work of others are collected in the curated section. This site would go largely silent without the contributions of these fine creators. The success of the author and the greatness of the web that we move about is largely due to them.
Please enjoy some of the highlights of the site:
Best posts
- How did SQL get so popular?
- Developing fluidly
- Gentlemen’s Agreements
- My Notes from RubyConf 2008
- The rise of the micro-app
On editing computer programs with computer programs (text editors)
- Those who think with their fingers
- A Brief Survey of the History of Editing Programs
- The Cadence and Flow of Editing Programs
- A Personal Journey in Editing Programs
- Breaking My Habits for Editing Programs
Topics of interest
The complete archives
Sorted by time. Enjoy!
- The downsides of live music
- Learning from a dropped refactoring
- What I wish I’d known about rewrites
- Look up every once in a while!
- Exemplary documentation: size and purpose
- The Third Shift
- A newsletter
- Web design for busy programmers
- The gift and the curse of green-field projects
- Hypermedia chicken, web browser egg
- How to understand Saturday Night Live
- Context is data to burst your bubbles
- Hyperthreading illustrated
- TextMate’s beautiful and flawed extension mechanism
- Austin’s startup vibe
- Senior VP Jean-Luc Picard, of the USS Enterprise (Alpha Quadrant division)
- SoundCloud, micro-services, and software largeness
- Those Who Make, by hand
- Thoughts on “Being a Senior Engineer”
- Feynman’s mess of jiggling things
- The Rite of March
- The double-tap
- Computers do what we tell them to, except when we give up
- Twitter’s optimizations
- Stella by Starlight
- Don’t isolate yourself
- Adam’s Law of Redis
- Thoughts on (Programming) Scala
- Lessons from premature design
- Semantics/Empathy
- Reflecting on Ruby releases
- Design for test vs. design for API
- Declaring coupling
- Intermediate variables, organizing OO, meeting Grinders half way
- Smiling rappers
- Why I’m down on hypermedia containers
- Hypermedia opinions
- How to Jerry Seinfeld
- Typing code examples, it’s like biking
- A decentralized web is hard
- Wherein I heart Code Climate
- Focus-mode considered harmful
- Ideas for living and creating differently
- Hit it, don’t quit
- You can’t solve technical debt, you can only hope to contain it
- Needs better words
- The qualities of better code
- Gimme clarity
- The feel of a commented program
- Some productivity winners
- Sit on the fence between abstraction and practice
- Get in my ears, you dissonant chord
- Dustin Curtis’ recipe for doing
- RubyConf 2012 notes
- Pop discovery/rediscovery
- Marginal pennies and dollars
- Ruthlessness and fighting for it
- Working with Ruby’s GVL
- A pithy take on development vs. operations
- How Ruby IO is formed
- Follow the smells
- A handful of useful project mantras
- Know a little hardware
- A kingdom of concerns
- bitly’s nsq has some good ideas
- Invent the right thing
- A better shared space
- I got Clojure stacks
- Faster, computer program, kill kill!
- When to Sinatra, when to Rails
- Common sense code checks
- Designing for Concurrency
- Cardinal sins
- Three application growth stories
- My inner dialog while coding
- Hello, you beautiful fixed-width font
- One part mechanics, one part science
- Know a feedback loop
- Constructive teamwork is made of empathy
- Futures, Features, and the Enterprise-D
- The test-driven astronaut
- Simplicators for sanity
- Smelly obsessions
- How to think about organizing folders: don’t.
- A romantic comedy: OO and FP
- Rediscovery: OO and FP
- Three kinds of distributed systems
- Protect that state: locks, monitors, and atomics
- Future lies
- Too eager to add code
- Gaining traction for businesses new and old
- “Surround yourself with beautiful software”
- Etsy’s rules of distributed systems
- Thread safety in Rails, explained!
- Getting started with Ruby Concurrency using two simple classes
- Chronologic, a piece of software history
- The Grinder
- AC/DC writes robust songs
- They can’t all be winners
- The forces of change on the US legislature
- Keep your application state out of your queue
- Convincing yourself you’re not done
- Tables and lambdas, a cure for smelly cases
- Turns out I was wrong about RSpec subjects
- Three Easy Essays on Distributed Systems
- Ruby anthropology with Hopper
- A real coding workspace
- UserVoice’s extremely detailed project workflow
- Cowboy dependencies
- A Presenter is a signal
- Learn Unix the Jesse Storimer way
- How to approach a database-shaped problem
- How I use vim splits
- Tool agnosticism is good for you
- Rails 4, all about scaling down?
- This silver bullet has happened before and it will happen again
- Bootstrap, subproject, and document your way to a bigger team
- Write more manpages
- How to make a CIA spy, and other anecdotes
- Own your development tools, and other cooking metaphors
- Automated code goodness checking with cane
- What kind of HTTP API is that?
- On rolling one’s own metrics kit
- Whither code review and pairing
- The cost of jerks in social apps
- Hip-hop for nerds: “Otis”
- Make time for your projects
- Stand on the shoulders of others’ REST mistakes
- Represent dat API
- When to Class.new
- The year of change that was 2011
- Four essential topics of 2011, in charts
- Making a little musical thing
- Crafting lightsabers, uptime the systems, a little Clojure
- A short routine for making awesome things
- Quality in the inner loop
- Why metaprogram when you can program?
- Modern Von Neumann machines, how do they work?
- Changing legacy code, made less painful
- Cassandra at Gowalla
- Sleep is the best
- Pass interference: can’t live with it, can’t live without it.
- Growing a culture
- The pitfalls of growing a team
- A food/software change metaphor
- How do you devop?
- The Current and Future Ruby Platform
- Your frienemy, the ORM
- Relentless Shipping
- The guy doing the typing makes the call
- How to listen to Stravinsky’s Rite of Spring
- Skip the hyperbole
- Practical words on mocking
- Locking and how did I get here?
- Refactor to modules, for great good
- ZeroMQ inproc implies one context
- Booting your project, no longer a giant pain
- Ruby’s roots in AWK
- Humankind’s genius turned upon itself
- Burpess and other intense workouts
- Post-hoc career advice for twenty-something Adam
- Don’t complain, make things better
- Perfection isn’t sustainable
- Using Conway’s Law for the power of good
- Hell is other people’s concurrency
- Bloom, a language with time travel
- The rules of the yak shave
- Linux screenshot nostalgia
- The next step and the cleared canvas
- The joy of logs
- I’m Corgi-internet famous
- Noel Rappin’s Advice on TDD
- Organizing and decoding problems
- Workouts make focus and discipline
- Driven to drawing monsters
- Clips from unfinished pieces
- Focus, momentum, and accomplishment
- A conversation between fictional engineers in a fictional world
- Simple Ruby pleasures
- The political empathy gap
- Now witness the power of this fully functional domicile!
- The ear is connected to the brain
- Four odes to Amazon Prime
- Groove failure and reacquisition
- A language experiment writ large
- Bundler, not as bad as they say
- Language and brains, an update
- Using Rails 3.0's notification system
- Computers should do the boring bits
- An ode to Hashie
- Examining software principles
- Making the complicated seem simple
- Form: follow your influences
- Adam's guide to switching weblogs
- Michael Feathers on how code grows
- Incremental deployment at GitHub
- The Cadence and Flow of Editing Programs
- Breaking My Habits For Editing Programs
- A rambling, regurgitated thought on process
- Rails' Next Top Model
- Make More Awesome
- The art of making a useful todo list
- A Personal Journey in Editing Programs
- A Brief Survey of the History of Editing Programs
- Who are we that make software?
- Those who think with their fingers
- Kindly cogs in unpleasant machines
- A quick RVM rundown
- The imperfection of our tools
- Warning: politics
- Goodbye, gutbombs
- Give attribute_mapper a try
- Just For Fun
- Curated Awesome, the 2nd
- The Kindle's sweet spot
- Testing declarative code
- Texas is its own dumb thing
- Curated awesome, the 1st
- Chance Encounter
- Dallas could get a pedestrian bridge
- Ghostbusters then and now
- Birthing Born to Run
- Representing time in our programs
- Ain't talkin' 'bout the man
- Polyglottin' your data
- Tons of FP fun
- iPod Spaceman
- Tracking your own context switches
- Fred, in a nutshell
- On American political insanity
- It's not NoSQL, it's post-relational
- Blame the compiler
- Two cellphones
- The Technology Behind Tag Better
- Tag Better
- My Why Story
- Fun
- The mystery of good art
- Testify
- Working from home, better
- Gird your greyscales
- Getting to know your bookshelf
- Free Parking Is Not Free
- Kill your menubar darlings
- My setup
- Balmer =~ Tarkin
- Code re-use as technical debt
- rufus-tokyo goes 1.0.0
- Disastersploitation
- Differently hackish keyword arguments for Ruby
- Interviewing to seek values
- Infinite Jest and fanatics
- Software development requires empathy
- Instapaper is wonderful
- Haskell modulo excess theory
- When to do test-driven development
- A slide in the workplace
- Super Mario motors
- Meaningful work
- Breaking with tradition
- The joy of enigmas
- Poisonous people and genius programmers
- Meditations on golf
- Visualizing language trade-offs
- That's the second biggest monkey head I've ever seen
- How did SQL get so popular?
- Shippin' ain't easy
- The Roots on tour
- Design: it's important
- Enjoy some Wu
- Put your objects in space
- The non-existent tension between FP and OOP
- Personal website patterns
- The State on DVD, finally
- Three sides of language geekery
- LOST in-joke
- Your Friday Jam
- A console for any Ruby project
- John Mayer, closet software developer
- More harmful than harmful
- Elevating the art of language implementation
- Postmodern comedy gold
- When technical discussions get intense
- Think
- The economic dashboard
- Even the Dharma Initiative has to advertise
- Decoupling newspapers
- Underwater volcano go boom
- Pattern matching in Ruby with Case
- The power of not knowing
- Get excited and make things
- Using Haskell for awesome
- Rubinius threads, for mere mortals
- This is no former-Parrot
- On feeds: application posture
- Making the pretty docs
- A few promising Ruby libraries
- Congruous capitalism
- Awesome yak shaves
- On news: The Economist
- What I'm Thinking
- Recreating that famous opening scene
- The Trading Places solution to the credit crunch
- Eye candy for everyone
- Developing fluidly
- Classy Web Development with Sinatra
- Great Nike ad
- How you do what you does
- Coolest building in downtown Dallas
- Neko Case hearts dogs
- On news: beginnings
- Thor doing his thing
- More monads
- DataMapper + Factory Girl
- Compare and contrast
- On Feeds: Tactics
- Monads + Ruby = crazy
- Awesome people, hacker spaces, double basses, dictionary
- Agile on a column
- On Feeds: My History
- The Next Generation meets Reading Rainbow
- Comicus
- Generative Van Halen
- Vast social abstractions
- Regarding the 2009 NFL playoffs
- Bill Burcham does stuff
- I found more awesome on the web
- Guidelines for a life well-lived
- Close tabs and remove icons relentlessly
- Heat dissipation tower
- Birdland, Forgetting, Libertarianism, Hoboken
- Ogres and APIs
- True Hip-Hop Stories
- Whither desktop or web
- Change it up
- The absurdity of X, Y, R, G and B
- Crazy hair
- The Creative Big Bang
- People are making cool stuff
- I am going to call Ghostbusters
- Military-industrial TV
- Beautifully static
- Fred's business card
- Gentlemen's Agreements
- The hopping doll video game
- My notes from RubyConf 2008
- Dallas' multitudes
- Gaming and design
- Modernism in sheds
- Bruce Springsteen in a nutshell
- One Velociraptor Per Child
- My Day, Yesterday
- Applying CSS
- Getting Around
- Stupid Struct Tricks
- Stream of curiosity
- Learn You a Haskell
- Star Wars A-Z
- Uptown Dallas
- Garrett's life, yesterday
- Bell curves
- Launch the missiles!
- JBox2D equals fun
- Awesome desk
- Mining my Git repositories
- Rich Kilmer speaketh
- Awesome writing
- You need more Lyle Lovett
- Read slightly less, practice slightly more
- Our trip to Germany in pictures
- Vector Prime
- I Heart Complexity
- Pretty Parallax
- Freakonomics
- RailsConf Europe, here I come
- Guns, Germs and Steel
- "with" for Ruby
- Those were the droids
- Last.fm's shame aggregator
- Domain Driven Design
- Interview with David Flanagan, part 2
- Io's intriguing design
- Catch up with 30 Rock
- Google Calendar + iCal + CalDAV = happy
- Sync your TaskPapers
- Interview with David Flanagan
- American demographic inversion
- Refactoring to more code
- Program is information.
- Good Erlang reading
- Realtime challenges
- Women working on a plane
- Some Grieg
- Thor and agility
- House on water
- HTTP wrappers with ease
- Agility course made of people
- Community anti-patterns
- Its a Data. Base.
- Not your father's IDE
- Golf fail
- Failings of the expert's mind
- Practical language kleptomania
- git.repo.revs.each(…)
- What Has Ruby Done For You Lately?
- Manipulating windows from afar
- More modules, please
- Congestion and decongestion
- You say simple, I say simple
- Three new rules on golf
- Why is oil so damn expensive?
- The Joy of Science
- Yurii Rashkovskii's Blog: Top 10 Reasons to Avoid Document Databases FUD
- Microsoft's spin on memcached
- Fake Rails environment
- Oh, The Fail I've Known
- See me at RailsConf '08
- Pinky and the LOLdog
- I made you a muxtape
- Destructuring assignment in block parameters
- Frogged
- More fu in your versions
- Info viz with JavaScript
- Changing git submodule URLs
- Ruby for non-Rubyists
- Beautiful multi-line blocks in Ruby
- Halo Photography
- Can I send you a message?
- Some language twins teach each other
- Exploratory hacking in TextMate
- Reverse shoulder surfing
- Awesome Star Wars posters
- Aye, ye are a scum!
- Designing with type
- "Science Machine" from birth to completion
- Interviewed by RubyLearning
- The Greatness of Gossip Girl
- Ecto-1 Replica
- I'll see you at Dallas TechFest
- Dean Allen on LOST
- Save it for your iVillage blog
- Rails Scenarios
- Ballmen for Half Life 2
- Corrupted by cosmic rays
- LOL License
- Its a musical rollercoaster
- Say it quickly
- Ryan Norbauer's got the right idea
- IIS 7, IE 8, Iron Ruby MEGA-MIX
- Anders Hejlsberg is your new bicycle
- Two Microsofts
- Pretty hiring trends
- Important ideas in ASP.NET MVC
- DO WANT
- Open Source and Research at Microsoft
- Warm water makes the world go 'round
- My dog misses me
- Tough CS illustrated
- Write a script in April for Script Frenzy
- Fix Subversion conflicts
- Keep your pants on
- Git is nouns and verbs
- Geek spring break
- The American Dream, LOL'd
- You can patent things that don't exist
- SCIENCE
- Summertime Blues
- Non-chalantly rocking
- Rands helps you with your presentations
- Life Partners
- Cosmic Class.new
- Teamwork anti-pattern: the edge case
- Some low-brow erudition
- I Like Rails 2
- Getting ahead on Git
- The Mint logo, geometric beauty
- Magazine covers you will never actually see
- What good could come from MicroYahoo?
- Whither Prototype or jQuery
- Magnetic Ink
- Diving for Star Wars nerdery
- Carbon trading and failed MBAs
- The good news about a long writers strike
- Overcoming "browser tab seventy-three"
- Wheaties for programmers
- Nixon in China
- Something lovely from David Lanham
- The barbarism of the for loop
- Chops
- Bookstacks, photography and Star Wars
- Making sense of the world
- I want to look at your workspace
- Like the sky or the horizon?
- Epic songs, pick a favorite
- The rise of the micro-app
- Anthropomorphized Gems
- Your target feature
- Rejiggering meets build versus buy
- Application Design with Garrett Dimon
- My 'hood, then and now
- "Rap" the white guy can "dance" to
- This memory isn't going to manage itself
- Alex the cognitive parrot
- "Business" lunch
- Making the simple complex
- Making sense of Fitts' Law
- Nielsen Symphony No. 4
- Syndication is solved
- Lion head scroll
- Check your head