31 May 2012

Dumb luck

…trashed my power supply. I swear it was fully insulated! Perhaps third time's a charm? We'll see after I get my first paycheck from my summer internship.

It's too bad that unintentionally tipping the G5 caused a spark and took out the fuse of the outlet by which it was powered.

Disassembling the machine and opening up the power supply revealed no burn marks or blown traces. However, the multimeter read infinite resistance over the fuse. How am I supposed to interpret these results?

gg no re (for now), as they say.

In other news, I may as well give up on hackintoshing the SR-2; I am feeling pretty convinced that OS X is not the way to go with high performance computing…and photography post production. Will I be saying hello to Windows?

30 May 2012

SR-2 Adventures, Part II

So after hauling the SR-2 back across campus (if you ever run into a girl carrying large wads of aluminum with Apple logos on them, that's me!), I removed the system from the case mod and tested it. This was something that had to be done as soon as possible because Bayley blew up one of his processors and the return window would expire later that week -- the recommended procedure is to test the processors under high load to detect for defective samples.

I ran the processors at full load with the full 24GiB of memory with LinX, a benchmark wrapper for LinPack, the de facto Linear Algebra system. After a continuous 72hr run, the processors were fine, albeit a little toasty. I stopped worrying about them.

At this point, there were two things to be completed: the power supply mod into the G5 power supply enclosure and the rear IO panel. Although the power supply mod was not documented as much, it was the easier of the two tasks because I did not have the parts handy for the rear IO panel.

The power supply mod works as follows. Since the G5's original proprietary power supply was enclosed in a 1U-esque case, I had to replace its internals with an ATX power supply, specifically a Corsair 850W semi-modular unit.

To cut the chase, I blew up my power supply when it accidentally hit an exposed standoff and thus shorted itself to death. How did I know? When Bayley plugged it in for me (because I'm that big of a scaredy-cat), it sparked and buzzed. On my second try, I covered the entire enclosure with nonconductive tape. All was well.

Unfortunately, that was all I got done before I left MIT (yes, tooling a bit harder this term did yield better grades). As I rushed to pack for my journey back to NJ, I forgot several pieces of equipment, leading to some impulse Amazon buys: a USB header, a PS2 to USB adapter, and a USB to Ethernet. Furthermore, I also forgot an IEC cord, but I forgot to buy it on Amazon. It turns out that not many things around the house use IEC cables, but I eventually found one lurking in the kitchen. I plugged it in, and voilà!

The setup.

System profiler.

25 May 2012


Why hello there, Brass Rat.

Setup used to take the above photo.

Sophomore year's been quite fun, which I'll elaborate in another post. I need to pull my sleep schedule back to something like 11pm to 7am for my summer internship in NYC. Good night!

Canon EOS 5D Mark II with Canon EF 100mm f/2.8L Macro and a remote trigger.

17 May 2012

Artistic Gearheads

My 6.815 professor, Frédo Durand, is the quintessential example!

His Canon 5D with an 800 f/4L.

Canon 1D Mark II with 500 f4L, 1D Mark III with 100-400, and 5D with 24-105.

His portfolio can be found at fredodurand.net.

``Photography is about buying more and more toys, because toys are fun!'' --Fredo, in jest

14 May 2012

A short quiz on pointers

Just something I found in my downloads folder that I thought I should keep around. Includes are omitted.

    int a[4];
    int *b = malloc(16);
    int *c;
    int i;

    printf("1: a = %p, b = %p, c = %p\n", a, b, c);

    c = a;
    for (i = 0; i < 4; i++)
        a[i] = 100 + i;
    c[0] = 200;
    printf("2: a[0] = %d, a[1] = %d, a[2] = %d, a[3] = %d\n",
    a[0], a[1], a[2], a[3]);

    c[1] = 300;
    *(c + 2) = 301;
    3[c] = 302;
    printf("3: a[0] = %d, a[1] = %d, a[2] = %d, a[3] = %d\n",
    a[0], a[1], a[2], a[3]);

    c = c + 1;
    *c = 400;
    printf("4: a[0] = %d, a[1] = %d, a[2] = %d, a[3] = %d\n",
    a[0], a[1], a[2], a[3]);

    c = (int *) ((char *) c + 1);
    *c = 500;
    printf("5: a[0] = %d, a[1] = %d, a[2] = %d, a[3] = %d\n",
    a[0], a[1], a[2], a[3]);

    b = (int *) a + 1;
    c = (int *) ((char *) a + 1);
    printf("6: a = %p, b = %p, c = %p\n", a, b, c);

main(int ac, char **av)
    return 0;