David Calhoun's blog
On getting stuck with belief and desire
My year in photos (2024)
My year in photos (2023)
My year in photos (2022)
Video: Flying Superheroes of the Hitchcock Cinematic Universe (spoilers)
My year in photos (2021)
Lessons in Gratefulness
My year in photos (2020)
Judgment at Nuremberg (1961) (Top 100 Films)
Thoughts on Death on the Appalachian Trail
Javascript Bind, Partial Application, and Currying
Day Eight on the Appalachian Trail (One Year Later): Muddy
Day Seven on the Appalachian Trail (One Year Later): Did you bring a gun?
Day Six on the Appalachian Trail (One Year Later): Five-Star Shelter Accommodations at Tumbling Run Shelters
Day Five on the Appalachian Trail (Zero Day) (One Year Later): Lazy Zero Day in Waynesboro, Pennsylvania
Day Four on the Appalachian Trail (One Year Later)
Day Three on the Appalachian Trail (One Year Later)
Day Two on the Appalachian Trail (One Year Later)
A Year Ago Today I Started Hiking the Appalachian Trail
Real Life On And Off the Appalachian Trail
Disneyland One-Day vs Annual Passport Prices Over Time: 1981 to 2019 (adjusted for 2020 dollars)
Video: Spring in Kyoto Revisited
Plum Blossoms at Kitano Tenmangu Shrine in Kyoto, Japan (京都の北野天満宮)
Ditching Disqus (Migrating Away Since It Has Become a Monster)
My year in photos (2019)
Matching Accented Strings in Javascript
My Half Marathon: Hiking Half the Appalachian Trail
The Godfather Review (Top 100 Films)
My year in photos (2018)
A Simple Introduction to Javascript Map and Reduce Array Helper Functions
Behold the Birds of the Air (Soren Kierkegaard)
Stifling Laughter in Distant Places
My new photography YouTube channel
Beginning thoughts on the idea of a Great American Road Trip
My year in photos (2016)
New Orleans trip (November 2016)
Maybe it's healthier to embrace discomfort
Quine and Heidegger: Against Reductionism
Junk Food, Junk Politics, Junk TV, Junk Body, Junk Mind, Junk Truth
Time for autumn adventures
Monty Python and the Holy Grail (1975) (Top 100 Films)
Photo assignment: Kyoto alleyways at night
Festival Parade Hadrah 2016 (Muslim parade in Solo, Indonesia)
Indonesia trip: the good, the bad, the ugly
The roads of Indonesia
Shinkansen trip from Kyoto to Sapporo
Monju-e Ceremony in Nara (文殊会 興福寺)
Japan once again: update from the Banana House in Osaka
11 mile Big Basin hike
Casablanca (1942) (Top 100 Films)
Schindler's List (1993) (Top 100 Films)
Ikiru (1952) (Top 100 Films)
A Journey Through The Top 100 Films
Big Basin October Hike
Agile personals ad
Quarter-life crisis, third-life crisis, mid-life crisis
Quick failed trip to Pinnacles National Park
The Coffee That Made the UFO Dance
A ride on Yosemite's Sugar Pine Railroad
Existential nights
Tourist season in Japan, and a brief escape to Cafe Rhinebeck in Kyoto
The Beatitudes
The surprising benefits of going to the gym
Living as driftwood
My year in photos, part 2 (2014)
My year in photos, part 1 (2014)
The City Is A Medium, The Medium Is The Message
async.parallel with a simple timeout (node.js)
Milky Way galaxyrise from Maui
What is AMD, CommonJS, and UMD?
The mobile web is dead (and we have killed it)
Introducing Negative Scroll Blur (for browsers that support CSS filters)
You Can't JavaScript Under Pressure walkthrough
The Google Bitch
Fourth of July letter to my government
NSA's PRISM: from the minds of conspiracy nuts, turns out to be reality
Quick style comparison of mobile image search sites
Kyoto Cherry Blossoms 2013 (京都の桜2013年)
Video: Spring in Kyoto (京都の春)
How to import imiwa? vocabulary lists directly into Anki (iOS, iPhone guide)
Japan: from miniature train to bullet train
Forms of Escapism
A theory of leisure time, choice, and happiness
Descartes on building software frameworks
The life of your parents' choosing
Thoughts on TrapWire
More fun with WebKit pseudoelements: -webkit-search-cancel-button (or: Pseudoclass Inception)
Initial thoughts on the Retina MacBook Pro (after a few minutes at the store)
I think I'm learning Japanese: JLPT vocabulary words 1 to 50 (audio)
Response to 'What’s next for mobile now that adaptive design has failed?'
New direction (Developer Blog to Blog)
Why is Philosophy still important?
Post a status update to the native Facebook app from a web link
Web development, Silicon Valley rant
iOS5 SunSpider: iPhone 4S vs iPhone 4 vs iPhone 3GS
iPhone 4S, iPhone 4, and iPhone 3GS photo comparison
Mobile Performance Manifesto
When to base64 encode images (and when not to)
Different ways of defining functions in JavaScript (this is madness!)
On professional self-worth
New Mobile Safari stuff in iOS5: position:fixed, overflow:scroll, new input type support, web workers, ECMAScript 5
The incredibly painful way of getting an RSS feed of a Twitter list
Android 3.0 Honeycomb is first to implement the Device API
My O'Reilly Books Wishlist
Improving yourself as a programmer versus as a human being
Checking for undefined, null, and empty variables in JavaScript
A peek into Google's Jules Verne tribute (February 8, 2011)
JavaScript SunSpider benchmark: iOS 4.3 vs iOS 4.0
Notes: Mobile Web Design (Cameron Moll, 2007)
Implementing iPhone's slider unlock with input type='range'
JavaScript news resources
What happens when you have no JavaScript fallback?
How to spot outdated JavaScript
What is a closure in JavaScript?
Mobile JavaScript libraries and frameworks (Mobile Web Part 7)
What happens when we serve JavaScript with random MIME types?
Top ten things HTML5 makes simpler
Does it still make sense to use em rather than px?
JavaScript links from last week (September 26)
Mobile Monday: Best Practices for Mobile Design (September 20, 2010)
Server side console.log
Optimizing based on connection speed: using navigator.connection on Android 2.2+
Basic HTML5 template
Dealing with device orientation (Mobile web part 6)
BlackBerry Torch SunSpider results (JavaScript benchmark)
Is a hash faster than a Switch in JavaScript?
Open Web Camp II at Stanford (July 17, 2010)
A Visit From Flickr!
Friday links: mobile performance studies, the upcoming device element, and more (July 15)
Thursday links (July 8)
Targeting Internet Explorer (IE): the age-old struggle
Using mobile-specific HTML, CSS, and JavaScript (Mobile web part 5)
iPhone 4 SunSpider test results (22% faster than iPhone 3GS)
JavaScript SunSpider test: iOS 3.1.3 versus iOS 4 GM
JavaScript SunSpider: HTC Evo versus HTC Incredible versus Nexus One
How to install obsolete Android Virtual Devices (AVDs)
Mobile First: Luke Wroblewski on mobile design
On designing a mobile webpage (Mobile web part 4)
Designing buttons that don't suck (Mobile web part 3)
The mobile developer's toolkit (Mobile web part 2)
The viewport metatag (Mobile web part 1)
A Clockwork Box
Links for the week of February 21, 2010
Links for the week of February 14, 2010
Overall iPhone browser traffic share is decreasing (Jan2009 to Jan2010)
Links for the week of February 7, 2010
A primer on CSS colors
Video: John Resig - Testing, Performance Analysis, and jQuery 1.4
PastryKit: digging into an Apple Pie
JavaScript tidbit: special variables ($, $$, _, etc)
Ways of passing data to functions in JavaScript
IEMobile 6/7 bug: classes and id not supported on the HTML element
PHP: dealing with stuff that doesn't exist
Pitfalls of declaring variables in JavaScript
JavaScript Tidbit: Block scope with let
JavaScript Tidbit: Shorthand Object Instantiation
PHP Tidbit: Dead simple singleton
IE Mobile 6.12 problem: browser ignores the specificity of CSS display styles