If you don’t know me well, here are two things to know: I am conservative, and yet I like reading the New Yorker.
One of the joys of a Sunday morning home after travel is perusing the stack of magazines that arrived during the week. I’m a digital guy and I read on my Kindle all the time, but I’ve tried reading magazines on my iPad and it just doesn’t have the same … something. I like the paper versions. Maybe it’s because the wind on my balcony flutters the pages and my cat attacks them. Anyway.
My favorite part of the New Yorker (well, next to the cartoons) is the reviews. The reviewers are smart, entertaining, thought-provoking, and occasionally even point the way to an interesting book, movie, or band. Adam Gopnik is a feature writer but often takes his turn on book reviews, and so it was this week, in a review entitled “The Illiberal Imagination”. (The online version is titled “Are Liberals on the Wrong Side of History?”, a more accurate but less imaginative recasting.)
In this review – it takes several table-setting paragraphs to discover – three books are reviewed; Pankaj Mishra, “Age of Anger”, Joel Mokyr, “A Culture of Growth”, and Yuval Noah Harari, “Homo Dues”. And while the books are indeed reviewed, and well, they merely provide three views of a common theme, Gopnik’s true aim: an introspection into why different cultures make progress at different rates.
Is liberalism the best approach? (In the classic sense of fostering and enabling changes, not in the current political sense of government-funded pseudo-socialism.) Or is conservatism, in the classic sense of resisting changes and doing things a prescribed way. Or – and this is Gopnik’s thesis, with which I agree – is the best approach a mixture, in which the change of liberalism exposes new things, and conservatism then “locks in” the ones that work. Philosophical Darwinism.
What makes science so successful – in the sense of this article, the sense of “progress” – is that scientific progress monotonically increases, with new theories being propounded, new ways to validate them, and new ways to build on what has come before, but always moving society forward. The side note to the discussion of all these books is that the scientific method works best for cultures too, even if they don’t explicitly acknowledge it. Quoting Mokyr in “Culture of Growth”: “the true elite of modern societies is composed of engineers, mechanics, and artisans – masters of reality, not big thinkers.” That seems exactly right.
This jibes nicely with some recent reflections on venture capital and startup culture, triggered by a recent trip. Startup culture is inherently liberal, always looking for change, better ways, different things, and new opportunities, somewhat regardless of risk. Venture capital is inherently conservative, locking in the best changes, the ratchet which monetizes progress and makes it possible – and in fact provides the motivation for those taking on the risk. It’s a circle of life – today’s LPs investing in VC funds are yesterday’s successful entrepreneurs. The job of culture is to make this productive dance possible.
This applies in all areas, for example, when considering how best to improve the practice of medicine and the economics of healthcare, it seems best to try fostering this type of progress – the interplay of liberal change and conservative locking in of improvements – rather than forming a panel of thinkers to dictate improvements. Throughout the world governments have locked in suboptimal systems, and the solutions to the sub-optimality are often prescribed rather than evolved. Taking a step back and letting many things happen seems better.
A recent Forbes story, about doctor burnout, is a classic example, and illustrates the light at the end of the tunnel: in it, a beleaguered "Dr X" and his partners were able to innovate by starting their own direct-pay clinic. In fact, having read them more or less consecutively on the same morning, the Forbes story and the New York Times book review seem to be about the same thing: Which cultural models are best for enabling people to work cooperatively and make progress.
These models work for computers too. Two weeks ago my company InTouch hosted Jeff Dean of Google, who subsequently gave an inspiring talk at UCSB about the progress being made in machine intelligence. The approaches which work best are neural networks, which are not rules-based or prescriptive; instead, they “discover” solutions iteratively, by processing lots of data which feed back into the network. At first the a neural network is open – liberal – but as data flow through it becomes more closed – conservative – as it “locks in” the best inference paths. This model works, and it even works on a meta level; neural nets are now being used to optimize themselves as well as to accomplish specific tasks.
This is a long musing – even for me, you are thinking – but one more data point to note. Last week my Engineering team held a hackathon; it broke itself into ten five-person teams, each of which had a little over one working day to create a “hack” with the theme “Expanding the Network”. I was blown away by the cool ideas which surfaced; the liberalism of engineering! Hopefully we can “lock in” some of those ideas and convert them to products; the conservatism of business :)
Day two of reblogging, still just possibly back. Thanks for the "welcome back" emails though, very nice.
These are tough days at the Economist, who have seen Brexit, Theresa May, and now Donald Trump all happen in opposition to their wishes; they are apparently going the way of the New Yorker, doubling down instead of trying to understand. Sad, actually.
Spengler (David Goldman): Fake News, Failed States, and 'America First'. "One would have thought that a 90-day suspension of immigration from seven countries with minimal economic ties to the United States would be minor news. It has to be the best thing an American president has done since Ronald Reagan told Gorbachev to tear down the Berlin Wall, because all the people I dislike have gone bat-guano crazy." Only thing is, in my case a lot of the people I like have gone there, too... (not to mention a couple of the magazines I like...)
But this is why I still read the New Yorker: Daniel Dennett's Science of the Soul. Dennett is one of my very favorite authors, going all the way back to The Mind's I, and including Darwin's Dangerous Idea and Consciousness Explained. A great article.
Daring Fireball reports Upcoming is back. So be it. An interesting restart; they were launched in 2003 (before Facebook), acquired two years later by Yahoo, and shut down in 2013. And now they're back as an independent. Yahoo must have done this to tens even hundreds of little businesses, so sad.
I haven't been blogging, but I noted Apple's crappy year in 2016, did you, too? Of course they are still an amazing company with amazing products, and one of the most valuable in the world, but they did not release a lot of interesting stuff. That might mean they've lost their mojo, or it might mean the next iPhone is around the corner :)
While I was out: The circus is over. It appears that the long decline was hastened by elimination of elephants; a key draw, but one which raised the ire of animal activists.
In the New Yorker: A.I. vs M.D., a musing on the nature of diagnosis and the prospects of machine intelligence, from Siddhartha Mukherjee, author of The Emperor of All Maladies, about cancer, which won the Pulitzer Prize. It defies TL;DR-ing but I think you will find it worth a read.
While I was away, and ongoing, there has been a debate in the blogosphere about blogs and blog-like sites such as Medium and Tumblr. In the background of this, to tweet or not to tweet, and the role of Facebook. John Battelle thinks we got it right the first time, and then we fucked it up. I agree, but who is "we", John, some of us have kept right on blogging :)
And finally, congrats to Phillipe Gilbert, who won today's Tour of Flanders in a blazing solo attack with 55km to go! Unbelievable, a race for the ages, with "everyone" present - Peter Sagan, Greg van Avermaet, Tom Boonen... nobody wins with a 55km attack, ever. Wow.
Hi everyone - it's April 1, so this will be the one day where we question everything and try to figure out if it's actually true. In other words, this is the one day we are not fools! Have a great day :)
I'm delighted to report that early this morning DeeDee Jonrowe finished her thirtieth #Iditarod, pulling into Nome in 31st place at 5:10AM, after ten days on the trail. This wasn't her fastest or her highest place, but she finished with 15 dogs, the largest team still running, and she finished! As noted earlier she suffered from severe frostbite earlier in the race, during those cold early days along the Yukon (-40F!), and despite being among the leaders into Huslia, the halfway point, was never able to recover. Congratulations to her for persevering and finishing, wow.
DeeDee signs the finishing register
(note her fingers!)
Speaking of persevering and finishing, I highly recommend Beyond Ophir, a book by longtime Iditarod musher Jim Lanier, which I've been reading as a delightful companion to the 2015 Iditarod. It chronicles his first Iditarod, way back in 1979, and is a wonderful collection of stories of a life well led in the wilds of Alaska. Jim is a retired pathologist (!), and this year at age 74 was the oldest musher in the race. I was sorry to see he scratched yesterday in Unalakleet, due to "musher illness".
And so ends the 2015 Iditarod (for me at least, there are over 30 mushers still "out there", and the Red Lantern Cindy Abbott has only just checked into Unk). Each year at the end of the race I have this sad feeling of leaving a strange and cool little world and returning to "the real world", until next year. Onward!
Oh, and some final pictures...:
Ken Anderson in the Nome stretch
Martin Buser mushes down Front Street toward the burled arch
Hi y'all! Well I haven't posted here for a while - a long while - my last post was in January, right after I'd moved physically. The truth is that without meaning to I've moved digitally too ... to Facebook.
Over the past six months I've become a daily Facebook poster, and while I don't really do my "linkblog" thing there (yet!), the best way to keep up with me is to subscribe to me there. Everything I post to Facebook is public, and while it isn't necessarily the most interesting stuff on the 'net, you're welcome to read it :)
The pic above right is one of my favorite moments from one of my favorite movies, the Social Network. Right after they've "gone live" they email a bunch of friends to tell them about it. And Mark Zuckerberg's character says "the question is, who are *they* going to tell?"
The background truth is that I'll go back to blogging "someday", I do miss it. But I've been super busy at Aperio with a massively interesting project, and involved in two startup companies as a consultant, and have done a little vacationing here and there, and have been cycling a lot, and ... blogging has fallen off my daily todo list. But please stay tuned and please follow me on Facebook in the meantime :)
April came in like a lion for me; was in Boston where I enjoyed an April Fools storm. Came back last night and here I am, in warm and sunny Los Angeles, blogging away... Yay.
Flew back on Virgin America, on a brand new plane. First commercial flight. The pilots celebrated by gunning it down the runway, it fairly jumped off the ground. That was fun. Plane has airbags, iPod holders, and nicer headrests, all enhancing the already enhanced Virgin America experience.
While in Boston rented a Ford Fusion. Not a bad little car, nice looking, comfortable, drove well. I am so rooting for Ford, unlike GM they are NOT Atlas Shrugged motors.
The GPS in my Palm Pre is infinitely better than any in-car unit, and 100% competitive with any handheld unit. Even down to having realtime traffic. Love it.
My "new" Kindle 1 arrived. Perfect condition, I love it. eBay sellers' customer service is awesome. (Thanks!)
While I was out, got a giant shipment of light bulbs from bulbs.com, and some batteries from batteries.com. Honestly how did we do this before the Internet?
Also while I was out, received new memory for my laptop (from memory.com), am now running 8GB. Perfect for several concurrent VMs. It was, like, $200. Amazing.
So the final tally is in for my for a teen: iPad vs Macbook survey; Macbook won in a landslide, 80% to 12%. So be it. Still most of you voters are already computer users, while iPads are the computer for the rest of us :)
Amazingly and surprisingly, I realized I have no idea who is in the Final Four, and was only dimly aware it takes place this weekend. Wow and in years past I was all over this. No #1 seeds! No #2s either, one #3 and #4! Wow. UConn, Kentucky, Butler, and Virginia Commonwealth (!) ... I guess I'm going to root for Kentucky. Just because.
BTW: ESPN's website sucks. Too much glizty crap and auto-video. Almost impossible to find the bracket!
The real big sporting event is tomorrow's Tour of Flanders. Can't wait! Onward, have a nice weekend...
Well I made it! A great flight via Amsterdam to Brussels - thank you, KLM - and a little drive in a micro-Peugeot diesel, and here I am, in Ghent, Flanders, ready to ride the Tour of Flanders (aka Ronde de Vlaanderen) tomorrow. I just ate the world's biggest pasta dinner and have been drinking as much as I can to prepare. Sleep will be good too.
Most gratifyingly I have been treated like royalty for having come all the way out here from California to compete. There are over 3,000 entrants! Whew. And it is raining, and windy – perfect crappy Belgian weather for this race. I cannot wait – and I won’t have to long, ‘cause the start is at 0600 tomorrow. It’s 260km (about 150 miles) with 15 short steep hills and 8 sections of nasty cobbles. I think it will take about 10 hours, we’ll see how many of those 3,000 Europeans I can hang with :)
At right is a picture of me checking in for the ride, with my rented bike. It looks pretty cool, sturdier than a standard racing bike, better able to take the cobbles I guess. I brought my cleats and pedals and they popped right on. Well that's the news, please keep fXf for me and stay tuned for a full report!
Greetings, blog readers! And there are many of you today, as I see that once more StumbleUpon are featuring several of my posts. Do not be frightened by what happens here, nobody gets badly hurt. So today I had a nice quiet day of work: several presentations, a few bugs, some design reviews, and a bit of coding; the usual mix. And then escaped for a nice ride through Hidden Valley, and then attended my homeowner's association board's meeting (I am an elected member) and spent several hours discussing unleashed dogs in the park, and whether a neighbor should be allowed to park their RV in their back yard. Oh, and then blogged... so, onward, let's make a filter pass, shall we?
TheScientist asks an excellent question: Why Sleep? The two main theories: 1) crystallization of sensory information into memory, and 2) replenishment of resources. I have my own weird theory, unsupported by evidence, that the mind needs down time for prospectively trying out "what if" scenarios.
Isn't is weird how yawning is contagious? I keep looking at that little baby, and I keep yawning. Yawn...
Farewell "mark to market", we hardly knew ya: Did DE-regulation Just Turn Around the U.S. Economy? My friend Peter has been saying this was the key to an economic turnaround, it will be interesting to see if he's right... (he did call this whole "toxic asset" thing dead on...)
Looks like the Palm Pre is going to be able to emulate classic Palm apps... that is really cool. It not only shows market smarts but technical proficiency. I'm sure just about all the functionality available in classic apps will be rewritten natively for the Pre given time, but in the meantime people like me now have no barrier to upgrading. I want my Pre!
Apparently Google is about to buy Twitter. So be it. I'm sure they'll turn the Twitterverse into a gigantic conversation to be searched and indexed, and we will learn ... nothing from it.
Robert Scoble thinks this is the worst thing for Twitter. "Remember, Google is the company that bought Jaiku and then did nothing with it. It’s the company that bought Dodgeball (a company that had a service very similar to Twitter that was out before Twitter). And did nothing with it (the founders of that company also wrote a “we’re leaving” letter to Google.)" Yeah, not to mention, this is the company that bought Blogger and did nothing with it.
Okay, I’m going to date myself here. I’m 49 years old, and I started programming in Junior High, when I was 13, so my story begins 36 years ago. The dawn of time, metaphorically speaking.
Back then, I didn’t have to walk to school barefoot in the snow, uphill both ways, but I did have to learn programming by submitting batch decks of cards. Yes indeed. My school had a deal with Northridge University whereby students could mail a deck in, they would run it, and then mail back the results. I’m talking about snail mail, postman knocks twice and delivers once a day kind of mail. Oh, and of course I didn’t have a card punch, so I hand bubbled the cards. Yes, I do still remember Hollerith codes, thanks for asking.
Okay, so there I was, writing FORTRAN programs by hand-punching cards, and then waiting a week while the deck was mailed to Northridge, and I’d get the deck back with a pile of greenbar. Now in this environment, a typo was expensive. We’re talking a week wasted expensive. Furthermore trivial bugs were not inconvenient, they were infuriating. There was a big payoff in being careful. Every program was laboriously written out (graph paper, baby) and then carefully desk checked, and then hand-punched, and then run. Which could bring me to my point but it won’t yet.
Later I advanced to driving over to Northridge and using their card punch machines, but it still took hours to run a deck before you got your pile of greenbar, and it was still well worth carefully desk checking before submitting. Aside from the lost time, resubmitting the same deck over and over was embarrassing.
Later I advanced to using a PDP 8, with a 110 baud teletype. (If you want to know why I type so “hard”, it’s because I learned to type on a TTY where the keys had an inch of travel and required about 10lbs of force.) I used a line editor and the TTY spit out hardcopy on greenbar. Any kind of problem and you were wasting serious amounts of paper and time, so it was definitely worth desk checking before typing in a program.
Later I advanced to storing my programs on paper tape. Yes, I do remember Baudot codes, thanks for asking. You didn’t really want a typo in a paper tape, because editing was a bit lame. You copied the tape to another tape up to the spot of the change, made the change, and then copied the rest of the tape. Really. Any bugs were not only annoying, they wasted frightful amounts of time, not to mention tape. So yeah, desk checking was definitely the thing to do.
Later I advanced to using a “glass TTY”, a green and black 24x80 CRT. Man, what an advance! I could actually edit programs interactively – a line at a time – without cards, printouts, or paper tape. Still, it took time to enter programs, and more time to fix them, and it wasn’t like there were debuggers or anything; this was the original “printf” debugging environment. So it was still very beneficial to desk check code before running it. As in, print it out, read it, look at it, analyze it, convince yourself it was really going to work, and then type it in.
Later I advanced to using full screen text editors – in fact, I wrote my own at first – and man was that nice. You could actually read the program on screen instead of working from a printout. Of course, you could only see 24 lines at a time, so it definitely encouraged tight code and small modules. (Want to know why I put comments at the end of lines instead of on separate lines – now you know :) And it was still a bit tricky to fix stuff, and still hard to debug – lots of paper later, you finally found the error on line 781, or line 78,100 - and so desk checking was still the thing to do.
Okay, okay, you get it, I’m a dinosaur, I’ll get to the point.
So today I have a huge LCD monitor with an amazing visual interactive tool like Visual Studio where I can have hundreds of modules all up at the same time in a color-coded full-screen interactive environment. I can compile in seconds to find typos, and debug interactively to find logic errors. I never ever print anything out anymore. (In fact when I do have paper, I scan it in.) To write code I just look at my screen and start typing, and to fix code, I just look at my screen some more and type some more. So now, finally, I‘m done with desk checking, right?
I desk check everything. Thoroughly.
And this, to me, is a major league black art which is lost to all those who didn’t have to hand-punch cards and wait a week for their deck to run. It is a lost art, but an essential art, because all the tools which make entering code and editing code and compiling code and running code faster don’t make your code better.
Desk checking means carefully reviewing everything you’ve coded, running the code in your head before you run the code on your computer. It means pretending you’re the compiler, and pretending you’re the CPU. It means thinking about what is really going to happen, what are the boundary conditions, what are the possible error conditions. What are the real world data going to look like. It means you spend an extra five minutes or five hours so you don’t have bugs later. And it is really important.
You cannot possibly find all the problems in a program just by running it. For one thing, there are problems where the code is wrong, but it still produces the correct output. There are problems where the code is unmaintainable, or incorrectly factored, or encapsulation is violated. There are problems were there is dead code that is never executed. There are problems where the style of the code is wrong, even if the code itself is right. (Gack!) There are problems where there are error conditions which are impossible to simulate so you can’t test the code. Even if you step through the code one line at a time, carefully, you won’t take all the possible paths through the code.
Back in the day, desk checking saved a lot of time. Weeks even. And guess what? It still saves a lot of time. Weeks even.
The best way to write clean code is to relax, load up the code, full-screen, turn off all distractions (crank some Zeppelin), and just read through the code, one line at a time, one function at a time. You’ll probably find a lot of little things which can be polished, adjusted, fixed, improved. Most of them might not even be visible to a user, but the code is better for it. If you spend a day writing some code, spend an hour desk checking it. And when you finally do run the code, you won’t just hope it works, you’ll know it works.
Yep, even 36 years later, desk checking is well worth doing.
Welcome to the April Fool's edition of Critical Section. And no we don't suffer fools gladly or even at all if we can help it; you won't find anything foolish here. In fact, let's see what's really happening, shall we?
Powerline skewers House Democrats' Incoherence. "Today House Democrats appealed to ignorance, in their usual fashion, by summoning executives from the five biggest oil companies to berate them for high gasoline prices. This is fundamentally stupid in at least two respects... First, these same Democrats purport to be worried about 'global warming' and committed to taking strong measures to combat it... Second, if you really want the price of gasoline to fall, there is only one way to achieve that goal: increase supply." One wonders if they just don't get it, or just hope that we don't...
Some excellent news from Ottmar Liebert: his new album is almost done. That it, almost done as in released, it is truly done as in recorded. I cannot wait.
Congratulations to Dave Winer on 11 years of Scripting News! Not only blogging pretty much continuously the whole time, but great blogging. We don't always agree but I always find what he has to say interesting and relevant, which I can't say about very many others. Best wishes for the next 11 and beyond!
Kerry: I mean, there are countless numbers of things that we could be doing to enhance the world's view of us and to minimize the kind of anger and ...
Lileks: We stopped pretending we would ratify Kyoto. We only spent $15 billion on AIDS in Africa. We did not take dictation from Paris. If we had done these things, it would minimize the world’s anger. Is the world angry at Russia, which spends nothing on AIDS and rebuffed Kyoto? Is the world angry at China, which got a pass on Kyoto and spends nothing on AIDS for other countries? Is the world angry at North Korea for killings its people? Angry at Iran for smothering that vibrant nation with corrupt and thuggish mullocracy? Angry at Syria for occupying Lebanon? Angry at Saudi Arabia for its denial of women’s rights? Angry at Russia for corrupt elections? Is the world angry at China for threatening Taiwan, or angry at France for joining the Chinese in joint military exercises that threatened the island on the eve of an election? Is the world angry at Zimbabwe for stealing land and starving people? Is the world angry at Pakistan for selling nuclear secrets?
Ed Ring in AlwaysOn: Gerrymandering must go. "Because of gerrymandering, everything the U.S. Congress and every state legislature does is overwhelmingly influenced by representatives who got there by winning their primary, not their election." Another bad side-effect of two-party politics...
Doc Searles got fooled properly. After reading about Google's Gmail announcement, he posted "Look at all the people who didn't get this joke". Then he got a phone call: "Doc? Yes. It's not a joke. You're kidding! No. It's not a joke." But Doc was wrong, it is a joke :)
Final Google note: John Battelle notes Google's S1 filing (for an upcoming IPO) includes this detail: "The employee stock option plan, long believed to be the impetus to a public filing, has been dumped in favor of a private shadow equity plan modeled after the Economist magazine. 'It's the only magazine we read that hasn't put us on the cover,' Page explained. 'We kind of hoped this hat tip might change that.'" [ via Mark Frauenfelder ]
Timothy Sandefur recalls Richard Feynman: "Today on the freeway, I drove behind a car whose license plate was 3SVD543. Can you imagine how small the chances are of that happening?" A perfect illustration of Littlewood's Law of Miracles, and the role of sequence in determining probability.
After posting this, I saw Bigwig's post with the same thing. What are the odds? :)
Speaking of life in the universe, NASA is hosting the third annual Astrobiology Science Conference. The Scientist notes: "The conference, which drew more than 700 participants, focused on three questions: 'Where do we come from?' 'Are we alone?' and 'Where are we going?'" So how small are the chances of finding extraterrestrial life? After we find it, the probability will be 1.
If you're interesting in virtual microscopy (you know who you are), you might find Apparent Magnification interesting.
John Gruber takes on Eric Raymond: Ronco Spray-on Usability. "UI development is the hard part. And it’s not the last step, it’s the first step." Exactly. I know UI design isn't for everyone, but this is exactly like managing people; many engineers can't do it, so they assume it is easy and worthless.
If you're a blog newbie, you might enjoy Kinja, "a weblog portal". This is some kind of online aggregator. I don't think this will be much of a thing; desktop aggregators are really the way to go. Kinja is to blogs as Hotmail is to email.
This might get me to watch TV: Masters of Disillusionment. "Last year, the show took on topics as varied as creationism, bottled water, secondhand smoke, and alien abductions, in each case setting out to set things straight." I love it. Now adjusting Tivo, stay tuned...
Medicine has two parts – diagnosis, and treatment. Medical diagnosis has become highly automated. However, one area of diagnosis remains highly manual – the discipline of pathology.
Pathology is the study of disease; its causes, processes, development, and consequences. Over half of all medical diagnosis is performed by pathologists, and most pathological diagnosis is performed by manually inspecting fluid or tissue specimens with a microscope.
There are two kinds of specimens prepared for microscopic inspection. Cytology is the study of fluid specimens. Histology is the study of tissue specimens.
A cytology preparation is a “smear” of liquid, such as blood, embryonic fluid (amniocentesis), cervical fluid (pap smear), lymphatic fluid, etc. spread onto microscope slides. The smear is stained to provide visual contrast for cells suspended in the liquid, and to highlight abnormal conditions, such as metastasizing cancer cells. A cytologist visually inspects slides looking for “things which are wrong”; a rare event detection process akin to searching for a needle in a haystack.
Histology preparations are thin slices of tissue which are “floated” onto microscope slides, then stained and fixed. The stain(s) provide contrast to show tissue structure and cell details, and to identify distribution of proteins such as antigens. A histologist visually inspects slides looking for abnormal “architecture”, cells which exhibit unusual morphology, and to gauge the proportion and density of staining.
Automating pathology would yield two major benefits:
1)Time savings. Improve speed of diagnosis and productivity of pathologists.
2)Accuracy. Reduce false negatives and improve precision of measurements.
Each of these benefits translates directly into cost justification for investment in new technology. There are three steps to automating pathology:
1)Digitize slide data. A device must convert the visual data on a slide into a digital image at high resolution and with no image artifacts.
2)Manage “virtual slide” images. Digitized slide images (“virtual slides”) are very large. A system must store, retrieve, and display such images, and provide remote access.
3)Automate slide analysis. Create software which performs repetitive tasks such as rare event detection, assay quantification, and tissue classification (pattern recognition).
The Technical Obstacles
Since pathology is such a large and important part of diagnostic medicine, and since it remains highly manual and therefore represents a substantial opportunity for automation, what has kept automation from being adopted? There are several severe technical obstacles.
First and foremost, to automate pathology it is essential to digitize slide data. There are several practical obstacles to doing this efficiently at high resolution:
nThe amount of data captured is very large. A typical pathology specimen measures 15mm x 20mm. At 400X magnification (using a 40X objective lens) the required image resolution is about .25µ/pixel (µ = micron = 1/millionth of a meter). That means the digital image of a typical specimen measures about 80,000 x 60,000 pixels, and contains about 14.4GB of data. That’s big.
nMaintaining accurate focus is quite difficult. Although a microscope slide appears “flat”, at sub-micron resolution it is actually full of hills and valleys. The “depth of field” of a typical high resolution microscope is about .2µ, and the hills and valleys of a sample can be 10µ high. There may also be a persistent “tilt” to a sample which can be as much as 100µ. So digitization of a slide sample requires constant and accurate focus adjustments.
nElimination of optical artifacts is crucial. The usual approach to digitizing slides has been to take a picture of a microscope’s field of view, move over, take another picture, move over, etc. This is called “tiling” and results in thousands of pictures which must be “stitched” together to form a complete image of the specimen. Tiling is not only quite slow (it can take hours) but it also yields significant seam artifacts.
Secondly, automating pathology requires a system to manage “virtual slide” images. As noted above, virtual slides are very large. An automated pathology system must efficiently store and retrieve very large image files, and must support the following capabilities:
nRapid panning and zooming. This capability is essential for viewing; pathologists typically view slides at low resolution and zoom in and out on “interesting things”. Virtual slides are too large to be loaded into a computer’s memory, so careful data organization is required to support direct access to any portion of a virtual slide, at any level of zoom.
nIncremental remote access. Sharing slide data over computer networks is a key benefit of automating pathology (“telepathology”). Because virtual slides are too large to copy easily, the system must enable incremental transmission of slide data for remote access.
nDatabase storage for metadata. Each pathology specimen has critical metadata associated with it; patient information, case notes, preparation notes, etc. These data must be stored in a database associated with the virtual slide images to enable rapid searching and maintenance. Annotation capabilities are likewise essential; annotations become part of the medical record associated with an image and must be managed by the database.
Third, automating pathology entails automating slide analysis. There are several important technical obstacles to doing so:
nProcessing time. As noted, virtual slide images are very large. Computer analysis of very large image files must be performed efficiently and in a distributed fashion.
nVisualization of results. Slide analysis results must be displayed in a fashion which facilitates interpretation by pathologists and aids their diagnosis.
nPattern recognition. Sophisticated pattern recognition techniques are needed to identify “things which are ‘different’” as well as “things similar to things seen before”. The usefulness of automated analysis depends directly on the accuracy of pattern matching.
Aperio Technologies has developed solutions for each of the technical obstacles described above, enabling – for the first time – the automation of pathology.
Digitize slide data
Aperio has developed the ScanScope®, a revolutionary device which can digitize entire slides at high resolution in minutes. It is based on patent-pending methods that combine a linear array detector with high-performance opto-mechanics. The ScanScope uses the same type of camera used in satellite photography; the scanner essentially “flies over” the slide, acquiring linear stripes of image data. The optical focus is automatically adjusted hundreds of times per second, yielding accurate focus over the “roughest” specimen terrain. The ScanScope is much faster than “tiling” systems, and crucially the resulting images have no optical artifacts.
Manage “virtual slide” images
Aperio’s platform software is a patent-pending “operating system” for virtual microscopy. It controls the ScanScope hardware, compresses virtual slides into a standard image file format, stores virtual slides in a standard database format, coordinates remote viewing of virtual slides, and supports virtual slide analysis. A file format has been devised which supports JPEG2000 wavelet encoding of image data, yielding a 20:1 reduction in file size. This format supports rapid panning and zooming to any portion of the virtual slide. Aperio has created a network transport mechanism to incrementally transmit slide data efficiently over wide-area networks, enabling remote viewing and analysis of slide data. A standard SQL database is used to store slide metadata, including annotations and automated analysis results.
Automate slide analysis
Aperio has developed a simple yet sophisticated architecture for automated analysis. The “algorithm framework” includes facilities for incremental access to slide data at any level of zoom, parameter processing, progress and result reporting, and distributed processing (“grid computing” for slide analysis). The results of algorithmic analysis are displayed as “overlays” on slide images, making interpretation straightforward and facilitating pathological diagnosis.
Aperio has developed several end-user applications which build on this framework to provide computer-aided-diagnosis:
TMALab - specialized software for the analysis of tissue microarrays (TMAs).
Rare event detection algorithms for finding metastasizing cancer cells in blood, and locating metaphase-spreads in amniocentesis and bone-marrow specimens.
Image analysis algorithms for quantitative analysis of immunohistochemistry (IHC) assays, including her-2 expression for breast cancer.
Novel pattern recognition algorithms based on featureless heuristics. These algorithms support content-based image retrieval and can quickly detect “known” patterns as well as flag “new” patterns.
Each of these solutions overcomes serious technical obstacles in novel ways. Automating pathology is a clear opportunity, and Aperio has the technology to make it possible.