The Japanese stem cell debate: how does it affect boobies?

Stem cells used to boost breasts
Scientists in Japan claim to be able to increase the size of a woman's breasts using fat and stem cells. It is hoped the method could prove a more natural-looking alternative to artificial implants filled with salt water or silicone.

During the operation, surgeons suck fat cells from the stomach or thigh, and this "slurry" is enriched so that there are higher numbers than usual of stem cells. These are "master" cells which are capable of making new fat cells. When the enriched stem cell mixture is combined with normal fat tissue, it can then be injected into the breast area.

Previously, previously, previously.

Tags: , ,

Human sacrifice! Dogs and cats living together! Mass hysteria!

Kids, the Internet, and the End of Privacy: The Greatest Generation Gap Since Rock and Roll
There is another way to look at this shift. Younger people, one could point out, are the only ones for whom it seems to have sunk in that the idea of a truly private life is already an illusion. Every street in New York has a surveillance camera. Each time you swipe your debit card at Duane Reade or use your MetroCard, that transaction is tracked. Your employer owns your e-mails. The NSA owns your phone calls. Your life is being lived in public whether you choose to acknowledge it or not.

So it may be time to consider the possibility that young people who behave as if privacy doesn't exist are actually the sane people, not the insane ones. For someone like me, who grew up sealing my diary with a literal lock, this may be tough to accept. But under current circumstances, a defiant belief in holding things close to your chest might not be high-minded. It might be an artifact -- quaint and naive, like a determined faith that virginity keeps ladies pure. Or at least that might be true for someone who has grown up "putting themselves out there" and found that the benefits of being transparent make the risks worth it. [...]

For anyone over 30, this may be pretty hard to take. Perhaps you smell brimstone in the air, the sense of a devil's bargain: Is this what happens when we are all, eternally, onstage? It's not as if those fifties squares griping about Elvis were wrong, after all. As Clay Shirky points out, "All that stuff the elders said about rock and roll? They pretty much nailed it. Miscegenation, teenagers running wild, the end of marriage!"

Tags: , ,

Apocalypse technology

This is a good candidate for how the world ends. Sure is pretty, though.

16-qubit NP-complete-solving quantum computer:

This is a picture of the Orion chip's sample holder attached to one of our dilution fridges, ready to begin a cooldown. The base temperature at which we operate (5mK, or 0.005 degrees above absolute zero) is about 500 times colder than interstellar space. [...]

The Orion system is a hardware accelerator designed to solve a particular NP-complete problem called the two dimensional Ising model in a magnetic field. It is built around a 16-qubit superconducting adiabatic quantum computer processor. The system is designed to be used in concert with a conventional front end for any application that requires the solution of an NP-complete problem.

Tags: , , ,
Current Music: C-Tec -- Foetal ♬

We're from the Government. We're here to help.

I have also cleared myself of any wrongdoing.
An Army officer who investigated possible abuse at Guantanamo Bay after some guards purportedly bragged about beating detainees found no evidence they mistreated the prisoners -- although he did not interview any of the alleged victims, the U.S. military said Wednesday.
Tags: ,

dnalounge update

DNA Lounge update, wherein there is press, photos, corrupt senators, and DRM.

This Film Is Not Yet Rated

I just watched This Film Is Not Yet Rated, which I'd been waiting for since I first saw the preview about a year ago. It's great, and infuriating. I don't think it ever actually opened in theatres in San Francisco. The official web site is hosted by IFC, but their channel is not actually showing it any more. They're selling the DVD online, but I find it more than a little ironic, given the subject matter, that the easiest way to see this movie is via Bittorrent.

Anyway, it's a documentary about how the MPAA ratings board works, and who makes the decisions about what movies you get to see (since an NC-17 rating is the kiss of death to distribution and to advertising budgets). The MPAA is very secretive about this: they're the gatekeepers of a huge part of our culture, and we don't get to know who they are or how they make their decisions. So the filmmakers hired a private detective to figure out who these people are. That part is very entertaining. The best part, though, is the side-by-side comparisons of what gets an R and what gets an NC-17. Hint: they don't like women who enjoy sex, or gays.

The MPAA, of course, gave it an NC-17. How could they resist?


Director Kirby Dick's blog. And his response to some "changes" the MPAA said they would make after they started having to answer uncomfortable questions as a result of this documentary.

Watch the DVD bonus material too, it's also good.

Scene missing! A video that used to be embedded in this post has disappeared. If you know of a copy of this video that is still accessible, please mail me so that I can update the link. (Search)
Tags: , , , , ,

Harrison's Whip

"Get me a whip or I walk"
Harrison Ford has threatened to leave the new Indiana Jones movie unless he gets to use a real whip. The 64-year-old actor has been told the weapon will have to be computer generated because of new film safety rules. But Harrison thinks the regulations are ridiculous and has reportedly said he'll pull out of the film if he can't wield his own whip.

the internet is a strange and mysterious thing

120 Minutes playlists, 1986 - 2003.
I think I watched every episode from 1985 - 1993.

Death Machine


(Skip to about halfway through.)

Tags: , ,

Photobooth: DOA.

The physical photobooth is pretty much done; it's constructed and painted, and the button is wired up. Photos automatically upload to the web site. It just needs a few holes cut and some signage and it's ready to go.

Oh, except for the camera issue. Which I've made pretty much no progress on, after having beaten my head against it off and on for a couple of weeks. It's reminding me in no uncertain terms of why I no longer write software for a living. This problem is bullshit and I hate working on it. So basically, I'm ready to admit defeat and throw all that plywood on the scrap heap unless someone else solves this problem for me.

Given the choices of "never have a photo booth" and "continue working on this software problem", I gleefully choose the former.

<lj-cut text=" How you can help -- (12%) ">

Things I believe to be true:

  • The only sensible way to talk to cameras from MacOS is to use ImageCapture.framework.

    • IOkit.framework is too low level.
    • Gphoto2 doesn't work.
    • libptp2 doesn't work.
    • ptpcanon doesn't work.
    • The official binary-only Canon SDK is junk, according to people who have actually used it.
  • The Canon Powershot S30 camera supports a bunch of undocumented commands. I have seen Canon's binary-only software do things, with this very camera, like:

    • Turn the viewfinder on and off;
    • Return a JPEG of the current viewfinder image;
    • Take a picture, with flash, and return a JPEG of it without any CF card in the camera.
  • This camera only advertises two commands, "download file from CF card", and "delete file from CF card". This is according to the Apple CapabilitiesSample demo. Those commands work (e.g., via the SimpleDownload demo.)

  • Just pasting in the hex codes for the undocumented commands in ICAObjectSendMessagePB.message.messageType doesn't work. I don't know if the commands are actually being sent to the camera, or if the framework is filtering them before they get there, or what.

  • Wrapping a kICAMessageCameraPassThrough command around these undocumented commands doesn't work either, after cutting and pasting its definition into my code. Maybe PassThrough is a part of the ImageCapture framework, maybe not. It's documented in the ImageCapture SDK, but is not present in any of the installed ImageCapture.framework header files. Is it from some hypothetical future version of the framework? Or is it only supported by some hypothetical camera driver that is not installed by default? I have no idea.

Here's how you can help:

  • Find me source code that runs on MacOS and that talks to a Canon point-and-shoot camera (I believe they're all the same) and that does something more complicated than "download a file from the CF card; delete it."

  • Find me someone to talk to who understands and has used ImageCapture.framework in some nontrivial way. This person will be an Apple employee, because as far as I can tell, nobody who is not an Apple employee has ever touched it.

  • Modify the following code to do something useful, and show me what you did.

Here's some code that doesn't work:

/* A halfassed attempt at using ImageCapture.framework

   g++ -o test -g -Wall -framework Carbon


#import <Carbon/Carbon.h>

/* As far as I can tell, this shit should be in

   but it's not.  Why? I have no idea.

enum {
kICAMessageCameraPassThrough= 'pass',

enum {
    kPTPPassThruSend    = 0,
    kPTPPassThruReceive     = 1,
    kPTPPassThruNotUsed     = 2,

typedef struct PTPPassThroughPB
} PTPPassThroughPB;

main (int argc, char *argv)
  OSErr err = 0;
  ICAObject list = NULL;

  // Get the list of image-capturable devices
    ICAGetDeviceListPB list_pb;
    memset(&list_pb, 0, sizeof(list_pb));
    err = ICAGetDeviceList(&list_pb, NULL);
    if (err != noErr) {
      fprintf (stderr, "device list error = %d\n", err);
      exit (1);
    list = list_pb.object;

  // Get the first device

  ICAObject device = NULL;

    ICAGetNthChildPB nth_pb;
    UInt32 count;
    ICAGetChildCountPB count_pb;
    memset(&count_pb, 0, sizeof(count_pb));
    count_pb.object = list;
    err = ICAGetChildCount(&count_pb, nil);
    if (err != noErr) {
      fprintf (stderr, "device count error = %d\n", err);
      exit (1);
    count = count_pb.count;

    if (count <= 0) {
      fprintf (stderr, "device count = %d\n", (int) count);
      exit (1);

    memset(&nth_pb, 0, sizeof(nth_pb));
    nth_pb.parentObject = list;
    nth_pb.index = 0;
    err = ICAGetNthChild (&nth_pb, NULL);
    if (err != noErr) {
      fprintf (stderr, "first device error = %d\n", err);
      exit (1);
    device = nth_pb.childObject;

  // Send the device a message.

  ICAObjectSendMessagePB pb;
  memset(&pb, 0, sizeof(pb));
  pb.object = device;

#if 1
//  pb.message.messageType = kICAMessageCameraCaptureNewImage;
  pb.message.messageType = 0x900b; // Turn viewfinder on

  PTPPassThroughPB *ptb = (PTPPassThroughPB *)
    malloc (32 * 1024 + sizeof(*ptb));
  //ptb->commandCode = 0x901d;  //kCanonGetViewfinderImage
  ptb->commandCode = 0x900b;  // turn viewfinder on
  ptb->numOfInputParams = 0;
  ptb->numOfOutputParams = 0;
  ptb->dataUsageMode = kPTPPassThruReceive;
  ptb->dataSize = 1024;
  pb.message.messageType = kICAMessageCameraPassThrough;

  pb.message.startByte= 0;
  pb.message.dataPtr= ptb;
  pb.message.dataSize= 1024;
  pb.message.dataType= kICATypeData;

  err = ICAObjectSendMessage (&pb, NULL);

  fprintf (stderr, "status = %d\n", err);

  return 0;
Tags: , , , , ,

  • Previously