Chew's Eye World

UV-blocking, contrast-enhancing contacts:

Nike has teamed up with contact lens maker Bausch and Lomb to create performance-enhancing contact lenses called MaxSight. They're a tinted version of daily disposal lenses for athletes that reduce glare and improve visual acuity.

They block nearly all the sun's damaging UVA and UVB rays just like sunglasses, but their optics can also give athletic performance a boost.

The lenses come in amber for sports like baseball and tennis where the wearer must separate fast moving objects from the background, and grey-green for sports like golf, where the background environment is what's visually important. Both colors filter out a significant amount of overall light, but they also sharpen and improve contrast, so they have a brightening effect, says Alan Reichow, who invented the lenses and is a sports vision consultant for Nike.

The lenses make objects appear sharper by eliminating 90 percent of blue light -- the primary component in "visual noise." Then, in a process Nike calls "light architecture," MaxSight manipulates the brightness and hue of the remaining light transmitted through the lens. The result is improvement of visual acuity. The seams on baseballs are sharper, images in shadows are more clear, and every blade of grass has definition.

They cost about $60 for a six-month supply and are available through 2,500 specialists nationwide. Nike expects that number to double in the next three months.

Glasses for superhumans:

"Theoretically, this should be able to double the distance that a person can see clearly," Blum says.

At the heart of PixelOptics' technology are tiny, electronically-controlled pixels embedded within a traditional eyeglass lens. Technicians scan the eyeball with an aberrometer -- a device that measures aberrations that can impede vision -- and then the pixels are programmed to correct the irregularities.

Thanks to technologies created for astronomical telescopes and spy satellites, aberrometers can map a person's eye with extreme accuracy. Lasers bounce off the back of the eyeball, and structures in the eye scatter the resulting beam of light. Software reads the scattered beam and creates a map of the patient's eye, including tiny abnormalities such as bumps, growths and valleys. The pixelated eyeglass lens is then tuned to refract light in a way that corrects for those high-level aberrations.

Blum hopes to have a working prototype within a year that is built to military specifications.

Blum agrees that improving upon 20/20 vision isn't an end in itself. But people likely can't conceive of the results they might get with his company's technology. For example, slight changes in lighting and air pressure can trigger pixels to reprogram, powered by a computer built into the spectacle frames.

"Most higher-order abnormalities impact vision only under certain conditions," he says. "We can adjust dynamically to those conditions, which makes a big difference in your ability to see."

Previously: Aquatic Razorgirls, eyeball jewelery, artificial retinas, (again), corneal reflections, liquid lenses.

Tags: , , , ,

"you are here"

These are amazing -- rooms painted with designs that only resolve from one particular angle. The "target" one is very Indiana Jones. Anyone know the source? These are by Felice Varini, and there are some short animations of some of them on his site.

3D Painted Rooms:

Tags: ,
Current Music: Echobelly -- Fake ♬



Results 1 - 10 of about 13,800 from for "cut myself".

Self-harmers to be given clean blades
Nurses want patients who are intent on harming themselves to be provided with clean blades so that they can cut themselves more safely. [...] "My instinct is that it is better to sit with the patient and talk to them while they are self-harming. We should definitely give advice on safer parts of the body to cut. It could get to the stage where we could have a discussion with the patient about how deep the cuts were going to be and how many."

I, for one, welcome the last of the V8 Interceptors

LAPD Pursues High-Tech End to High-Speed Chases
Chief William J. Bratton unveiled Thursday a new and decidedly strange weapon in the LAPD's effort to halt high-speed pursuits. It is an air-propelled miniature dart equipped with a global positioning device. Once fired from a patrol car, it sticks to a fleeing motorist's vehicle and emits a radio signal to police. [...] A small number of patrol cars will be equipped with the compressed air launchers, which fire the miniature GPS receiver in a sticky compound resembling a golf ball, for four to six months as a trial.
Current Music: Micronaut -- Sneer ♬

I, for one, welcome our new scantily-clad undead working class

Zombie girl car wash -- with vocoder!

"Fashion Freak"
by Naked Ape
Tags: , ,

I, for one, welcome our new zombie-roach mind-controlling wasp overlords.

This is one of the most repulsive things that I've read in a long time. Nature truly is disgusting. By the way is this the "Intelligent Design" of a benevolent God? Or could it be that The Devil Does Bugs?

Ampulex compressa:

The wasp slips her stinger through the roach's exoskeleton and directly into its brain. She apparently uses sensors along the sides of the stinger to guide it through the brain, a bit like a surgeon snaking his way to an appendix with a laparoscope. She continues to probe the roach's brain until she reaches one particular spot that appears to control the escape reflex. She injects a second venom that influences these neurons in such a way that the escape reflex disappears.

From the outside, the effect is surreal. The wasp does not paralyze the cockroach. In fact, the roach is able to lift up its front legs again and walk. But now it cannot move of its own accord. The wasp takes hold of one of the roach's antennae and leads it -- in the words of Israeli scientists who study Ampulex -- like a dog on a leash.

The zombie roach crawls where its master leads, which turns out to be the wasp's burrow. The roach creeps obediently into the burrow and sits there quietly, while the wasp plugs up the burrow with pebbles. Now the wasp turns to the roach once more and lays an egg on its underside. The roach does not resist. The egg hatches, and the larva chews a hole in the side of the roach. In it goes.

The larva grows inside the roach, devouring the organs of its host, for about eight days. It is then ready to weave itself a cocoon -- which it makes within the roach as well. After four more weeks, the wasp grows to an adult. It breaks out of its cocoon, and out of the roach as well. Seeing a full-grown wasp crawl out of a roach suddenly makes those Alien movies look pretty derivative.

I find this wasp fascinating for a lot of reasons. For one thing, it represents an evolutionary transition. Over and over again, free-living organisms have become parasites, adapting to hosts with exquisite precision. If you consider a full-blown parasite, it can be hard to conceive of how it could have evolved from anything else. Ampulex offers some clues, because it exists in between the free-living and parasitic worlds.


Frank Oz on Death Metal

Cookie Monsters of Death Metal:
Mr. Oz agrees that making Cookie Monster sounds is an arduous occupation. "I never trained for it and I blew my pipes out," he told me. "It's completely unnatural, an explosion of force that comes from the belly through the throat. I would do a day of it and my normal voice would be a half an octave lower." (During our conversation, Mr. Oz demonstrated the Cookie Monster voice. The sudden force was startling and the volume so loud, I had to pull the phone from my ear.)

OSX xscreensaver port

I've got a tricky problem doing the OSX xscreensaver port, and I'm looking for suggestions. Basically, the problem is that the Mac screen saver framework runs every saver in the same address space, and so, when you have two screen savers that share some common global names, they stomp on each other. I'm not sure how to fix this...

So here's the rough structure:

  1. qix.c defines draw_qix(), etc.
  2. deco.c defines draw_deco(), etc.
  3. XScreenSaverView.m defines a subclass of ScreenSaverView that invokes the appropriate draw_ routine.
  4. Qix.saver is built from qix.o and XScreenSaverView.o.
  5. Deco.saver is built from deco.o and XScreenSaverView.o.

Now, step 3 up there is the tricky bit. How do I find the appropriate draw routine?

My first attempt was, through the magic of macros, to have both qix.o and attraction.o define the same global variable, xscreensaver_function_table. That works when the screen saver activates for real, but doesn't work when switching savers in System Preferences: what happens is, the first bundle loaded wins. So if Qix is the selected saver, and you switch to Deco, you still get Qix's version of xscreensaver_function_table, and Deco doesn't run.

So then I thought, well, if the code in XScreenSaverView.m knew the name of the saver it was defining, then I could have it look up the symbol by name: it could look for qix_function_table or deco_function_table as appropriate, and both could co-exist in the same address space. CFBundleGetDataPointerForName() seems to be made for this: given a bundle and a string, it gives you the address of the variable of that name.

So, I have two instances of XScreenSaverView, and I want to know which bundle they were instantiated from. [NSBundle bundleForClass:[self class]] tells me which bundle defined the class, which is the first one loaded (and both instances get the same answer, and malfunction in the same familiar way).

The only idea I have at this point is to define a custom subclass of XScreenSaverView for each saver, that looked like:

    @interface XScreenSaverQixView : XScreenSaverView {}
    @implementation XScreenSaverQixView
    - (NSString *) whoami { return @"Qix"; }
    ...or, more directly:
    - (struct table *) table { return qix_function_table; }

But that's annoying because it means auto-generating 200+ source files, which just kind of rubs me the wrong way.

Any other suggestions?

Tags: , , , ,

Plane vs. Concrete Wall

Buckle up!
Tags: ,