Thursday, April 30, 2015

Things that Microsoft Outlook does better than Gmail

I am quite surprised that this is not an empty list.

1. In Outlook, it's easy (if slow, and wasteful of screen real estate) to switch between mail, contacts, and the calendar.  In Gmail, it takes an extra click, it's still slow, and Calendar is off on another planet.


2. Suggest a new time for a scheduled meeting
As far as I know, you can't do that in Gmail.

3. See a list of viable meeting times
Never mind, you can do that in Gmail too.


4. Write an email to everybody invited to a meeting
Never mind, you can do that in Gmail too.

Wednesday, April 29, 2015

Faint praise?

This is definitely damning with faint praise.  But is that intentional?

"Written in PHP so literally anyone can contribute, even if they have no idea how to program." Phabricator

Monday, April 27, 2015

Notes on Group Facilitation training

I attended a class on facilitation.  One activity we did was active listening practice, in groups of three.  One person talks for a few minutes on a given topic, the second person listens actively (e.g., paraphrasing, mirroring, open-ended questions, etc.), and the third person observes.  The topic was, what are your strengths and weaknesses as an attentive listener?

When it was my turn to be the speaker, I explained that I'm pretty quick to understand what people are trying to tell me, but often too quick: I may interrupt to show I understand, but rob the other person of feeling heard.  And they may not feel confident that they are understood.  Or, I may mis-understand and jump to conclusions.  The assigned listener was, by this point, a little overwhelmed by the recursive nature of the exercise.  After the allotted minutes, the observer is supposed to report to the listener what they observed while the listener uses active listening to receive the feedback.  The first thing the observer said was, "You are perhaps trying to understand and failing to listen."

It was a bit like this.

Sunday, April 26, 2015

Pop Quiz

What's worse?
a) When you say "good night" to a neighbor but they say "take it easy, man" at exactly the same time and you aren't sure if you should say "good night" a second time to make sure they don't think you didn't respond to them
b) The Yankees winning a spring training game
c) cancer

Wednesday, April 22, 2015

I kind of see Puig's point

Down a run at the bottom of the fifth inning, Rocky pitcher Jordan Lyles loses command and walks the first two batters, bringing up Puig.  On his second pitch to Puig, he misses badly inside, almost hitting Puig.


Puig does not step out of the batters box, nor does he say anything.  Mayhem does not quite erupt.


Jordan Lyles is, I would argue, a little bit nonplussed.


It's obviously not intentional on Lyles' part, but I still wouldn't trade places with him at that moment.

Tuesday, April 21, 2015

There's something deeply wrong with everything

Unusually, I had to drive last week, to and from work plus extra stops before and after.  According to Google, I was never more than three miles from home.

Distance from starting location (farthest distance: 2.927 miles)


Five segments in total: 1.2 mi, 5.1 mi, 5 mi, 0.7 mi, 2.4 mi.  Varying from under one mile to five miles.  In downtown San Francisco.  During rush hours.  Total time in the car in one day: 2 hours 20 minutes.  Average speed: about 7 mph.



You might see this as an argument for moving to the suburbs but I see it as an argument for banning cars in the city.

Monday, April 20, 2015

Another step toward getting a woman on US paper money (and Andrew Jackson off)

... on Equal Pay Day, U.S. Senator Jeanne Shaheen (D-NH) introduced the Women on the Twenty Act, legislation that would direct the Secretary of the Treasury to convene a panel of citizens to recommend a woman whose likeness would be featured on a new twenty dollar bill. (link)
Hear hear!

Sunday, April 19, 2015

Stuck selecting a Front End, or, seriously, batman.js? Part 3

In Part 2 of this series, we considered 10 Lightweight Alternatives To Bootstrap & Foundation.  You may be wondering why there are several billion different free and open source pieces of internet infrastructure lying around for anyone to use.  Model View Culture explains:

Our company is open sourcing this project/product/codebase because we want to make it available to the world, give back to the community, and promote innovation on top of our existing work.

What Your Culture Really Says: Someone on our team built this shit in their spare time because our engineering team is full of special snowflakes with too much venture funding who don’t understand the term “company priorities,” but hey, we’re just going to open source it to “build goodwill in the community.” It’s fine. We tried to sell this as a proprietary product and no one wanted it and/or we were too incompetent to sell it. We no longer want to carry the weight of this software because we don’t have the resources or funds, and we either can’t afford or won’t prioritize hiring more people to work on it, but maybe we can get some poor sucker out there to do it for free. This code contains absolutely no innovations, progressions or aspects that could potentially be useful to competitors or potential competitors, so is unlikely to advance the state of the industry and market overall, but we can write a press release about it.

Saturday, April 18, 2015

Mineta to Panetta to Kamala, the Bay Area Yakko, Wakko, and Dot?


On at least 150 flights, including one involving a Southwest Airlines jet last month in Missouri and a jumbo cargo plane last fall in Kansas, U.S. commercial air carriers have either landed at the wrong airport or started to land and realized their mistake in time, ... [including] six reports of pilots preparing to land at Moffett Field, a joint civilian-military airport, when they meant to go to Mineta San Jose International Airport, about 10 miles to the southeast. (TPM)
One of my least practical dreams is to get Moffett Field renamed for former District 17 Congressional Representative Leon Panetta, not as political statement but simply to confuse things even more.  (Another impractical dream is to get everybody to call the San Jose Airport "The Norm".  And while I still think Harvey Milk is the best name for SFO, that attempt failed and I'm on the lookout for Bay Area politicians whose names rhyme with Mineta and Panetta.  The closest in the current batch is Kamala Harris.  I'll keep looking.

Friday, April 17, 2015

Pop Quiz, rocket edition

Looks like Falcon landed fine, but excess lateral velocity caused it to tip over post landing (Elon Musk)
Q: Which word is Musk most abusing?

a) "landed"
b) "fine"
c) "hyperloop"

c.f. "Charlie Brown of Missile Defense"

Thursday, April 16, 2015

Carthage must (not) be destroyed

Ceterum censeo Carthaginem esse delendam
The coolest thing I've read in the last few days is that Cato the Elder ended every speech, regardless of the topic, with "Furthermore, I consider that Carthage must be destroyed."  While I love the rhetorical flourish that makes this natural .sig material, I'm a bit of a pacifist and think that war, especially the total war Cato advocated, represents the worst of our species.  So I can't use the quote verbatim, but what's the smallest possible change I can make to this phrase to make it consistent with my values?  Carthage must be saved?  Must be won over with love, respect, or at least mutual benefit?  I need a Latin punster.

Wednesday, April 15, 2015

All's well that ends well

The situation last night: the Dodgers have trailed from the very first inning, when fifth starter David Huff surrendered three runs on a single and two homers.  When the Dodgers score a catchup run, the Mariners answer back.  In the eighth inning the Dodgers get tying and winning runs on base and briefly touch a 50% win percentage, but in our eigenuniverse Grandal grounds into a double-play, and after eight and a half innings the Dodgers still trail, 5-4.


After two singles the Dodgers hold first and third, but on Crawford's ground ball to third Justin Turner errs in breaking for the plate and, when he abruptly swerves out of the ensuing rundown to get a sandwich (I assume), he is called out for leaving the basepath.  Adrian Gonzalez walks to load the bases—in the latest sign of the ravages of age, he finishes the night sans either a triple or a home run, dropping his average to .548 and his slugging to 1.194.  The pressure is on Howie Kendrick, who delivers a single to right.  Rollins scores.  Crawford goes for it.  Will he be the second Dodger cut down approaching the plate this inning?  Here's the play



And here's the outcome.  It's unanimous: Dodger Jimmy Rollins and umpire Greg Gibson both signal that Crawford is safe!


Let's see that fine form from another angle!


Still safe!

P.S. Monday night the Dodgers won 6-5 in the tenth.  Last night, 6-5 in the ninth.  I'm not making any predictions, but if I had a convertible and lived in Los Angeles I would park it with the top up tonight, just in case.

Tuesday, April 14, 2015

Are the Spolsky Test items all catholic Best Practices?

I'm doing some process evaluation and making a menu of possible software development processes to implement, and one assumption I'm working within is that every process change (software development or otherwise) has both costs and benefits.  And changing multiple processes at once works like the baseball payroll luxury tax (which by the way would be illegal but for baseball's magic exemption), in that multiple changes at once have rapidly increasing costs just from the overload.  But some Practices are so utterly Best that under all normal circumstances, it's not worth even a second of cost/benefit analysis.  Let's call them catholic best practices, in the sense that they are universal: universally applicable, universally good ideas.  Source control may be the canonical example of a computing practice where the costs exceed the benefits only in such rare circumstances that not using it is prima facie evidence of malpractice.  Which got me to wondering, is everything on the Joel Test a catholic best practice?  Read Joel Spolsky's steps and see how many you think are beyond reasonable dispute:
  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?
By my count, at least eight are no-brainers.  If you stretch daily builds to include automated smoke tests on, e.g., non-compiled languages, then that's a no-brainer.  #5 and #6 may reflect specific positions within larger holy wars, so maybe they are only protestant best practices, and #12 is a good idea but only one of many viable ways to achieve a good outcome.  But at least 9 of the 12 are, in my opinion, catholic best practices.  What's not on the Joel Test but should be?  And what are some catholic best practices in other fields?

Monday, April 13, 2015

BMW drivers getting tickets, 4th in a series

This isn't a BMW, but it's still cool.  Here's a Mercedes stopped at a bus stop.


Here's a bus, equipped with cameras to automatically issues tickets.


Happy ending.

Meanwhile, SF busses can only issue tickets to stopped cars, because a moving violation is legally different.  There is work in progress to broaden these powers.  I think the arguments against this are interesting.  One argument, well, a batch of arguments seem to be bogus objections from drivers who don't want to lose privilege.  You can do your own research on those.  The other type is a civil liberty argument.  I find this more interesting because I've more or less come half circle on these.  I used to reflexively accept the civil liberty arguments that broadly and automatically collecting data like this is a slippery slope.  I still agree that there are plenty of examples of entities diving down that slope to abuse (like DMV or hospital employees looking up personal information, or pretty much everything the NSA seems to do).  But the case for pedestrians and cyclists and other modes against abusive drivers is so strong that I see a much more nuanced gray area now, and I am whole-heartedly in support of this particular example of using bus cameras to issue parking and, hopefully, moving citations.

Sunday, April 12, 2015

Bureaucracy and Off-boarding

I am totally excited to announce that I started work last week at the Wikimedia Foundation, the parent entity of Wikipedia.  I rarely talk about my job on my blog; this seems like an appropriate moment for reflection.

When I returned to the US after graduate school in Singapore, I wanted to keep working for non-profits, preferably as an employee rather than doing more consulting.  I also applied for "a flagship leadership development program at the entry level for advanced degree candidates"; maybe I could help some IT project in some corner of the goverment stay off the the long list of disasters.

After consulting for a few Silicon Valley startups, I ended up joining the Office of Personnel Management, moving to DC for a year to get started and then back to California as a teleworker.  OPM is the government's HR department, setting policies and monitoring compliance and providing HR tools and services to the rest of the government.  (OPM was briefly rumored to have a role in the upcoming Obamacare website, but that ultimately went to HHS.  I do often wonder how many project managers involved in that disastrous launch screamed their heads off only to be ignored; I'm also happy to see that healthcare.gov got straightened out fairly quickly) 

Anyway, I worked on USA Staffing and related projects for five and a half years.  As part of my fellowship I also did a four month rotation in the HR IT group of the Los Angeles VA hospital system, which was very educational.  There are a lot of stereotypes about government; here's what I can report back:
  1. The typical government worker is sincere and dedicated about their job and about public service.
  2. The negative stereotypes that are sometimes true, such as the dysfunctional bureaucracy and the crazy rules, are failures of systems, not of people.  For example, a list of all laws related to cybersecurity takes up pages 52 to 61 of this FAS report.  Can you imagine reading all of those laws cover to cover before logging in to your computer?
  3. The US government has goals of both efficiency and fairness, and comparisons to institutions that aren't obligated to be fair can be misleading.
That said, USA Staffing was a great project to work on, thanks to the dedicated and effective people, and because it operates on a competitive basis.  As an example of point 3, although it's run by the government and staffed by federal employees, USA Staffing sells services to the rest of the government, and has to compete with Monster and other private companies.  Its market share increased dramatically during my tenure, which was very exciting even though it wasn't my doing.  In the last few years I provided process coaching, estimation and forecasting, and release planning for a major new version of USA Staffing (which, if you go back far enough, used to be a microfiche system.  To the best of my knowledge, however, it never existed as COBOL).  In other words, I ran lots of meetings; after good ones, programmers would tell me, "I hate meetings, but I can see why we needed this one, and at least you kept it quick."

This work reached a major milestone a few weeks ago when the Federal Maritime Commission was the first agency to post some jobs via the new version.  If you have a passion to "foster a fair, efficient, and reliable international ocean transportation system and to protect the public from unfair and deceptive practices", the deadline to apply is April 15th.

So far the new version hasn't garnered any attention in the Washington Post (the gold standard of federal failure) so I hope I made a contribution.  The problem with having a job where you try to predict and mitigate problems is that it's hard to be certain how much you are responsible for the lack of problems.  But I find it a little unfair to mock the Y2K bug fixing effort as completely ridiculous in hindsight just because nothing really bad happened, so you know my bias.

Meanwhile, I'm excited to get back to non-profits, doing much the same thing as I was doing for the government, but instead of a top-ten federal website ("Application Manager" on this list), for a top-ten global website.

And I do have an amusing anecdote at the expense of the federal bureaucracy: I had to complete a form 4754not the Federal Wage System Job Grading Standard for Cemetery Caretaking, 4754, and not the form Hillary Clinton was accused of dodging when she left the State Department, but the OPM Employee Exit Clearance Form:


There is a fair amount of paperwork involved in leaving federal service.  Everyone I worked with was very helpful, and it all went smoothly.  Well, almost.  I was told I needed seven signatures on this form, proving I returned all my hardware and keys and ID cards and parking passes etc etc, or my last paycheck or benefits might be held up.  I guess this process was designed for people who can walk around one big building and collect signatures, not for remote workers.  I ended up with three signatures, from people who took the time to print the form, sign it, scan it, and email it back.  On the one hand, it's funny that they didn't just e-sign it.  On the other hand, whoever created the form in Adobe enabled e-signatures for the employee and the supervisor but not for the seven other signature fields.  And on the third hand, that's some real dedication to go to all the trouble of printing, signing, scanning, and emailing just to help some stranger jump some silly hoops to prove they never had a parking pass to return in the first place.  To the three out of seven bureaucrats who went to great lengths to sign a stupid form for me, thank you very much; I am proud to have served with you.

Saturday, April 11, 2015

My reading list

is a mix of ebooks, physical books, and intended-to-read books, so it's hard to photograph. WhatNext is intended to handle reading lists as well, projecting how many days or months or years into the future it will take to complete one's list at the current pace. But I haven't timed any books yet. And how should books be baselined? Small Medium Large? Number of pages? I've zoomed through a dozen shortish SF books while being stalled in Capital for months. This is a huge problem for WhatNext's approachestimate, record historical data, and then project.  Recording historical data reading books means tracking multiple short episodes of a long period of time, multiplied by each book.  And who has a timer at hand when they pick up a book?  Of course, the transition to ebooks could completely solve this; I guess I'll go dig into my Kobo and see if it makes that data available to me, the owner, or just to the Rakuten corporation.

Anyway, the list:
  1. Debt (read it, but it's the kind of book that doesn't feel read until one has typed up one's notes and reflections)
  2. Capital in the 21st Century
  3. Little Women
  4. Anne of Green Gables
  5. Forever
  6. A Tree Grows in Brooklyn
  7. Pride and Prejudice
  8. The Quarry
  9. Geek Sublime 
  10. Thinking, Fast and Slow
  11. The Denial of Death
  12. The Three-Body Problem
  13. My Real Children
  14. the new William Gibson

Friday, April 10, 2015

Special Passover mnemonic

You may know the trick for remember which glass is yours on a busy table?

Your bread is to the left of your plate; your drink is to the right.

Naturally, this has to be updated during Passover:


Thursday, April 9, 2015

BMW drivers getting tickets, 3rd in a series

I saw a BMW driver standing next to his car arguing with the traffic cop, but I was too slow to get a picture. Here's a picture of a Camaro with a ticket instead.

Wednesday, April 8, 2015

Desire lines

This is what it looks like when pedestrians find the built infrastructure too limiting and blaze their own trail.  It's called a desire path.  In this case, people have de facto protested against walking the extra thirty feet needed to accommodate sidewalks built as accessories to the road geometry.


Here's what it looks like when car drivers find the built infrastructure too limiting:


Tuesday, April 7, 2015

Stuck selecting a Front End, or, seriously, batman.js? Part 2

I need to pick a Front End for WhatNext, the nihilistic task manager. Specifically, I want to make the forms prettier, and to be able to drag and drop tasks in order to re-prioritize them. I have been building on a "stack" of pre-existing tools, from Linux and PostGreSQL at the back end to nginx and Django in the middle. These tools let me do things like define what data will be used in my program, how data will relate to other table, and define how users can enter data. And I reach sideways to other tools, mainly to Toggl, so that I can click a button in WhatNext and have a timer start in Toggl. But now I need a better front end. Roughly speaking, this is the technology that makes websites pretty and shiny.

Django's third-party modules include Bootstrap and Foundation integration, so I tried that, and neither of them worked that well. By which I mean, I followed the instructions to add each one, reloaded my web page that should now be nice and shiny, and got the second most common programming outcome: nothing happened. A bunch of debugging and trying to follow contradictory instructions led to partial results, but certainly neither of them were really "turnkey" or "out of the box". So, let's consider 10 Lightweight Alternatives To Bootstrap & Foundation, judging each one by its tagline or, in one special case, by its icon.

  1. [Skeleton is a] dead simple, responsive boilerplate.
  2. Cardinal is a modular, “mobile-first” CSS framework built with performance and scalability in mind.

    [Although I'll note that Cardinal can be rejected a priori:

    Nope. I'm not going to share a Responsive Front End Mobile-First Grid with this guy:
    ]
  3. A better front-end framework.
    Give up the bloat. Stop tripping over your classes. Be Concise.
  4. [PowerToCSS] A versatile CSS Framework. Simple, light and responsive!
  5. Furtive
    A forward-thinking, CSS micro-framework (3.92kB gzipped).
  6. Basscss
    Low-level CSS Toolkit
  7. MUELLER is a modular grid system for responsive/adaptive and non–responsive layouts, based on Compass. You have full control over column width, gutter width, baseline grid and media–queries.
  8. [Tuktuk] A new smart kid on the Responsive block...
    ... Not trying to compete with Bootstrap or Foundation because they play in another league.
  9. [Base] A super simple, responsive framework built for all devices big, small and in-between
  10. Toast
    Insane, no-nonsense CSS grid
Which of these should I pick? Do I want to be Furtive, Consise, or Toast? Do I want my system to be unbloated, insane, dead-simple, modular, or forward-thinking?   The best answer is probably to Choose Boring Technology. Next post, let's try that.

Monday, April 6, 2015

Stuck selecting a Front End, or, seriously, batman.js? Part 1

Once again I'm stuck on my hobby project, WhatNext, the nihilist task management program. I have built something fancier than a simple to-do list, and I use it myself every day. But, to paraphrase Pascal, Goethe, Wilde, Twain, and others, it's going to take a lot more work to make it simpler. And I have two different tracks to work on.

First, I need to continue developing a fundamental model of tasks and goals. Is each task implicitly both a piece of work and an outcome? If I say that I'm going to wash the dishes, and then the dishwasher breaks and I have to get it fixed, and then I break some of the dishes putting them away, how do I account for all of that extra work, like choosing a repair person, waiting for them, rescheduling, waiting again, giving up and learning how to repair dishwashers myself, actually repairing the dishwasher, and ultimately repairing or replacing the dishes? Is that part of the original task, since the desired outcome was to have clean, usable dishes, or a new task?

If this seems overly pedantic and pointless, or if the scenario seems far-fetched, consider it in terms of software, where this is pretty normal. You go to add a minor feature and end up, weeks later, having re-written half the system and upgraded your database and forgotten the original problem. How do you document this, so that you can build a historical baseline, predict when this will happen again, and maybe even control and limit it in the moment?

And the second track is, how do I make my website a little prettier and also add some nice AJAXy (AJAX is an acronym for some features that basically let web pages work more like apps), such as being able to re-sort my to-do list with drag and drop? And I really want to add card mapping and try making that a useful and integral part of prioritizing and the only site I could find that does card mapping is a pay site with no API, so I would basically have to rebuild it myself. And of course the recursive irony of all of this is that, because I haven't finished my task management system, I have trouble managing the tasks necessary to finish my task management system.

So. While it's humbling to realize that making prettier web pages will probably be harder than delving deep into the theoretical and conceptual and philosophical underpinnings of tasks and the essential nature of work, it's probably time to stop adding more features and instead get basic mastery of some new technologies.

This is the point where I learn just how bonkers the current "Web Stack" field is. The concept of the Stack refers to the set of technologies one builds upon so as to avoid re-inventing the wheel. At the bottom of the stack, where you have problems like "how should data be stored?" and "how will this program be made available to the Internet?", there are very solid, mature, stable, reliable, consistent, constant solutions like PostGreSQL and Apache. Only a complete fool, someone who thinks they are smarter than millions who have come before or that they have a unique problem that no-one has every solved before, tries to re-invent the database. But as you go up the stack, things get weirder. For example:
If you love Ruby on Rails, batman.js is the best, most familiar way to build rich web apps in CoffeeScript.
The top of the stack is so weird that even the names of the layers are still in dispute. At the bottom we have Operating System and Database and Backup and things like that.  But at the top we seem to have Grid and Mobile-First and Responsive.  I am somewhat sure that the two most popular open-source packages at the top of the stack are Bootstrap and Foundation, but what do they actually do?  Bootstrap is
the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.
and Foundation is
The most advanced responsive front-end framework in the world.
Next post, we'll look at 10 Lightweight Alternatives To Bootstrap & Foundation just to see if we can figure out what this technology is even for.

Sunday, April 5, 2015

My experience with Baracketology

Soon after joining the federal government I started using Obama's NCAA picks in my pool.  After all, he spends more time thinking about college basketball than I do.  In that time, our best result is 2nd place in the men's pool, and a 2nd and a 1st in the women's pool.  Not too bad.  On top of that, Obama and I have combined for two victories in the US electoral college, an average of one each, whereas the rest of the pool players have combined for exactly zero electoral victories.

This year, however, I'm in about 15th place heading into the Final Four on the men's side.  Thanks, Obama.

Saturday, April 4, 2015

Ranking the construction projects on Franklin: Round 3



Another non-obvious way to rank construction projects: how pretty are its cranes?

 

3rd Place: The Washingtonian

It's still a hole in the ground.  No cranes.

 

2nd: 1634 Pine

I don't remember any big permanent cranes.  Sometimes they had mobile cranes but they weren't very pretty.

 

1st place: CPMC Van Ness and Geary Campus





Friday, April 3, 2015

Ranking the construction projects on Franklin: Round 2

Another non-obvious way to rank construction projects: how many people are going to die there?

 

3rd Place: The Washingtonian

26 condos.  I haven't heard of any on-site construction deaths, so any numbers here are going to be from heart attacks, murder-suicides, etc.  And a lot of these will probably end up as vacant investments for foreign money.  So, it's possible nobody will die there.

 

2nd: 1634 Pine

262 residential units and some retail. Same logic as 3rd place, but with those numbers, somebody's got to go sooner or later.

 

1st place: CPMC Van Ness and Geary Campus

The 12-story acute care hospital will be home to women’s, children’s, cardiology, oncology, emergency care and transplant departments, and will have 274 patient beds (CPMC).

Thursday, April 2, 2015

Ranking the construction projects on Franklin: Round 1

In five blocks of Franklin Street in San Francisco, there are three major construction projects.  I want to rank them in as many non-obvious ways as possible, in the vein of the Barometer question.  So building height, cost, dates of construction, addresses, are all obvious.  Help me out and send your suggestions for non-obvious metrics.  Round one: Penmenship.

3rd: 1634 Pine

Surprisingly legible for last place, but still last place.

2nd: Van Ness and Geary

This one was very hard to judge because there is almost no hand-written signage around this mega-project.  This is all I could find, and it's quite tidy.



1st: 1450 Franklin

Superb. And not a fluke; many similar signs around the construction area are equally impeccable.  Winner.


Wednesday, April 1, 2015

On being absent-minded

You know you are absent-minded when you take out your sunglasses case in anticipation of removing and stowing your sunglasses, but when the case emerges empty you experience a brief moment of panic that you have lost your sunglasses.

That's how you know, but then you will forget.