Sunday, November 28, 2010

Spanish Woman Claims Ownership of the Sun

(link in post title)


Umm...


A lady in Spain registered the sun as her personal property with a local notary after hearing about an American man who did the same with the moon and a bunch of planets in the solar system.


The best part of the article:


"There is an international agreement which states that no country may claim ownership of a planet or star, but it says nothing about individuals, she added."

Saturday, November 27, 2010

Chopiner

So, I'm learning Chopin's piano concerto in e, and wrote something simple up to help with the complicated rhythms. If you're ever having rhythm trouble, just compile it in GCC or any other C++ compiler and the rest should be pretty self-explanatory. You'll have to #include iostream, sstream, vector, cmath and assert.h.


using namespace std;
string LH;
string RH;
int nSubBeats;
int timeSig;

struct noteT {
double value;
bool rest;
double position;
};

string GetLine() {
string result;
getline(cin, result);
return result;
}

int GetInteger() {
while(true) {
stringstream converter;
converter << GetLine();

int result;
converter >> result;

if(converter.fail())
cout << "Please enter an integer. ";
else {
char remaining;
converter >> remaining;

if(converter.fail())
return result;
else
cout << "Unexpected character: " << remaining << endl;
}

cout << "Retry: ";
}
}

double Abs(double n) {
return (n<0) ? -n : n;
}

bool CloseEnough(double sum) {
return Abs(1 - sum) < .01;
}

double LCM(double a, double b) {
double A = a;
double B = b;
while (!CloseEnough(1.0-(a-b)))
(a < b) ? a += A : b += B;
return ((int)a - a == 0) ? a : b;
}

int Round(double n) {
int flooring = floor(n);
int ceiling = ceil(n);
return (n - flooring < ceiling - n) ? flooring : ceiling;
}

void PrintfBeat(string hand) {
for (size_t i = 0; i < hand.length(); i++)
hand[i] = '-';

int every = hand.length()/timeSig;
for (size_t i = 0; i < timeSig; i++)
hand[i*every] = '!';

cout << "(The first line is the beat)\n" << hand << endl;
return;
}

void CalculateNoteValue(const string source, noteT &currNote, const int i, int &n) {
while (true) {
if (source[i+n] == '_')
currNote.value /= 2;
else if (source[i+n] == '-')
currNote.value *= 2;
else if (source[i+n] == '.')
currNote.value *= 1.5;
else {
n--;
return;
}
n++;
}

return;
}

double FindModifier(const string source, int &n) {
double modifier = 1;
n++;
while (source[n] == '_' || source[n] == '.' || source[n] == '-' ) {
if (source[n] == '_')
modifier *= .5;
if (source[n] == '.')
modifier *= 1.5;
if (source[n] == '-')
modifier++;
n++;
}
n--;
return modifier;
}

double WhatsTheKPlet(const string source, int &i);

double kPletBracketsSituation(const string source, int i) {
vector bracketedNotes, total;
while (source[i] != ')') {
double currentNoteValue = FindModifier(source, i);
bracketedNotes.push_back(currentNoteValue);
i++;
}

if (source[i+1] != '<') {
int increment;
for (size_t j = 0; j < bracketedNotes.size(); j++) { // Slightly inefficient but more readable and no copied code.
increment = 1;
noteT dummy;
dummy.value = bracketedNotes[j];
CalculateNoteValue(source, dummy, i, increment);
total.push_back(dummy.value);
}
i += increment;
} else if (source[i+1] == '<') {
i += 2;
double kPlet = WhatsTheKPlet(source, i);
string number = "     ";
double divideBy;
int n = 0;
while (source[i+n] != '>') {
number[n] = source[i+n];
n++;
}
i += n;

divideBy = atof(number.c_str());
double multiplier = divideBy/kPlet;

for (size_t j = 0; j < bracketedNotes.size(); j++)
total.push_back(bracketedNotes[j]*multiplier);

} else {
cout << "\nBad input: char \'" << source[i+1] << "\' after \')\'.\nSIGABRT time! Wheeeeeeeeeeeeeeeeeeee";
assert(false);
}

double totalValue = 0;
for (size_t x = 0; x < total.size(); x++)
totalValue += total[x];

return totalValue;
}

double WhatsTheKPlet(const string source, int &i) {
int n = i;
int count = 0;
while (true) {
if (source[n] == ')')
count++;

if (source[n] == '(') {
count--;
if (count == 0) {
n--;
break;
}
}
n--;
}

n += 2;
double kPlet = 0;
while (n <= i - 2) {
if (source[n] != '_' && source[n] != '-' && source[n] != '.' && source[n] != ')' && source[n] != '(' && source[n] != '>' && source[n] != '<') {
double noteModifier = FindModifier(source, n);
kPlet += 1.0*noteModifier;
n++;
} else if (source[n] == ')') {
n++;
} else {
while (source[n] == '(')
n++;

if (source[n+1] == '>')
break;

kPlet += kPletBracketsSituation(source, n);

while (source[n] != ')' && source[n] != '>')
n++;
n += 2;
if (source[n+1] == '>')
n += 2;
if (source[n-1] == '<') {
while (source[n] != '>')
n++;
n++;
}
}
}

while (source[i-1] != '<')
i++;

return kPlet;
}

void CalculateNplet(int &i, const string source, vector &setOfNotes, vector &notes) {
i += 2;

double kPlet = WhatsTheKPlet(source, i);

string number = "      ";
double divideBy;
int n = 0;
while (source[i+n] != '>') {
number[n] = source[i+n];
n++;
}
i += n;

divideBy = atof(number.c_str());
double multiplier = divideBy/kPlet;

for (size_t j = 0; j < setOfNotes.size(); j++) {
setOfNotes[j].value *= multiplier;
notes.push_back(setOfNotes[j]);
}

return;
}

void CalculateCurrentNote(noteT &currNote, const string source, int i, int &increment) {
CalculateNoteValue(source, currNote, i, increment);

if (source[i] == '0')
currNote.rest = true;
else
currNote.rest = false;
return;
}

void WithinBrackets(const string source, int &i, vector &notes) {
vector setOfNotes, within;
i++; // To get past '(' char
while (source[i] != ')') {
if (source[i] == '(') {
WithinBrackets(source, i, within);
i++;

for (size_t j = 0; j < within.size(); j++)
setOfNotes.push_back(within[j]);

within.clear();
}

if (source[i] == ')')
break;

noteT currNote;
int increment = 1;
currNote.value = 1.0 / timeSig;
CalculateCurrentNote(currNote, source, i, increment);
i += increment + 1;

setOfNotes.push_back(currNote);
}

if (source[i+1] == '_' || source[i+1] == '-' || source[i] == '.') {
int increment;
for (size_t j = 0; j < setOfNotes.size(); j++) { // Slightly inefficient but more readable and no copied code.
increment = 1;
CalculateNoteValue(source, setOfNotes[j], i, increment);
notes.push_back(setOfNotes[j]);
}
i += increment;
} else if (source[i+1] == '<') {
int dummy = i;
CalculateNplet(dummy, source, setOfNotes, notes);
i = dummy;
} else {
cout << "\nBad input: char \'" << source.substr(0, i+1) << "\' after \')\'.\nSIGABRT time! Wheeeeeeeeeeeeeeeeeeee";
assert(false);
}
}

bool BadBrackets(string &source) {
int openSmooth = 0;
int openAlligator = 0;

for (size_t i = 0; i < source.length(); i++) {
if (source[i] == ')')
openSmooth--;
if (source[i] == '(')
openSmooth++;
if (source[i] == '<')
openAlligator++;
if (source[i] == '>')
openAlligator--;
}
return  openSmooth != 0 && openAlligator != 0;
}

void VectorizeNotes(vector &notes, const string source) {
for (size_t i = 0; i < source.length(); i++) {
if (source[i] == ' ')
return;

if (source[i] != '(') {
noteT currNote;
int increment = 1;
currNote.value = 1.0 / timeSig;
CalculateCurrentNote(currNote, source, i, increment);
i += increment;
notes.push_back(currNote);
} else {
int dummy = i;
WithinBrackets(source, dummy, notes);
i = dummy;
}
}
return;
}

bool VectorCount(const vector &v, double n) {
for (size_t i = 0; i < v.size(); i++)
if (v[i] == n)
return true;
return false;
}

void RemoveSpaces(string &hand) {
while (hand.find(" ") != -1) {
for (size_t i = 0; i < hand.length(); i++) {
if (hand[i] == ' ') {
string left = hand.substr(0, i);
string right = hand.substr(i+1, hand.size() - 1);
hand = left + right;
}
}
}
return;
}

void ReadHand(vector &notes, string &hand, const string whichHand) {
cout << "Enter notes for the " << whichHand << " hand: ";
while (true) {
hand = GetLine();
if (hand[hand.length()] != ' ')
hand += " ";

if (BadBrackets(hand))
cout << "Unbalanced brackets! Try again: ";
else
break;
}

RemoveSpaces(hand);
VectorizeNotes(notes, hand);
return;
}

int FindNNotes(vector notes) {
vector values;
// Get rid of duplicate note values
for (size_t i = 0; i < notes.size(); i++) {
double value = 1.0/notes[i].value;
if (!VectorCount(values, value)) {
values.push_back(value);
}

}

// Find LCM of all the note values
for (size_t i = 0; i < values.size() - 1; i++) {
values[i] = LCM(values[i], values[i+1]);
values.erase(values.begin() + i +1);
i--;
}

return values[0];
}

void DoHand(vector &notes, string &hand) {
hand = "";
for (int i = 0; i < nSubBeats; i++)
hand += "-";

int numNotes = notes.size();

notes[0].position = 0;
for (size_t i = 1; i < numNotes; i++) {
notes[i].position = (notes[i-1].position + notes[i-1].value);
}

double sum = notes[numNotes-1].position + notes[numNotes-1].value;
if (!CloseEnough(sum)) {
cout << "\nOK, so, you didn't enter a full bar of notes. \nOr more than one. Try compiling and running again!\n";
cout << "SIGABRT time!\n";
assert(false);
return;
}

for (size_t i = 0; i < numNotes; i++) {
if (notes[i].rest == false) {
int index = Round(notes[i].position*hand.length());
hand[index] = 'o';
} else {
hand[notes[i].position*hand.length()] = '_';
int howManyMore = notes[i].value*hand.length();
for (int j = 1; j < howManyMore; j++) {
hand[notes[i].position*hand.length()+j] = '_';
}
}
}

return;
}

void Welcome() {
cout << "Hiya! Enter rhythms for both hands to see how they fit together.\n";
cout << "First, some formatting and syntax info: \n";
cout << "• Notes are assumed to be one beat long\n";
cout << "• Select sets of notes with ( and ). For example: (oooo)\n";
cout << "• Lengthen or shorten a note or set of notes with the following operators:\n '-'(+1 beat)\n '_'(/2)\n '.'(*1.5)\n\n";
cout << "• Make n-plets with alligator mouths; use them after a ')' char. An n-plet is n notes in the time of however many.\n";
cout << "• For example: (ooooo)<2> is ooooo in the time of two beats. That is, five notes (ooooo) in the time of two notes of one beat each.\n";
cout << "• You don't need to mark the notes within an n-plet as sixteenth notes or whatever -- just without any modifications will be fine.\n";
cout << "• If notes within a n-plet are of different lengths, be sure to mark the first number within the alligator mouths as the number of beats within the n-plet.\n";
cout << "• Finally, pretty much any character can signify a note, except for '_', '-', '.', '<', '>', '(', ')' and '0'. (0 signifies a rest).\n";
cout << "Here's an example (In 3-4 time): \nRH is (ooo_)<2>o, LH is ooo. Generates the following: \no---o---o-o----\no----o----o----\n\n";
return;
}

void Simpler() {
cout << "Enter the number of notes played in the hand that has more notes to play: ";
int more = GetInteger();
cout << "Enter the number of notes played in the hand that has fewer to play: ";
int fewer = GetInteger();

string moreH = "";
int totalLength = more * fewer;
for (int i = 0; i < totalLength; i++)
moreH+= "-";

string fewerH = moreH;

for (size_t i = 0; i < fewer; i++)
fewerH[i*more] = 'o';

for (size_t i = 0; i < more; i++)
moreH[i*fewer] = 'o';

cout << moreH << endl << fewerH << endl;
return;
}

int main (int argc, char * const argv[]) {
while (true) {
cout << "Would you like to enter rhythms for both hands (enter '1') or uniform rhythms (enter '2')? ";
string answer = GetLine();
if (answer[0] == '2') {
Simpler();
return 0;
} else if (answer[0] == '1')
break;
}

vector RHnotes, LHnotes;
Welcome();

while (true) {
cout << "\nEnter the number on the top part of the time signature: ";
timeSig = GetInteger();

ReadHand(RHnotes, RH, "right");
ReadHand(LHnotes, LH, "left");

cout << "RH is " << RH << endl;
cout << "LH is " << LH << endl;

double nR = FindNNotes(RHnotes);
double nL = FindNNotes(LHnotes);
nSubBeats = LCM(nR, nL);

DoHand(RHnotes, RH);
DoHand(LHnotes, LH);

cout << "The minimal number of beats to represent the right hand is " << nR << ".\n";
cout << "The minimal number of beats to represent the left hand is " << nL << ".\n";
cout << "The minimum total number of sub-beats is " << nSubBeats << ".\n";
PrintfBeat(RH);
cout << RH << endl;
cout << LH << endl;

cout << "Would you like to do another one? ";
string response = GetLine();
if (response[0] == 'n' || response[0] == 'N')
break;
}
return 0;
}

Monday, November 8, 2010

Apollo 11 Launch 500 fps Video

(link in title)

Wow -- this is an incredible video. It's a slow-motion video of the Apollo 11 launch. I didn't know they had such high camera technology back then! There's a very interesting running narration that's the audio for the video.

Thursday, October 28, 2010

Monday, October 25, 2010

The Dangers of Twitter and URL shorteners

Oh, gosh, this is so surreal... a spokesperson for Meg Whitman, the Republican nominee for governor of California, tweeted a link to the campaign website... only it wasn't a link to the campaign website. They used a URL shortener, and, when tweeting, accidentally left off an 'r' at the end. I won't spoil what it linked to, but I will provide the link: http://bit.ly/bNCAV.

Cats Morph into Croissants



Waaah... what a hilariously amusing video. I can't stop watching it...
(thanks to Wendy/Sarah for showing me this!)

Sunday, October 24, 2010

Bridge Crossing

There are four people who want to cross a bridge. They take 1, 2, 5 and 10 minutes, respectively. They're crossing at night, so, to cross, you need a lantern, and they have one between the four of them. The bridge is only wide enough to fit two people crossing at a time.

What's the floor on their crossing time? That is, what's the shortest possible time for them all to cross?

Friday, October 22, 2010

A Wonderful Puzzle

(thanks to Wendy for giving this to me)

You read in a stream of integers one by one. You don't know in advance how long the sequence will be, though, of course, you can recognize the EOF char when you get to it. You have to find which integer is the majority, where the majority is defined to be the integer that appears at least (n/2) + 1 times, where n is the length of the sequence.

Do it in constant memory. And, linear time, of course.

Jack-in-the-Box Pluralizations




A weird discussion with Wendy and Frank led to the question, how does one go about pluralize "Jack-in-the-box?" The following would have weird denotations, though they're what an online search brought up:
• Jacks-in-the-box (á la passersby ou coups-d'etat, though note: tête-à-têtes)
• Jack-in-the-boxes (one Jack in multiple boxes)

Which leaves us with "Jacks-in-the-boxes." Which sounds like it should be right.

Saturday, October 16, 2010

Mandelbrot is dead :(

He died of pancreatic cancer. Apparently he first developed the concept of a fractal when he was asked how long Great Britain's coastline is, when he realized that the answer seemed to grow as one "zoomed in" on the coastline.

His approach to math is interesting (quoted from the NYTimes article; link in post):


"Dr. Mandelbrot received more than 15 honorary doctorates and served on the board of many scientific journals, as well as the Mandelbrot Foundation for Fractals. Instead of rigorously proving his insights in each field, he said he preferred to “stimulate the field by making bold and crazy conjectures” — and then move on before his claims had been verified. This habit earned him some skepticism in mathematical circles."

16th International Fryderyk Chopin Competition

The competition only happens every five years! It's been going on since October 3, now. The finals start in two days! This is basically the most prestigious piano competition that exists today. Martha Argerich (a former winner of the competition) is one of the judges! Participants must be between 17 and 30 years old. By the time one gets to the finals, they will have learnt nineteen pieces (all by Chopin) from a selection of about... 40? Ten people qualified for the finals, and there were 80 at the start. For the final, they have to play one of the two concertos, with an orchestra instead of a second piano reduction, I think.

There's a live broadcast going on (resumes on Monday); it's definitely worth a listen. The Chopin concertos are super-awesome. I'm currently learning one of them, Op. 11 in e.

As an aside, Yundi Li (李云迪), who I'm going to hear play the Tchaikovsky concerto in the Spring in SF, won this competition at 18. He was the first person to win the first prize in 15 years.

Wednesday, October 13, 2010

Prokofiev concerto 2 and Flight of the Bumblebee

This must be the most technically impressive piano playing I've ever seen in my life. Here's Wang Yujia (王羽佳) playing the second movement of Prokofiev's second concerto and, for an encore, Cziffra's arrangement of Flight of the Bumblebee. In the Prokofiev, by the way, that movement has the right hand and left hand playing almost 1500 16th-notes each in under 3 minutes, or basically 10 notes per second, both hands together.

That's the kind of finger independence each pianist wishes for: each finger on each of her hands is controlled completely individually! And look at how relaxed her hands are throughout! It's just astounding. Check out 6:55-7:00, especially.

By the way, that's Michael Tilson Thomas conducting -- he's the head conductor of the San Francisco Symphony Orchestra, a nearby orchestra I go to often (just heard Beethoven 7 and on Oct. 24 is Beethoven piano concerto 4).

3D Duckrabbit

The famous Duckrabbit illusion, recreated through taxidermy:


Here's the original:

Wednesday, September 29, 2010

A Trumpeter's Shadow

(from an gallery in Wired on iPhone photography. Link in post title)

What a pretty photo:

Tuesday, September 28, 2010

Rotating Canvas Painting

(thanks to Yang for sending this to me)

Wow... this is pretty amazing: http://www.youtube.com/watch?v=OIJtKxdRQzY&hd=1

Classes and Fire Tornadoes

Settled on classes this quarter, in case anyone's curious:
• Music 21 (music theory)
• Phil 80 (consciousness, a WIM class)
• CS 103 (math and logic in CS)
• Russian, before it's too late
• ME110 (sketching), which is one unit
• Social Dance 2 (swing, waltz), which is one unit

In other news, just when you thought nature couldn't get any more awesome:

Here's a video from the AP and some pictures from National Geographic.

Thursday, September 23, 2010

Multitask

(thanks to Frank for showing me this)

There's this really cool online Flash game (link in post title) that tests your multitasking abilities. It starts off really easy, but it gets really hard very quickly:




First Football Game!


Last week I went to my first football game ever! It was Stanford vs. Wake Forest. We did very well: 28:64, to Stanford! At one point the quarterback ran 50 yards to make a touchdown; apparently that's a big deal. I'm probably going to try and go to Big Game (vs. Kal), which means I'll need to go to a few more to rack up enough points.

Tuesday, September 21, 2010

C Code, Run!

I saw this bumper sticker on a car last quarter on campus, co-incidentally when I was taking CS107 (the introductory C class). It's a pretty accurate description of how I was feeling during the write-a-heap-allocator assignment:

Saturday, September 18, 2010

Tow-out Bodyboarding

Wow, I'd love to try this some day: http://www.youtube.com/watch?v=xcXzKkw7EjY&feature=player_embedded&hd=1. I would rather let go of the board just after lift-off, though, I think, 'cause there's no way you're going to hold on to in during landing, and you can't do many tricks while holding on to the board. Still! Cool.

Monday, September 13, 2010

Thursday, September 9, 2010

Baby Carrot Ads

Here's a hilariously clever pair of ads for baby carrots:

http://www.youtube.com/watch?v=DbZHasnugts&feature=player_embedded&hd=1

http://www.youtube.com/watch?feature=player_profilepage&v=8bhq_NL6jL0

And, while we're posting youtube ad videos, here's the new Old Spice ad.

And finally, if you use Safari as your browser, here's an extension you can download to reduce every youtube video page to just the video and the title. It's excellent. (kudos to them, by the way, for using the Dramatic Chipmunk video (the best 5 seconds on the internet) in their example on the page)

Wednesday, September 8, 2010

The Latest Dinosaur Comic

T-Rex needs a code word for if he ever gets kidnapped. The third panel is the best. (link in post title)

The Samsung Galaxy S Fascinate Lightning

A while ago I had a short post on the Samsung Galaxy S Captivate and what a stupid name that is for a phone.

Welp, sometimes, if you wait, they'll top themselves: meet the Samsung Galaxy S Fascinate Lightning.

Tuesday, September 7, 2010

Edvard Grieg and Albert Einstein

Has anyone else noticed how much they look alike?



Update (thanks to Arthur): they both look like Mark Twain!

Beethoven Op. 81a

There's a YouTube video of Daniel Barenboim playing Beethoven's 26^th piano sonata! First movement and part of second here, and here's the rest of the second and the whole third movement (attacca).

He plays the first movement with a crazy amount of rubato, but it is a very Romantic-style movement, and, after all, he's Daniel Barenboim; he can do whatever the heck he wants. His playing of the second and third movements is absolutely perfect. Look how relaxed his hands are! What an incredible pianist.

Three Recent NYTimes Op-Ed Pieces Worth Reading

Roger Cohen on US policy towards Europe, Bob Herbert on Obama's infrastructure initiative and Gail Collins on the Arizona gubernatorial debate (absolutely hilarious). To familiarize yourself with the Arizona situation, you may want to first read about their outrageously xenophobic immigration law passed month or two ago.

Top 10 Wipeout Moments

This is the funniest thing I've seen, like, the whole Summer. It's the top ten funniest moments from this TV show that pits people against moving obstacles that aim to hit them into the water. The commentary is no good, of course, and the first top ten moment is just OK, but the rest -- especially the last -- had me and my brother and sister in tears (link in post title).

Monday, September 6, 2010

[iso2014questions] Like Minded Christians Unite

A friend of mine and I are co-ordinating this year's International Student Orientation (ISO) at Stanford. There's an e-mail address posted on the ISO website for incoming freshmen to send questions, which are usually about things like visas or double-checking they've signed up and so on. One day we got a rather different e-mail, from someone who hadn't signed up, with the subject line "Like Minded Christians Unite." Here's the e-mail (quoted verbatim except for e-mail addresses, which are taken out):



From: Scott Bland
Date: July 10, 2010 12:46:09 PM GMT+08:00
Subject: [iso2014questions] Like Minded Christians Unite

Hello My name is Scott.  I live in Lima, Ohio.  This is a ONE TIME Mailing to simply share with you about a NEW program within the United States that is offering to TOTALLY ELIMINATE grocery bills!

I am in search for like-minded people that can see the opportunity within this NEW nationwide program that is helping to feed those in need.  I believe we are to help one another to help one another.  Please read this email in its entirety, because it could possibly change your life as it did mine.

8 out of 10 who see this will think this is just another scam and click out.  So many are skeptical and I WAS the same way.  However, I am so glad that I was 1 of the 2 who believed that maybe this could be real, and I JOINED! I need open minded people that can see what this business can offer to you and others.  It is STILL very possible to be involved in a legit online business.

How many do you know that eats on a daily basis!?  EVERYONE right?  You think these people would like some free groceries?  How many do you know that would like to make more money as they share this concept with others?  YOU!?  ME!?  

Most ads I see promise huge incomes fast and easy and they always tempt me and seem to good to be true and then there's always a catch.  With what I am about to share with you, there is NO catch.  It is exactly as it says it is.

Can You Really Eliminate Your Grocery Bill? I am here to tell you the facts about “MPB Today”, and What this recent “buzz” is all about. MPB Today is a wholesale grocery business that started in 2006. About 2 years ago they set up a website to sell groceries online at full retail price and began offering home delivery. In Early June, 2010, they decided to expand their services to other states, by opening their network marketing division and began selling $200 grocery vouchers for $200, that can be used to purchase groceries from their Florida store. You can immediately use your $200 Grocery Voucher to pay for groceries any time from the company’s fulfillment center in Florida, but if you pay a $10 annual admin fee you can participate in their INCREDIBLY LUCRATIVE Compensation Plan. 

If you Refer Just two Customers to “MPB Today” who both refer two customers, you will “cycle”, AND you will receive a compensation. Once this happens, you can order groceries through MPB Today’s grocery delivery service and the company will pay for shipping and handling, OR you can trade your grocery certificate for a $200 Walmart Gift Card PLUS you will receive $300. You will also receive ANOTHER $200 grocery voucher to start a NEW business center so you can cycle again and AGAIN!

This type of compensation plan is referred to as a “2 x 2 Follow Me Center”. You’ll only pay $200 one time for your FIRST grocery voucher, BUT you can get paid over and over and over again AND that $200 is ALL product, so it really is FREE to join!

Here are the some Key Summary Points of How This Works:

1. You pay $200 one time for a $200 grocery voucher, plus a $10 annual administration fee for your website. 

2. You can immediately use your $200 grocery voucher to buy groceries online from a fulfillment center in Florida. If you use your voucher immediately you’ll have to pay for shipping… BUT if you wait until after your first pay cycle to use your voucher you will NOT have to pay for shipping and handling.

3. You Refer Just 2 People that also Want a way to Earn Free Groceries. And You help those 2 people, Refer 2 People, and Cycle! Get Paid Cash and $200 in Groceries!

4. Every time you cycle, you can trade your $200 grocery voucher for a $200 Walmart gift card. You’ll also receive $300 Cash, and You Get another $200 Grocery Voucher and be placed in another business center again. This happens over and over again, every time you cycle.

5. The more people you personally sponsor into “MPB Today”, the more often you will “cycle”. You could cycle several times a month, several times a week, even several times a day! There is no question that in these financial times people are having a tough time making ends meet. 

Can you see the potential that could have with your local church?  The ability to help people help people!!!  I LOVE IT.  I personally have cycled out and made about $2000 in TWO Weeks!!!  AND I get FREE GROCERIES via the Walmart card.

So, “MPB Today”, has provided an incredible opportunity, to provide us with a way to cut one of the biggest expenses we have, “Groceries”. We all have to EAT, which makes this product, a No-Brainer. So, How would you like to Get Paid, just by Referring others to this Incredible Business Opportunity, and showing them how they can earn Free Groceries too. This is a very unique and appealing opportunity, and those that join quickly, will be seriously compensated, as “MPB Today” starts attracting many people looking to save money on their groceries, and make money working from home. This is Truly a Win-Win Opportunity for Everyone! 

Scott Bland

Sunday, September 5, 2010

The Drake Advantage

Drake University is starting a recruitment campaign: "The Drake Advantage." Their logo?


(from the article in post title):


"University spokesman Tom Delahunt says school leaders consider any reaction a good reaction. He says that while the 'D+' comes across as a grade at first glance, it's meant to represent all the opportunities Drake offers students."

Friday, September 3, 2010

Hurricane Earl Picture

Embedding the picture doesn't quite do it justice -- the link is in the post title. This picture is from NASA's Earth Observatory, a weekly series of pictures they publish. This one was image of the day.

A few things about Hurricane Earl:
• It was category 4 hurricane, but has weakened over the past few days
• Currently moving NNE at 33km/h
• It is the most intense tropical cyclone in the Atlantic basin since Hurricane Dean in 2007



The Tiger Oil Memos

(thanks to Dad for forwarding this from Letters of Note)

Here are three typical samples of a series of hilarious memoranda from 1977 and 1978, sent out by the constantly angry CEO of the now-defunct Tiger Oil Company:

Nutraloaf, the Prison Food for Misbehaving Inmates

Some prisons in the US are trying a new method to deal with unruly prisoners: Nutraloaf. It replaces normal meals, and is apparently remarkably effective at bringing the prisoners in question back into docility.


Here's what's in it: "Packed with protein, fat, carbohydrates, and 1,110 calories, Nutraloaf contains everything from carrots and cabbage to kidney beans and potatoes, plus shadowy ingredients such as “dairy blend” and “mechanically separated poultry.” You purée everything into a paste, shape it into a loaf, and bake it for 50 to 70 minutes at 375 degrees."


Several prisoners have sued over Nutraloaf, on the grounds of Cruel and Unusual Punishment, but none have succeeded. The thing about Nutraloaf is it's not cruel, just way unusual.


Here's a follow-up: http://www.slate.com/id/2193538.
(original link in post title)

Thursday, September 2, 2010

So Much Sheet Music

Just got back from Taiwan (didn't have internet access, which explains the recent paucity of posts)! In 台北I got to go to a sheet music store, called 大陆书店。They had so much music, and it was quite decently priced. I was like a kid in a candy store, except I'm 20 (still a kid, then) and in a music store, haha. I got enough to keep me busy for... quite a while, I'd say:


In case that's too small to read, that's Schumann's piano concerto, Mozart piano concertos 9, 19, 21 and 24, Beethoven piano concertos 4 and 5, Haydn's D major piano concerto, Bach's E major piano concerto (transcribed from F major for Oboe? It's BWV1053), The Goldberg Variations, Debussy's Children's Corner suite, Mozart fantasias and rondos, Busoni's transcription of Bach's second violin partita's fifth movement, Gershwin's Rhapsody in Blue and Mendelssohn's Songs Without Words. All the concertos (and the Gershwin) are first piano plus second piano orchestra reduction editions!

And here's all the piano music they had:


:D

Wednesday, September 1, 2010

Worst Analogies Written in High School Essays

(thanks to Javier for forwarding this to me)


Collected from high school English teachers around the US:


• The little boat gently drifted across the pond exactly the way a bowling ball wouldn't.

• McBride fell 12 stories, hitting the pavement like a Hefty Bag filled with vegetable soup.

• From the attic came an unearthly howl. The whole scene had an eerie, surreal quality, like when you're on vacation in another city and "Jeopardy" comes on at 7 p.m. instead of 7:30.

• Her hair glistened in the rain like nose hair after a sneeze.

• Her vocabulary was as bad as, like, whatever.

• He was as tall as a six-foot-three-inch tree.

• The hailstones leaped from the pavement, just like maggots when you fry them in hot grease.

• Her date was pleasant enough, but she knew that if her life was a movie this guy would be buried in the credits as something like "Second Tall Man."

• Long separated by cruel fate, the star-crossed lovers raced across the grassy field toward each other like two freight trains, one having left Cleveland at 6:36 p.m. traveling at 55 mph, the other from Topeka at 4:19 p.m. at a speed of 35 mph.

• The politician was gone but unnoticed, like the period after the Dr. on a Dr. Pepper can.

• John and Mary had never met. They were like two hummingbirds who had also never met.

• The thunder was ominous-sounding, much like the sound of a thin sheet of metal being shaken backstage during the storm scene in a play.

• The red brick wall was the color of a brick-red Crayola crayon.

Tuesday, August 31, 2010

10 Best Pieces of All Time / 10 Favourite Pieces

I was asked this the other day. What a hard question! My tentative answer (in decreasing order of awesomeness):

(Mozart) piano concerto no. 23 in A, K.488
(Bach) Brandenburg concerto no. 4 in G, BWV 1049
(Beethoven) piano concerto no. 4 in G, Op. 58
(Beethoven) piano sonata no. 26 in Eb, Op. 81a
(Mozart) piano sonata no. 12 in F, K. 332
(Schumann) piano concerto in a, Op. 54
(Haydn) cello concerto no. 2 in D, Hob. VIIb
(Mozart) fantasia in c, K. 475
(Chopin) piano concerto no. 1 in e, Op. 11
(Rachmaninov) piano concerto no. 2 in c, Op. 18

I also reallyreallyreally really like (in no particular order):
(Mozart) piano concerto no. 9 in Eb, K. 271
(Chopin) Étude no. 6 in g#, Op. 25
(Bach) violin partita no. 2 in d, BWV 1004
(Mozart) piano concerto no. 19 in F, K. 459
(Bach) concerto no. 2 in E, BWV1053
(Haydn) piano sonata no. 52 in Eb, Hob. 16
(Bach) piano partita no. 2 in c, BWV826
(Mozart) piano concerto no. 21 in C, K. 467
(Mozart) piano quartet no. 2 in Eb, K. 493
(Mozart) piano quartet no. 1 in g, K. 478
(Beethoven) piano sonata no. 21 in C, Op. 53
(Beethoven) piano sonata no. 23 in f, Op. 57
(Beethoven) triple concerto in C, Op. 56
(Bach) Goldberg Variations, BWV 988
(Mozart) Requiem in d, K. 626
(Bach) English, French, Cello suites
(Schubert) violin sonatas

This would be a good time to mention my favourite keys: Eb and d. And you people (pieces and keys)?

Also, a random musing: when learning a movement of a piece, to what degree is one obliged to also learn the other movements? I should think, obviously it's preferable, because it helps you put what you're playing in context: the movements were meant to be read, played, heard, however you experience it, together. I'm pretty sure most people listen to all the movements of a piece together, but learning two or more other movements is no mean feat. Hmm?

Sunday, August 15, 2010

News: Obama Backs Islam Center Near 9/11 Site

Obama: "As a citizen, and as president, I believe that Muslims have the same right to practice their religion as anyone else in this country."


Good for him. It looks like it's actually going to get built, despite the efforts of Sarah Palin & Co ("Pls reject it in interest of healing," "Peaceful Muslims, pls refudiate[ the Ground Zero mosque]").


By the way, in response to questions about the word "refudiate" (see: repudiate) Sarah Palin then went on to compare herself to Shakespeare and proposed adding the following words into English: "'Refudiate,' 'misunderestimate,' 'wee-wee'd up'."

Going to Taiwan! (+ Random Stuff)

I leave tomorrow morning. Friday was my last day at Baidu! I'll post a link to the project once it goes up (Monday?).

Also here's a great recent article of my mom's. And here's a good one of my dad's, for good measure.

And an awesome blend of math and cooking (courtesy of I Love Charts):

Thursday, August 12, 2010

Pencil Tip Carvings

Wow, these are awesome. Apparently the guy (Brazilian-born carpenter Dalton Ghetti) who does them refuses to use a magnifying glass, too. What an innovative artist!