Archive: August 25, 2016
Archive: August 24, 2015
Pardon this nerdy post, but here is how you can do HTTP authentication processing in a CGI program. The Internet doesn't know how to do this, and I do. So here you go, Internet.
Here's how HTTP authentication works. A request is sent to a server, and if there is no authentication the server responds with a 401 status. This causes the client (browser) to prompt the user for a username and password. When entered, the username and password are combined and sent to the server in the
Authorization: header, like this:
Authorization: basic <username:password>
<username:password> part is base-64 encoded, which is *not* encryption, so to avoid sniffing this should only be done on an SSL-encrypted (HTTPS) connection.
The server validates the username and password, and if there's a problem, it sends back a 401 status again. If everything is okay, it processes the request, such as executing a CGI program. So far so good.
Now ... what if you don't want the server to perform authentication for you, and instead, want to perform the authentication inside the CGI program itself? Aha, glad you asked!
You have to modify the Apache [webserver] configuration, as follows:
... in modules section, if not already enabled:
LoadModule authn_anon_module modules/mod_authn_anon.so
... in server section, or in
SetEnvIf Authorization (.*) HTTP_AUTHORIZATION=$1
... in appropriate
AuthName "My auth realm" (required; default if realm not set)
AuthType Basic (username:password, base64-encoded)
AuthBasicProvider anon (use anonymous auth)
Anonymous * (allow any username)
Anonymous_NoUserID on (optional, ok if username blank)
Anonymous_MustGiveEmail off (optional, ok if password blank)
Require valid-user (optional, forces auth processing)
Here's what's happening. Loading
mod_authn_anon enables the use of a "
AuthBasicProvider anon " directive. That's the secret sauce. The "
Anonymous * " directive allows any user through the server checking. Once through the server checking, the
SetEnvIf directive sets an environment variable named
HTTP_AUTHORIZATION with the value of the
Authorization: header, from where it can be accessed by the CGI program.
You can tune the way this works a bit. The "
Require valid-user " directive means the initial 401 will be sent (because there is no
Authorization: header), so you will always prompt for entry of a username and password. That's probably what you want, but if not, you can omit this directive in which case no
Authorization: at all is okay and a blank value will be passed through to the CGI. The "
Anonymous_NoUserID on " directive allows a blank username; if omitted, a blank username will be treated like a missing
Authorization: header, and a 401 will be returned by the server. The "
Anonymous_MustGiveEmail off " directive allows a blank password; if omitted, a blank password will result in the server returning a 401 directly. (The
anon mechanism was initially devised for anonymous FTP, where an email address is often supplied as the password.)
Note that in all cases the CGI can return a 401 itself by writing a "
Status: 401 " header, which will cause the client (browser) to prompt for a username and password again.
Trust me, this works, and I tried just about everything else. You are welcome!
Archive: August 25, 2014
Today is of special note; it is my daughter Alexis 21st birthday! Wow. How the time flies... Happy Birthday Alex, congratulations on another trip around the sun. I hope the next 21 are even better :)
Meanwhile, it's all happening...
How awesome is this? GE releases instructions for 3D-printable jet engine. Yes, of course I printed one for myself :)
Yobi 3D is a search engine for 3D objects. Excellent, and much needed. I'll be back.
A message from the Amazon Books team. In which the transition to e-books is compared to the previous transition to paperbacks. Well-reasoned, and reasonable. Book publishers are most definitely not on the side of history.
The counterintuitive trait that will make you significantly more successful. It's ... skepticism. Hmmm, I have to say, I'm skeptical :) I grant that excessive optimism and unrealism can hurt, you, but sometimes the man who knows something is impossible is interrupted by the man who is doing it anyway.
Seventy years ago today ... IBM presented the Mark I computer to Harvard. I love those old machines, they're so ... intricate, right?
Important news: the best beer in baseball. The Washington Post ranks every ballpark in Major League Baseball by the quality and breadth of their beer offerings.
Is HBase's slow and steady approach winning the NoSQL race? I don't think so. I think Cassandra has a huge lead and is gaining on everyone else. This isn't a race, by the way. There is no network effect to the leader, selection of databases is purely a meritocracy.
Twitter's small chance to maim email. I rate the chances of Twitter denting email use as approaching zero from the left. Good direct messaging in Twitter might replace other kinds of messaging, but email is longer form and queued, giving it other properties.
Twenty stunning cliffside beaches. Wow.
Hmmm... this is interesting: Jello Labs launches Spring, a new shopping app. "On every other platform, users follower users. On Spring, shoppers follow brands." I predict this won't work, but it is an interesting experiment. And it could most certainly benefit from inclusion of visual search :)
So I can find it later: how to center one object inside another in CSS. If I could comment, I don't find CSS to be at all elegant. There's an inherent crapiness which makes even simple stuff hard.
Interesting: Wind power requires 700 times as much land as Fracking. I prefer nuclear power to both, but I must admit I am greatly troubled by the land area consumer by "clean" wind power.
The gap in the world's longest road. It's the Darien National Park, in Panama, which breaks up the Pan-American Highway that runs from Alaska to Argentina.
Robert Scoble has thrown in the blogging towel: I've completely moved to social media. So be it. For myself, I'm still Facebooking, but blogging allows two things which Facebook does not: linkblogging (like this post), and long-form essays. Both of which I like to write.
What Facebook doesn't show you. "All I want is an unfiltered feed of what my friends post, as they post it." Amen, brother. That's all anyone I know wants, but somehow Facebook doesn't want to give it to us. Does anyone prefer "top stories" to "recent posts"? Yeah see, I knew it.
Dave Winer: Little Facebook Editor. Huh, this looks interesting... must check it out. "Little Facebook Editor can cross-post to both WordPress and Facebook simultaneously, and when a post changes, both sites are updated." Maybe a good solution for Robert Scoble :)
Archive: August 25, 2013
Archive: August 25, 2012
Archive: August 24, 2011
Last night we were powerless - for about nine hours, from about 8:00PM to 4:30AM - and this afternoon we were again from about 1:30 to 3:30. Boo hoo, right?
Well, I now know that we have eight timers in the house and yard, and five electric clocks and one alarm system, all of which must be reset, not to mention my three servers which despite having a UPS which protects them for 30 minutes always seem to need some kind of weird resetting after a power failure. Even as I write some of my domains still have messed up DNS. I sure hope they stop playing with our street.
A nice day, got caught up on a number of things, took a great ride, and am enjoying re-reading the Hornblower series by C.S.Forrester (I'm on Beat to Quarters, the first written but the fifth in the series). And now that the power's back up, a filter pass seems indicated... here we go :)
So I'm reading a leader in the latest New Yorker entitled How Bad Is It, by John Cassidy, and I encounter this: "What sort of policies might make a real dent in unemployment? Providing subsidies to businesses that hire new workers is one. Extending extra tax cuts to firms that build new factories and offices is another. More radical ideas include investing in infrastructure projects, importing a version of the job-sharing scheme that Germany has used, and launching a national community-service program." Amazing. This is the Obamination in a nutshell; the only ideas for creating jobs involve spending government money. No mention at all of the government getting out of the way of business, decreasing regulation, reducing taxes, and allowing value to be created. And yet that's the only thing that's going to work.
I find the illustration which accompanies the leader ironically apt; it shows President Obama standing next to an idle gear cage, wrench in hand. Your caption here :)
The usually solid James Surowieki doubles down in The Business of Austerity. Sigh.
Max apropos: How to motivate people: Skip the bonus and give them a real project. Exactly.
From the Oatmeal: Time spent using Tupperware. I love it :)
On 50lb bicycles and the lockability thereof. "All bikes weigh 50lbs. A twenty pound bike requires a thirty pound lock. A fifty pound bike doesn't need a lock."
Richard Dawkins: Attention Governor Perry, Evolution is a Fact. And ignoring facts is not a leading indicator of a good leader :(
I've been using the new LinkedIn iPhone App and loving it. They made it simpler and more useful all at the same time. I am actually going into it more often now to see "what's happening", much like I do Facebook. Amazing how important the iPhone App interface is for a company these days,
almost as important as their website UI.
This is *so* true! Twitter is like ICQ. Exactly. Great call.
MG Siegler: A Perfect Circle: 'Friends'. Why Facebook's privacy changes make it easier and better. Personally I don't post anything to Facebook I don't consider "public", but I agree that "friends" and "public" are the two categories that matter. This is why G+'s Circles feature hasn't excited me; I just don't need finer grained control.
Don't you hate it when you go to a site which you haven't visited in a while, and you can't remember your username and/or password? Sucks, doesn't it? Here are some suggestions for all websites which require registration:
- Use an email address as the username. Easy to remember and unambiguous.
- If for some weird reason you need a username aside from an email address, tell users the username rules (minimum length, etc.), it will make it easier for them to figure out what username they chose.
- Tell users the password rules (capital letter, digits, minimum length, etc.) Users use the same passwords everywhere, depending on the rules.
- Finally, let users enter more than one password guess at a time. I only ever use one of a handful of passwords. If I can guess them all at once, it would save time.
I can't add anything to all the chatter about Steve Jobs resigning as CEO of Apple. He's been amazing, but I suspect Apple will continue on just fine without him at the helm. I sure wish him well.
[ Update: Scoble has a nice take ]
Tonight we celebrated Alexis' 18th birthday (!) in style, at our favorite restaurant Tuscany. We had a great dinner - I broke my "wine not" training rule for the night, so we could enjoy an '04 Tignanello - and a great time. Alex is moving out Friday (sniff) to attend LMU, so it's definitely quite a transition. And in about half an our she'll be an adult ... wow. Anyway she'll always be my baby girl :)
The highlight for me was making an octadecahedral birthday card :) that's Alex at right, holding the result, and you can see the print template below.
This octadecahedron is not a regular polyhedron, despite being composed of 18 equilateral triangles. Imagine an equilateral pyramid, and now stick two of them together; you have a hexahedron, but it isn't quite regular (two of the vertices are more acute than the other three). And now if you replace each of the six triangular sides with an equilateral pyramid, you get an octadecahedron.
Archive: August 25, 2010
It's the Alexis edition of my blog, as she turns 17 today... congratulations, to the most wonderful kid imaginable... and meanwhile, we find:
Chest Beating: NEMA Working Group 6 have approved supplement 145 to the DICOM standard, "Whole Slide Imaging for Microscopy". This means that the huge complicated images created by scanning entire microscope slides can now be stored using the DICOM standard, a major step forward for my company Aperio and the entire digital pathology community. It will take time for this standard to be adopted and propagate, but just having a standard is a major step forward, and every journey starts with the first step. Yay.
From the August 9 issue of the New Yorker:
The Wheelhouse - "Herzog and de Meuron reinvent the parking garage" - and how great is that? I've always admired the spiral parking of the circular Marina Towers adjacent to the Chicago River...
Empty Chamber - "Just how broken is the Senate?" - judging from this article, the answer is very broken indeed. Yikes.
Here we have the T.O. Acorn's Squirrel of the Month. A great feature, and a great choice :)
Archive: August 23, 2009
my marketing colleagues point out that marketing got closest to what the customer really needed :)
In a couple of weeks I'm going to ride a relatively new event called Son of Death Ride, which has the motto "that which doesn't kill us, makes us stronger". Nice. This ride is also billed as the toughest one day ride in the U.S. So be it.
Here's the ride profile, it is out and back, for a total of 138 miles and - gasp! - 17,352 feet:
That first climb is from 3,500' to 9,000' in 16 miles, which works out to about 7%. Ouch. At that summit you'll be 16 miles into the ride, with 122 miles left, and already toast. I'm looking forward to it already.
Tonight we celebrated Alex' 16th birthday (which isn't really 'till Tuesday), had all the girls home, and it was great fun, much laughing and telling of stories. Yes I must show off:
Nicole, Megan, Alexis, Jordan, Shirley
Earlier I was able to get some work done and for the first time in a while did my "usual" ride around the lake and through Hidden Valley. All set, ready for another tough week!
But first, a little blogging...
Rich Lowry: They think we're stupid. "The Obama team is saddled with a foundering health-care strategy. But it has a fallback plan - relying on the sheer dimwitted gullibility of the American public. How stupid do they think we are?" Actually the public are pretty stupid, amplified by a stupid media. But still, this is not going to fly.
I actually don't think the Obama team think we're stupid though, I think they think they're right, and that we'll see they are given time. Unfortunately they're wrong, and we're all going to see it together. History is not on their side.
Ann Althouse: "Basically, Obama has a big problem. He got lots of people to trust him, chiefly by speaking in vague generalities. It only works from a distance." And for a short time...
It was only a matter of time: IAmSorryIVotedForObama.com. Tell your story!
This is excellent, Performance, by MC Spandex. Well done in addition to being dead on and funny.
Avatar: How James Cameron's 3D film could change the face of cinema forever. This will be interesting; it seems almost certain that someday all movies will be 3D, and perhaps this will be seen as the pioneer. The premise behind the movie is pretty cool; humans on Earth have their brains wired into aliens on another planet. Cool...
Amazing new fossil photos. Including the 47 million-year-old jewel beetle shown at left. Wow.
Via Sailing Anarchy, check out this movie about the 505 Worlds. How fun would it be to race against 100 505s in San Francisco Bay?
Onward, into the week... I cannot promise to blog every day, I'll try, but be patient with me if I can't, and stay tuned :)
Archive: August 25, 2008
Happy Monday, y'all... yes, I know, nobody says Happy Monday, sorry. What could be less happy than a Monday, right? Especially a Monday following the Olympics' end, and with the kids back in school. Still...
Today is my daughter Alexis' 15th birthday, so that's worth celebrating! Happy Birthday, Alex!! In typical teen fashion we didn't see much of her - she spent the whole day in school and with friends - but it is her birthday and we are celebrating. Yay.
Have you ever noticed that when a company folds, the founders always say they had the right vision. Maybe they couldn't raise money, or the market wasn't ready, or the competition was too tough, or maybe even they didn't execute, but always they still have the right vision. It is weird, because to me most companies fail because they had the wrong vision; they thought they had a market opportunity but they didn't. Either the value proposition wasn't there, or the dogs didn't eat the dog food.
Want some actual facts about global warming? Then check out Global Temperature Trends 2500 B.C. to 2008 A.D. Not quite what you expected? Blame the mainstream media who can't be bothered to do this kind of research. The [incredibly detailed] chart at left contains the punch line; please click to enbiggen.
I find myself completely uninterested in the Democratic Party convention now taking place in Denver. It is dominating the news, but nothing that happens there will matter; Obama and Biden will be nominated, McCain will be attacked, and on we go in election 2008. I refuse to blog about it further.
JPL are hosting an awesome documentary on The Beginnings of the Space Age. Really cool. I love all that old equipment - much of it analog - really makes you realize how amazing it was that people were able to launch satellites into space "back then". It is hard enough with today's technology!
Speaking of today's technology, here's an awesome picture of the Space Shuttle Endeavor, with Earth in the background (click to enlarge). We have come a long way... and in many ways the space shuttles are old technology too; the epitome of our technology today would be recent unmanned spacecraft like Cassini and Huygens, and the Mars Rovers and Mars Explorer... all that has happened in less than 50 years. What will space technology be like 50 years from today? The mind boggles...
Oh, and guess what? Iran hopes to send astronaut into space. Within ten years. In this they join China, and others... this interesting chart shows the relative spending by Nasa compared to other countries. So far Iran is not even on the list, but good luck with that!
Russell Beattie notes the missing iPhone apps are appearing, and gives an example: Henny makes beat on the iPhone 3G using beatmaker. You have to see this video to believe it... not only for the coolness of the app, but for the complexity; who knew such a program could even exist? There is a whole world out there - many whole worlds - which are so different to mine.
Here we have 45 beautiful motion blur photos. Yes they are artistically blurred... and they are beautiful, all right...
Finally, if you haven't said goodbye to the Beijing Olympics yet, Jason Kottke links to a bunch of great photos, including the Big Picture at the Boston Globe. For me, I'm Olympic-ed out, so I'm not even going to copy one here, but please click away if you're interested...
Archive: August 25, 2007
Archive: August 9, 2006
Friends, colleagues, blog visitors, lend me your eyes...
Tonight I had a weird and moving experience which I wanted to share. Here’s the message: life is short, and you should enjoy each day as if it were your last, because you never know what will happen.
As you may know I live in Westlake Village, CA, about 140 miles northwest of my office in Vista, CA, and hence I have a rather long commute. I’ve been driving down to Vista at least once a week for nearly five years now, and it really isn’t bad; I enjoy the drive time as a quiet time for reflection and planning. In those five years I’ve seen my share of accidents but fortunately I’ve avoided any myself and have had only a few annoying near misses (knocking on wood). However, tonight as I was traveling home from the office I had the experience of seeing three entirely separate horrible fatal accidents. I didn’t see any of them happen, but in each case I was close enough that emergency vehicles were still arriving as I sat in traffic behind them.
The first was a big truck which jackknifed across the center divider just South of the border control station in Camp Pendleton, smashing at least two other cars in the process. The second was a three car accident where the 73 joins the 405, seemingly caused by a car ramming the end of a guardrail and subsequently bursting into flame. The third was a car which ran into the center divider of the 405 in the Sepulveda Pass (north of L.A.), and then bounced across five lanes of traffic before ramming a hillside and flipping, spinning and smashing at least three other cars as it did so. Each accident was worse than the previous, and seeing all three in sequence was a spooky and sobering experience.
It occurred to me that ordinary people like you and me died in these accidents, within minutes of the time I passed them. They got up that morning living their day per usual, going about their business, with no idea at all that this day was going to be their last. If they had known, maybe they would have kissed their kids a little longer, or hugged their dogs, or been nicer to their colleagues in email. Maybe they would have made a donation to a charity, or spent time in their backyard enjoying the sun. Or coded an amazing piece of software :)
I don’t want to be too sappy about this, but for me this really was an “inflection point”. The memory of that drive is going to stay with me, and I’m going to try to live each day as if it were my last, because you just never know.
Archive: August 14, 2005
I had a random thought last night which I thought I'd share. There is a visceral human reaction to losing something. People never ever want to give up something they feel they already have. This is not a cold logical calculation, even if you give people something which is way more valuable than the thing you're taking away, they hesitate. (This is why FREE is the most powerful word in marketing :)
The idea of accumulating "stuff" must have hit early on in the evolution of humans. Anthropologists tell us we were herders, and [probably] harem-based, and both of these imply possession. Intelligence may have evolved so we could evaluate trades. Anyway however it happened, it is now true; we are materialistic. Any human society which has attempted to deny this has failed, and the human society which is most successful is the United States, which celebrates materialism and features it as a core value. One of the first things that must happen to transform a failed state is some sort of rule of law, including some rights to personal possession.
Losing something doesn't only mean losing an object, it can also mean losing a right, such as freedom. And losing rights provokes even more of a reaction than losing objects. Tell someone they can't do something, especially something they could do yesterday, and you are going to get strong resistance.
The implications of this for businesses are significant, especially those targeting consumers. Any product or service which trades one thing for another is going to have tough sledding compared to a product or service which gives you something for nothing.
Media companies are finding this out the hard way. Consumers do not want products with strings attached. They are used to buying something, and owning it, and having complete freedom to do with it what they want. Any kind of restriction is taking that freedom away, and is going to piss people off. It isn't just that they won't buy the product or service - although they won't - it's that they're actually going to be insulted and angry. Look at the way consumers have reacted to DRM. ("You mean I buy it, but then I can't do what I want with it?")
Consumers don't do a logical calculation and say, okay, I get it, I pay you $X and get Y product with Z strings attached. No. They say, no way, if I give you $X for Y product I expect zero strings attached. Don't take my freedom! I hate losing something!
From Sailing Anarchy, a great blog (which unfortunately does not have permalinks):
Is this the largest fleet for a World Championship? 175 505's are registered for the CSC 2005 505 World Championship in Warnemunde, Germany! And yes, they will all be racing on the same course, at the same time. Team USA is 10 boats strong, and I think it's noteworthy that Howie Hamlin and Cam Lewis are sailing together again, with a combined age of about 100! On the other side of the spectrum, California high school sailing phenom, Parker Shim, has bought a boat and will also be competing.
Can you even imagine 175 505s on one start line? Good thing they use a rabbit start. I would not bet against Howard and Cam, man, what an all-star team!
A 505 start
The boat on port tack is "the rabbit", everyone else starts on starboard and must duck the rabbit.
Typically the rabbit is the boat which finished 10th in the previous race.
I sailed in the 505 worlds at Kingston, Ontario, back in 1990. "Only" about 100 boats. We sailed our asses off and finished about 40th. I really think boat-for-boat the 505 fleet is the strongest in the world. If you win the 505 worlds, you're my hero.
Archive: August 25, 2004
Archive: August 25, 2003
I'm back. Sorry I was gone. I was, er, coding. And stuff...
So - important news first - HAPPY 10TH BIRTHDAY to my wonderful daughter Alexis. Ack, another pre-teen!
And - more important news - HAPPY DRIVERS LICENSE to my wonderful daughter Jordan. If you're driving in North Los Angeles, you've been warned :)
Last Saturday I took Alex and her friend Katherine to Six Flags Magic Mountain.
They had a terrific time, and I had a great time watching them.
(Also I got a chance to read a lot of Altered Carbon, which is really good.)
Magic Mountain is big and is pretty much just a collection of really tall really fast really scary roller coasters, each taller and faster and scarier than the other. The exact reason why being accelerated around and scared in a roller coaster is "fun" escapes me, but apparently it is; there were a bunch of people there.
And incredibly a bunch of really fat, really ugly people.
Why the guests at Magic Mountain this previous Saturday should have been SO fat and SO ugly, I cannot say, but it was a fact. Strong evidence that Americans are overweight for sure.
(And what a burden for the roller coaster designers!)
(click for larger map)
Want to know who's running for governor in California? Chris Heilman provides a list...
If you think government isn't completely out of hand trying to take responsibility away from people, you aren't paying attention. (Go directly to Bill Whittle's latest, Responsibility.) Here's the latest incredible example, California lawmakers OK soda ban for some schools. We have a $38B deficit and our lawmakers are worrying about this. Man, I am not making this up, but I wish I was. Help!
P.S. I recently learned than in Utah it is illegal to serve hamburgers medium rare. Are you kidding me! Clearly people over 30 should be dead =0
The Motley Fool considers Tivo, and finds it worthy (based on being the leader in a big new market). Interestingly they compare it to Netflix, which though a successful company I consider to be at the trailing edge. On the other hand, "never underestimate the bandwidth of a truck full of DVDs...".
And check out this interesting article by Tivo founder Jim Barton, about how they use open source software like Linux.
This site is terrific! Insultingly Stupid Movie Physics. A detailed exposé of all the strange stuff that passes for reality in movies. Reminds me of that great line: "It would cost less to send a man to Mars than to make a movie about it." (Not to mention, in real life the physics would be better :)
Tonight I tried to see Tomb Raider 2. Had to walk out. You would think watching Angelina Jolie bounce around would be entertaining enough, but you would be wrong. This has to be one of the worst movies I've ever seen the first half of. People say the first Tomb Raider movie was worse, which is impressive, it is hard to believe anything could be worse.
Ever wonder why fireflies blink in unison? Or crickets chirp? Well, A New Science Looks at Things in Sync. Cue the Police, "With one breath, with one flow, you will know, Synchronicity..." [ via Ottmar Leibert ]
Speaking of Ottmar, he explains why he will not use a conventional copyright on his next album.
Mercury News reviews The Concert Companion, an off-the-shelf Sony Clie loaded with special software so that audience members at classical concerts can figure out what's going on in realtime. Wow, what a cool use for a PDA!
Nicholas Wade considers The End of Evolution. "...the one safe prediction about the far future is that humans will be a lot further along in their evolution." Hmmm...
GNXP wonders Why do Americans fear Nuclear Power? I've wondered the same thing, many times. In fact I'm puzzled why nuclear power isn't a favorite of "greens" everywhere. There is some danger, sure, but on balance it is cleaner and less destructive of Earth's resources than any other source of entropy.
Oren's Laws of Microsoft
- You can always see them coming.
- They never get it right the first time.
- They never go away (unless the market is proven not to exist).
There's actually at least two counter-examples to (3): tax preparation software (they tried with TaxSaver and couldn't dent Intuit's share, so they gave up), and bill payment processing (they tried with Transpoint and couldn't dent CheckFree's share, so they gave up).
There's more, but I'll save it for later. Thanks for making it all the way through :)
Correlation vs. Causality
The Tyranny of Email
Aperio's Mission = Automating Pathology
Try, or Try Not
Books and Wine
God and Beauty
Moving Mount Fuji
Rock 'n Roll
IQ and Populations
Are You a Bright?
The Joy of Craftsmanship
The Emperor's New Code
The Return of the King
Religion vs IQ
In the Wet
the big day
solving bongard problems
the nuclear option
estimating in meatspace
On the Persistence of Bad Design...
Texas chili cookoff
almost famous design and stochastic debugging
may I take your order?
New Yorker covers
Death Rider! (da da dum)
how did I get here (Mt.Whitney)?
the Law of Significance
Daniel Jacoby's photographs
the first bird
Gödel Escher Bach: Birthday Cantatatata
Father's Day (in pictures)
your cat for my car
Jobsnotes of note
world population map
no joy in Baker
where are the desktop apps?