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: ,

DNA Lounge: Wherein there is press, photos, corrupt senators, and DRM.

There were nice articles about Bohemian Carnival in both The Examiner and The Guardian in the last couple weeks.

Also we have some New Wave City photos from this weekend.

Here's some great news: our esteemed Senator and former Mayor Dianne Feinstein is still bought and paid for by Hollywood, as evidenced by the fact that she has just re-introduced the PERFORM Act, which would ban MP3 streaming. Really.

The Electronic Frontier Foundation says:

Satellite and digital radio stations as well as Internet webcasters would have to adopt digital rights management (DRM) restrictions or lose the statutory license for broadcasting music. Letters from constituents like you helped beat this dangerous proposal last year -- take action now to block it again.

This bill aims to hobble TiVo-like devices for satellite and digital radio. [...]

This bill would also mess with Internet radio. Today, Live365, Shoutcast, streaming radio stations included in iTunes, and myriad other smaller webcasters rely on MP3 streaming. PERFORM would in effect force them to use DRM-laden, proprietary formats, so you can say goodbye to software tools like Streamripper that let you record programming to listen to it later.

They also have a longer analysis of it here.

If this bill becomes law, we'd be forced to abandon our MP3 streams and archives. The only alternative would be to offer them in DRM-laden forms by licensing proprietary software from Real or Microsoft, and even if I didn't think that was an unacceptable idea for myriad reasons, I'm certainly not going to spend even more money on the free webcasts than I already do. So that would be the end of them.

So if you'd like us to be allowed to continue doing what we've been doing for the last six years, please write your Senator and ask them to oppose the PERFORM Act. You can do this by going to EFF's page and filling out the form.

You may also be interested in Steve Jobs's recent change-of-heart about DRM. I trust him about as far as I could throw Feinstein, but his words sound good... We'll see if he stands behind them. Others are skeptical as well, obviously.


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