Monthly Archives: February 2007

Jeff Wall in the Times


That Jeff Wall. He’s so hot right now.

Few photographers get two articles in the Times in as many days. On Saturday, the obligatory biographical sketch and introduction to the MOMA exhibit. Yesterday’s Times Magazine cover story is long, and I haven’t read it yet. But I share these articles with you becuase Wall is among the most influential living photographers, and it would be a shame not to read them when you have a chance.

If you have no time for words, see the Tate’s online exhibit from last year. It’s a fantastic multimedia tour de force. I wish more museums did this.

Posted in OPP, Photography | Leave a comment

Reverse-Engineering the Human Visual System

On Monday — just before staffing The MathWorks’ booth — I attended Maria Petrou’s plenary session: “Reverse-Engineering the Human Visual System.” I found it rather interesting, though it tried to cover too much ground for one hour.* Nevertheless, it was quite interesting to ponder how we can use our understanding of the human visual system to perform better digital image processing.

Among the more interesting ideas:

  • There’s a difference between vision and perception. One concerns stimuli, the other processing. One is well-modeled; the other was the reason for the session.
  • The rods and cones of the eye are not located along a grid. It is possible to use normalized convolution to produce acceptable images from a random sample of as few as 5% of the pixels on a regular grid, approximating the visual field. It’s possible to do even better by mimicking the distribution of cones, which are most dense around the fovea.
  • The human visual system performs a form of edge detection in the visual cortex. The principles of these saliency maps can be applied to digital image processing. (For example: Plinio and Li Zhaoping.)

Also of interest: Hiroshi Momiji’s Retinal Vision for Engineers.

* — Perhaps I’ve been out of academia too long. Perhaps medical imaging does less for me than in the past. Perhaps it was just an off-year at SPIE Medical. At any rate, I didn’t attend many paper sessions, but those I did hear were a little disappointing.

Posted in Color and Vision | Leave a comment

Color by Numbers

At the recent medical imaging symposium I bought myself a copy of Daniel Malacara’s Color Vision and Colorimetry: Theory and Applications from the SPIE Press. I managed to read the short monograph on the five hours of flights from sunny, warm San Diego to freezing New England.

It’s not exactly an elementary book, but it covers the mathematical basis of colorimetry. Unlike my article on color vision, Malacara draws upon a lot of research and presents the essential equations of color science — at least those that relate to color measurement.

This is one of the rare books on color vision that leaves the human visual system to the end. In fact, the cone response functions are among the last topics discussed. Instead, this short work of about 150 pages takes a more or less chronological approach to colorimetry, starting with a few fundamentals on colorful light, progressing through basic trichromatic systems (like RGB, XYZ, and xyY) and uniform color systems (such as Munsell, CIELUV, and CIELAB) before ending at color mixing and measurement.

It’s quite a good book for those needing concise definitions and equations. Many diagrams and full-color images complement tables for color matching functions and color transformation equations. In a few places the text is overly terse, and my only wish is that Malacara would have provided a bit more context around some of the equations explaining where some “magical” values come from.

But, all things considered, it’s a work that belongs on the bookshelf of anyone who works with color as numbers.


Posted in Book Notes, Color and Vision | Leave a comment

California Love

Mobile phone photographs from my recent trip to Saint Doug.

Back on the ranch, things were getting testy . . . . . . better go to California.
Near the hotel, a very fashionable mall. Inside the hotel, smokers.
Salvation Mountain (near Niland, CA) Our best view of the Salton Sea
Sunday AM: Homework by the pool Sunday PM: Hang out at Pacific Beach (with Alex Taylor and the plebians)
At the more tony Coronado Beach, some like it hot. Near the hotel, the world’s largest engagement ring store.
Our rental car Our booth at the SPIE Medical Imaging Symposium
Our neighbors from Kyoto Kagaku Their whole body phantoms love MATLAB Rubik’s cubes.
After 4:00 it’s time for the beach. Lisa was starting to get jealous . . .
. . . but sometimes it rains in San Diego. The last evening I visited my friend Patti.
Waiting three hours for my flight at New York’s JFK Charles Fiske Bingley, Esq., is glad I am home.
Posted in Travel, USA | Leave a comment

Salton Sea and Sand Dunes

I know that some of you had expressed concern about my (now recently completed) trip to the San Diego outback. But the good news is that coworker Alex and I returned unscathed and sand-free from today’s excursion to the Salton Sea.

What was the purpose of going to said inland sea, you might ask? On the way back from circumnavigating it, Alex suggested that he was going to tell everyone I took him on a tour of trailer parks. Well, kind of. And burned out and dilapidated tourism infrastructure from the 50s and 60s. (That’s the 01950s and 01960s CE, dear readers from the long distant future.) And in general to go to the desert and engage in some cultural tourism.

(I have to say that I have the deepest respect for people wherever I go, though often I don’t understand what they do and have a hard time imagining myself doing anything in their neighborhoods that doesn’t involve ethnography or journalism or craziness. I’m just a voyeur of a sort.)

I first became interested in the human landscape of the San Diego backcountry, the Salton trough, and the Imperial and Coachella Valleys after my most recent trip to San Diego in 2003 — better known as “The Trip Where I Got Stuck in the Sand.”

The year before I had visited the Anza-Borrego Desert State Park, making pretty nature pictures in the hot February sun. In the late afternoon I drove my rented car up Font’s Wash to Font’s Point for a very enjoyable but somewhat lonely sunset. Everyone had SUVs or ORVs, but my car seemed to handle the sand just fine for the short uphill drive.

Remembering this experience, Lisa told me in 2003 not to get stuck when I told her that I was going to visit the Imperial Sand Dunes — or Algodones Dunes if you’re an earthy type — after the medical imaging conference. What a silly suggestion, I thought.

I stopped briefly in Glamis, which is supposedly a town but really more of a Mad Max-esque outpost in the middle of a flat spot in the sand marked by Old Glory, the Stars and Bars, and the Jolly Roger on enormous flag poles. It’s the kind of place where you can buy gasoline for your ATV, booze for you, and welding for the resulting mayhem. Inside the BLM ranger station the bored park ranger gave me a map (more of a schematic really), a lengthy set of regulations, an assurance that my rented passenger car could go down the gravel Ted Kipf Road, and the option of buying a $20 day pass to drive on the dunes and/or stop anywhere for 20 minutes. No thanks, not necessary.

Can you see where this story is going?

My morning was good. I drove around the paved highways near or through the dunes, hiked a small nature trail at a gold mine where I learned that the cyanide they use isn’t so bad for the environment, got some lunch in Yuma, and made a plan to drive the Ted Kipf road from the south to where it ends at the highway near Niland. Lunch? Check. Map? Schematic? Check. Granola bars? Check.

I found a nice selection of radio stations to cycle through — ranchero, grandes exitos, mariachi, self-help-plus-Jesus, and good old-fashion American fire-and-brimstone preaching — and settled in for the drive paralleling the railroad tracks. It was nice. I stopped a few times to photograph the desert pavement, the brilliant desert sky, and other things. I crossed the main highway at Glamis en-route to making the final loop of my desert figure eight, and continued down the gravel road. I stopped at the “watchable wildlife” turnout, walked across the highway into the wilderness area that no one visits, and saw no wildlife. Just sand. Back in the car I passed a “railroad crossing” sign.

The road widened and disappeared into a flat plain of gravel. No railroad track in sight. Huh, must have been a railroad here once, I thought, and aimed for what appeared to be the road. Trees on my left, trees on my right along with the occasional glimpse of a railroad track. Three miles later the road became rather sandy and I wanted to turn around to head back to Glamis. But the track was now too narrow for that . . . and too sandy. Another quarter mile and I was driving with great difficulty through deep sand in my Oldsmobile Alero. I willed the car forward but eventually it failed just as I could see another wide spot a few hundred feet a head of me.

I tried backing up and going forward; I got out to look at my situation; and I started digging. First with my hands. And then with the box formerly containing the granola bars. And then with a plastic lid that probably should have been covering the valve for the drip hose keeping the BLM’s trees near the railroad tracks alive. Well, at least I won’t die of thirst. I dug for the duration of a few songs on the radio, restarted the car, and immediately had the wheels covered in sand again.

Maybe I should turn off the radio in case I need batteries later. Maybe I should put the hood up on the car. Maybe a passing airplane will notice it. I’m going to wave at that train getting ready to pass. Perhaps the conductor will radio in that some fool has broken down in the sand once he stops blowing the whistle in a panic at me. I dug for a while more and was just starting to think that maybe I should begin the 20 mile walk back toward the patriots, rebels, and land pirates of Glamis. Stupid pancreas. It’s times like this that your lack of insulin production really limits my options.

At that moment I heard ATV riders. I ran to the wide spot — not the road, just another very sandy wash — and freaked out the kid pausing on his four-wheeler. He couldn’t have been more than ten, and I think he was getting ready to ride away from the crazy man running at him, waving his arms and yelling to be heard over the sound of engines, when his dad showed up on another ATV. Five minutes later a small band of people were digging under my car with the same results as before.

“The road sure went to hell fast,” I said.

“Yeah, but you’re not on the road.”

About a half hour later, my car was yoked to two 4x4s who pulled me to a more solid surface. I got some sketchy directions about how to get back to the paved highway near Niland, and I was on my way.

A half-hour passed, and I drove through the bizzare nonplace of Slab City in the closing twilight. A few fat drops of rain hit my windshield. Another half-hour later I was eating a sandwich in El Centro overhearing one local tell another about the terrible auto accident that left him temporarily dead. A couple hours and one Border Patrol stop on I-8 later I was telling Lisa about my misadventure from the safety of my San Diego hotel. The sweet girl knew I had been through a lot and didn’t scold me for not listening to her.

This year I listened and followed directions.

Update: If you’ve found this page searching for information about a November 2007 ORV accident with a train at Glamis, consider this story from KSWT-TV.

Posted in Travel, USA | 1 Comment

Sze Tsung Leong

I’m fascinated by the images of New York-based photographer Sze Tsung Leong. Most photographs from his History Images series concern development, change, and decay (forced or otherwise). The arty Guernica magazine recently published an interview with him. (via BLDGBLOG)

(That reminds me: I’ve been giving a lot of thought to the current trend in photography concerned with transient things and mutability, often presented via detritus and disorder. A while back I actually put pen to paper to map out a bit of my thinking. When I find those notes, I’ll post them.)

Posted in OPP, Photography | Leave a comment

Photo Echo

With apologies to Aperture for the title.

David Segal in Slate asks “Can Photographers Be Plagiarists?” and then provides a slideshow with some famous (and infamous) “borrowing” from the last hundred years. (Thanks to Conscientious for reading Slate so I don’t have to.)

But “plagiarism” is such an ugly word. “Good artists borrow, great artists steal,” so they say. (The Web tells me that dozens of artists were the first to say that.) Plagiarism involves the intent to defraud, which is precisely what art does. Every photograph I make is essentially a lie. Who wants completely honest art? (Perhaps the Bechers.)

But I do think that many (perhaps most) of the photographers I know pick their subject matter or style based on those who have come before. In the dominant mode of nature and travel photography, one excels either by “discovering” new places or relentlessly “perfecting” the same places that have been photographed thousands or millions of times. (I know. I’ve been there, too. The worst part is that it feels really good when you’re doing it.)

Artistic laziness is worse than “borrowing” someone else’s image.

Posted in OPP, Photography | Leave a comment

Goin’ Back to Cali

It’s been forever since I posted some of my own photography here. I took a quick look to see if I had anything new handy, but with classes I really haven’t had any time to scan anything much less make new photographs. There isn’t even enough time to print something new for the Newton Library show.

(I know I can hear some of you already: “If I really loved photography, I would get out in the subfreezing temperatures on the weekends and shirk my homework responsibilities and . . . blah, blah, blah.” Focus, people!)

The good news is that I will fly to San Diego at the end of the week for business (ahem!) and will dust off the camera and film for the trip. Before the SPIE Medical Imaging Symposium starts, a comrade and I plan to head to the Salton Sea to take everything in. My goal is to relentlessly misinterpret what I see. (And not get stuck in the sand. I say, “This time your ass is mine, Nature. Wyoming boys are not made foolish by a bit of Pleistocene sand.” Maybe I’ll write about that on the long trip from Boston. . . .)

Posted in Photography | Leave a comment

On Life-long Learning

Some who have read my recent rambling thoughts after my software methodologies class may have the impression that I don’t like it. I can see that. And while it’s true that I would be very happy to be less bored, sometimes I can be . . . um . . . overly critical and exacting. (I blame all those critical thinking exercises from the decades I was in school.)

I think not being bored is one of the challenges of life-long learning. Unlike when we were young Turks entering our university days, we actually bring a fair bit of experience and knowledge to our studies. (To the people in my class who are old enough to have worked in the heyday of the Commonwealth’s computing industry and are taking classes to help merge back into an industry that increasingly values youthful adaptability and faddishness, I salute you and the wealth of cynicism and despair you bring to the classroom.) When I was an undergrad, I probably believed more of what my professors said as fact than I ought; after all, Alan Schrift may well be America’s preeminent Nietzsche scholar, and Arnold Adelberg had running conversations with the author of our abstract algebra textbook. I felt lucky that at the time I left Grinnell I was able to talk to some of my professors as an actual peer (albeit on a limited number of subjects).

But now I have almost a decade of industry experience to filter new information through. I appreciate that I’m in school precisely because I don’t know much about important topics and that I wouldn’t be well-served by dismissing out of hand things that run contrary to my experience. But at the same time, I’m in a graduate program to learn things that will actually help me do my job. So information that seems speculative or out-of-date — such as the trend of disparaging iterative development practices without actually having done them — strikes me as contrary to the goals of a software engineering program.

This was the current of thought that flowed beneath the surface of my notes. The Greek and the Hindi were there just to keep me awake in the more languorous moments. As was the picture of the Taj Mahal and the map of the United States a couple weeks ago. (I tend to work eastward, and it always seems to fall apart around Kentucky or Pennsylvania.) The rest of the notes were more to the point. If I had the power to edit my own classroom experience — that is, if I were going to teach the course — how would I change the presentation of the information? How would I distill the important parts of other people’s workplace experiences?

The software development methodologies course (like last semester’s testing course and my future course in project management) is difficult because engineers exists in different development mileius that encompass process activity models, testing beliefs, and project tracking methods. Picking the right model and practices is difficult (perhaps arbitrary) since each has benefits and drawbacks. And we live in a very non-dogmatic age. But most of our development organizations don’t have good practices, and we could use reasonable guidance. I’m in school to learn how to do all of these better and to learn some good construction and design techniques, yet I’m starting to see that the company where I work does most of the meta-activities better than most of my colleagues’ software houses and that we have more experience than some of the instructors.

(In my less generous moments, I suspect that I might ultimately learn as much by studying all of the really good practices we have at The MathWorks and reading the course texts to see where we could be better and how I can improve my own development practices.)

I am also trying to find the right balance between sharing potentially useful information and being a boring know-it-all who fails to see the big picture while knowing certain facts. Wouldn’t it be fun and devastatingly instructive if you could evaluate not only a course’s instructors but also its students?

Anyway, enough rambling. On to reading about “requirements engineering processes,” a topic I know very little about and a skill I need to improve.

Update — 10 Feb. 2007: If you want to know more about requirements engineering, the paper “Requirements Engineering: A Roadmap” would be a good place to start. Or perhaps you like the high-level hieroglyphics of Powerpoint slides to all those words and footnotes.

Posted in General, Software Engineering | Leave a comment

Security basics

A while back Joel Spolsky wrote an article with the basics of Unicode and internationalizing software applications. For many software developers, this was probably the first widely read introduction to a topic that we need to integrate into our design thinking. (I wrote about it a couple weeks ago.)

Another design issue every developer should be thinking about is security. Anyone who has listened to the news over the last decade or so has heard stories about viruses, worms, trojan apps, denial of service attacks, system intrusions, and personal data theft. As software engineers we should be thinking about how to design systems that reduce the possibility of attack and the damage malicious applications can cause. I admit that I don’t know much about “building security into code,” though I do avoid patterns that can cause danger — at least the ones I know about. It’s a big topic.

Jeff Atwood of Coding Horror took on a small part of security when he published a primer on two-part authentication. It’s worth a read. He describes identity-oriented security not code security, and I hope someone more knowledgeable than me will create a Spolsky-esque article give the “absolute minimum every developer should know about security.” (If you know of one, please let me know.)

Update: Jeff Atwood answered my wish last month in his review of 19 Deadly Sins of Software Security. C programmers — like me — should also consult CERT’s C Programming Language Secure Coding Standard.

Posted in Computing, Software Engineering | Leave a comment

New England and Slavery

Here in the Great White North we’re slowly coming to terms with the fact that slavery in America was a pervasive phenomenon. In the wake of industrialization — largely built on the labor of unmarried women from the countryside and waves of European immigrants — we have crafted a long-enduring myth that slavery was a uniqely Southern phenomenon and that Northern wealth was formed entirely on free, self-enterprising labor. While it is true that slavery persisted longer in the South than in the North, it started here contemporaneously — this historians have known for some time.

What is new are many recent scholarly reports and newspaper articles which help us understand slavery’s role in the formation of the North’s industrial economy. Northern banks funded the purchase of Africans and African-Americans and insured slave ships. Textile factories — the driving force of the industrial economy — processed cotton grown by slaves. Shipbuilders, sailors, and captains grew wealthy on the “triangle trade” that took finished goods and rum out of New England and brought slaves to the South. Slaves in Africa died by the millions to bring ivory to American markets. (One estimate concludes that five Africans died for every pound of African ivory.) Northern towns thrived because (for a time) slave labor ran households and performed manual labor. The patrons of some of America’s most revered institutions of higher learning and culture were deeply involved (though at a distance) in the despair and death of thousands.

So as we collectively celebrate African-American history month this February, let’s consider race and slavery on a local rather than sectional level. If you’re in New England, you might find the following lectures and reports enlightening:

What do you know about the history of slavery in your region or country?

Posted in This is who we are | Leave a comment

Class-time purgatory

There are two things you should know about me: I am not a good person, and I hate being bored or having my time wasted. Those two things combined pretty much say everything you might need to know about me, not unlike Dostoevsky’s underground notetaker:

I am a sick man. . . . I am a spiteful man. An unattractive man. I think that my liver hurts. But actually I don’t know a damn thing about my illness. I am not even sure what it is that hurts. . . .

I am quick to judge and wrong as often as not. Sometimes it takes me months or years to realize the folly of my first impressions. An artifact of my Iowan-ness, a genetic marker from my place of origin, it’s my curse for being extroverted and open-minded. Occasionally I publicly call out those I mistake for what they’re not, but more often I nurture these mistakes quietly on the sweet milk of my incorrectness. Knowing that I’m prone to being wrong doesn’t make me less likely to be wrong, but it does keep me quieter . . . in general — my recent excoriation of Martin Amis notwithstanding.

Unfortunately, naming my demons doesn’t give me complete control over them — I’m not one who thinks that analyzing the progenitors of my peevishness gives me total will-to-power over my future — but I have been trying to say “hmm . . . how interesting” more. Fortunately, I’m rather good-natured despite my wickedness and, by and large, get along with almost anyone.

Which brings me ’round to that other thing and the inspiration of this dispatch: Lectures are hard, nigh on unbearable sometimes.

You see, I do the required reading before class and (usually) the optional readings, too. I am a slow reader, mostly because I hear the words in my head and because my inner voices engage the author’s disembodied voice in spirited discussion. I deliberate and I question. And I either suspend disbelief when I don’t know much on the subject or fill in gaps or deconstruct assumptions (mine or the author’s) when I do. I read and I edit and I rewrite books and articles in my head, which is probably why I remember most of what I read and less of what I see or hear.

I suspect few other people read quite so pathologically, but I got spoiled at Grinnell by everyone actually having read the assigned material in advance. I chafe when I sit down in class and see the same material from the readings presented on overheads as Powerpoint bullets: tiny, clipped bons mots struggling to break free in search of true pith and vim. My same inner voices that discussed the work with the authors wait anxiously for a nibble of something new, but all I hear from them is . . . well, let’s take a look at my notes from tonight’s class.

  • αβγδεζηθικλμνξοπρστυφχψω
  • ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
  • ῷ μοι κακαδαιμων. εγενετω τθφλος. χαλεπως εστι ό βιος.
  • वीर-ज़ारा
  • Lots of people talk. [We have a class of 25 people graded on participation.]
  • Pair programming is a bit Stepford Wives-ish.
  • People think XP is just about pair programming.
  • [Instructor F]‘s 3 + 1 rules — Lame.*
  • [Instructor F] wanted a semester-long class on requirements!
  • How to get the most out of these classes? Zen-like and let it wash over me? Pick out the good stuff as it floats bye like Wracker Quoyle? “Hmm . . . how intersting” for the rest?
  • Other people are real people. I like books more than lectures, but we do learn from others experiences.
  • How do people [like me] with partial (but real & sometimes deep) experience [from the workplace] learn [how to do what we already do better]?
  • What should be our goals? How do [high-level] Aquinas-like books [based on distinguishing between this and that] like our text by Sommerville fit in?
  • Why don’t I trust instructors? Do I unjustly expect infallibility? Why? Is it my Old Testament upbringing? Perhaps it fits with my Iowa-ness. Perhaps I’m just mean. Probably . . .
  • I don’t think [Instructor F] really knows the difference between functional and nonfunctional requirements, but I don’t think that’s important. (See above) But we are wasting a lot of time trying to distinguish them . . . poorly.

Welcome to the purgatorial life of a night school philosopher-engineer. At least I’m getting therapy as well as an education.


* — “#1 – You are responsible. #2 – ‘Stuff’ happens. #3 – If #2 happens see #1.” #4 was slightly more helpful, but I won’t bore you with it. [Instructor F] presented these individually via Powerpoint with a long dramatic pause after the first. So, seeing “You are responsible.” on the screen with a pregnant pause led me to ask “Responsible for what?” thinking it might be some sort of ploy to get us to a sort of uber-insight into Software Development Methodologies. “For yourselves!” was the reply. Giggles all around.

What are we, seven years old? Funny story there. The first week of class we had to sing “Happy Birthday” to [Instructor F]‘s first-grader at the course break. “Today is my son’s birthday. Since I can’t be there with him, it would mean a lot . . .”

Posted in From the Yellow Notepad, General, Software Engineering, This is who we are | Leave a comment

Martin Amis . . . bad

Dear Martin Amis:

As a “modern, Western, relativistic, multicultural, poltically correct . . . whatever” person I say this, “You are not a good person, and you aren’t getting a Christmas / Hannukah / Eid / Kwanza / Holiday card from me this year (or ever).” And I’m not sure why NPR’s On Point would put you on the radio but not other bigots (say, the author of the Turner Diaries). I suspect it’s because you’re British.

I’m in favor of the marketplace of ideas, though, so I shun you and your products.

Sincerely,

Jeff Mather
CFB

Posted in This is who we are | Leave a comment