Friday, March 27, 2009

Official Youtube Downloading

YouTube in the past few days has cleaned up their UI. Although their font is a little small, it seems overall to be an improvement. Anyway, I was watching a video by KipKay (who is really amazingly awesome), when I noticed a new button on the "Favorite -- Share -- Playlist -- Flag" bar: "Download ($0.99)". Apparently, YouTube partners can now provide the option for viewers to download the videos for a dollar.

YouTube, this is idiotic. Here's why:

1. It's too narrow.
I can only download videos in MP4 format. What about MOV? AVI? FLV?

2. It's too late.
Is YouTube somehow oblivious to the existence of hundreds of websites that already do this? Here are just a few websites that let you download a YouTube file:
The last website is my personal favorite, due to ease of use and variety of download formats.

3. 99 cents? Are you kidding me?
First off, all the websites I list above are free to use. Second, who pays a dollar for media anymore? Movies are pirated, music is internally recorded, and YouTube videos can be downloaded in a bazillion other ways.

I can hardly see anyone paying for YouTube videos anytime soon. YouTube, go back to ads. This won't work.

Wednesday, March 25, 2009


David Axelrod, Obama's Senior Advisor:

The "Lorax", the eco-loving star of Dr. Seuss' hit 1971 children's book:

Coincidence? This would explain the environmental side to Obama's campaign.

Monday, March 23, 2009

Node 3 Poll Final Tallies

According to AP, Colbert won the Node 3 naming contest. They say that Colbert shut out Serenity by over 40000 votes.

Let's take a look at the real numbers in play here. We'll be using this page's poll results and source code.

In total, 1190437 votes were cast in the poll. If you enter in the address bar

javascript:alert(document.getElementById( 'hiddenTotalVotes' ).value)

you'll see how many votes were cast for one of the four given options. I see that value as 265594. If 265594 votes were cast for the given options, then the remaining 924843 votes were for write-in suggestions.

Now Serenity received 70% of the given votes, or 185916 votes. If Colbert beat Serenity by 40000 votes, then Colbert had about 226000 votes.

How do those numbers stack up? Well, if you do an actual poll, Serenity received 15.6% of the vote, and Colbert received 19%.

At least it's now over until NASA announces their choice in April.

EDIT: Somehow, I missed the part of the AP release stating that Colbert got 230539 votes. OK, I wasn't too far off.

Saturday, March 21, 2009

Google Voice's Future

I was talking with a few people about Google Voice, and it seems that many people are worried about the future of Google Voice. According to a few sources, Google will be opening up GV to the public within a few weeks. There is concern that Google will make GV a pay service, making certain people (well, me) unhappy.

Here are my thought on what should happen with Google Voice.

1. Keep it free.
Seriously, Google: you've set the standard for a company which turns out free products yet makes an outrageous profit. Google bought GrandCentral in 2007 for 95 million US dollars. How can Google recoup that cost? The answer lies in looking to another product which Gogole bought but released as free: Google Earth. After Google acquired Keyhole, they were smart enough to release Google Earth as free, but they still made profit b creating advanced versions. This leads to my second thought:

2. Make a pro version.
More specifically, a business version. A quick search on Google (duh) shows that there are a few features GV does not currently have, but would not be impossible for them to add on -- for a nominal fee. If Google released a Google Voice Business Edition, they could market it the same way they sell Google Earth Pro: throw in some extra juicy pieces businesses can't live without. Some ideas include:
  • There's a lot of interest in making people's pre-existing phone numbers GV numbers. If Google makes that available for some amount, people will line up for GV.
  • GV does not currently support extensions (e.g. (555) 555-5555 #1234). Finish this thought for yourself.
  • More than 4-way conference call support, adding and dropping callers, increased bandwidth for conference calls
I'm sure the guys over in Mountain View can churn out a few more selling points, and GV will be practically self-sufficient -- whatever GV loses can be balanced by online advertisements.

3. Team up with Skype
Google, eBay. eBay, Google. Now that you're acquainted, consider your cards. Google, you are an internet-based company with a phone proxy service which makes calling people locally, domestically, or internationally very easy and cheap, but you lack the ability to place calls directly from your computer.

eBay, you own Skype, which allows people to place calls through the internet (thank you VoIP), but your internet-to-real-world calling rates are rather steep.

Seriously, Skype and GV make natural allies. GV provides the Skype user with a phone number. When people call the GV#, it will forward to their Skype account, letting people answer their calls from their computers. conversely, when Skype people SkypeOut, Skype will run the call through GV, saving Skype and the Skype user money. Either way, it also cuts out the middle man: if eBay ad Google aren't connected, users must SkypeOut or SkypeIn, travel on the phone networks, get to GV, go onto the internet, VoIP, and go back down again to the connection. It's much more effective for everyone if the call doesn't make that extra hop.

4. Don't Team Up with Skype
...are the Skype-lovers gone? They are? Good. Google, listen: you don't need a partnership. The only thing you'd get out of Skype would be computer-phone capabilities, something you're totally capable of building on your own. eBay. Who needs 'em?

5. Be smartphone-friendly
I want to see a Google Voice iPhone app and a Google Voice Android app. You'll do even better if you can make it look seamless.

6. Weld it in with the rest of Google's products
Speaking of seamless, here are some things which would make Google Voice even more amazing:
  • Google Earth, Google Maps: you have phone numbers in business info listings. If the person's logged in and is accessing the page from a computer, prompt them and ask if they wan to use GV.
  • Gmail: you've already released a neat video chat feature. Merge that with GV! Add in the transcriptions, recording capabilities, etc. and you'll have a wonderful UI on your hands. Plus, can you say "call-in memos and to-do lists"?
  • Google Desktop: transcriptions in archived index. 'Nuff said.
  • GOOG-411: Unlikely, but it would be awesome if you could dial into your GV account through GOOG-411, and even place calls. Hooray for free calls!


Google Voice is an excellent product. Google: keep GV free, integrate it, and blow the pants off of the telecommunications company.

Thursday, March 19, 2009

My Birthday Present from Google: Google Voice!

I checked today...and I was accepted to upgrade from GrandCentral to Google Voice! I'm really excited about this service.

For those of you who don't know GrandCentral Google Voice (GV) is a service from Google which provides the user with a phone number. Other people can call that number, and it will forward to any number of your own phones, allowing you to provide one number which you can access from anywhere. On your side, GV will record your voicemails (you can view them online later or access them on your phone), and best of all you can place calls through GV. This means that you can call anywhere in the US for the cost of a local call.

By the way: it's still in private beta, so no, I can't give you an invite. Not yet, at any rate.

I'm going to review some of the features now.

Layout: 10
Google voice's layout is very similar to that of Google Reader or Gmail. It makes use of AJAX, like in Gmail -- ever notice how clicking on "New Message" doesn't refresh the page? Really, it's extremely easy to navigate, which is a big improvement over Grandcentral's slow and clunky layout.

Placing a Call (from Online): 10
Google made this stupid-proof. No matter what you're viewing on the GV page, there's a big button in the upper-left labeled Call. Click it, and you're given a spot to enter your number to call, and a number you're calling from. When you enter in the to-call number, Google provides number suggestions based on your Contacts (think Gmail's "from" address bar in a new message). you can call from either one of your pre-chosen phones or from a temporary phone (think hotel rooms). Really, it's amazing.

Placing a Call (from a Phone): 9
I recommend you add your GV# to your speed dial list on your main GV phone(s). When you call your GV#, press 2 to enter a phone number to dial. The connection is fast and easy. It would be nice to see the ability to simply speak a person's name and have Google use their speech-to-text technology (see below) to place your call automatically, and their interface is a little slow, so you sometimes have to sit through an explanation of what to do before you can actually type the number to dial.

Call Quality: 9
No matter who called whom from where using GV, the quality was fantastic, and the phone delay was about a second, which is great for a double-hop system. However, GV itself seemed to have a hard time understanding me: when I entered my name and personal greeting, the result was very poor quality. This might be because I was on a cellphone -- I'll check and get back to you.

Other Features: 10
The people over at Google are really brilliant. I have a rather old phone, so GV's extra features give my phone capabilities not dreamed up until years after my phone was shipping from China. With GV, my phone can now do up to 4-way conference calling, I can record whole phone calls (OK, that's one's kind of creepy), and I can listen in when people leave a voicemail and decide to interrupt them. I can even block unwanted callers, and they'll hear a "Number not in service" message the next time they call. Voicemails are stored online and transcribed automatically. Really, it's like Gmail audio edition.

Pricing: 10
Good news: GV is currently free, AND you get a free dollar for international calls, which gives me 50 minutes to talk to Israel. :D
Bad news: I'll be amazed if Google doesn't eventually charge for this.

Overall: 10
This is one of the greatest things Google has ever introduced. If they fix the on-phone interface, I'll run out of bad things to say. Google, I applaud this product, and look forward to using it. If you keep it free, I'll also be your best friend forever.


One thing I'll be very interested to see will be how Google merges its work with GV with Google's mobile OS, Android. Here's my dream: Google teams up GV with the Android carriers, making the price of every call to a US number equivalent to that of a local call. Meanwhile, Google and Skype team up, allowing Skype users to use their GV#s, and people everywhere can now make much cheaper calls.

Maybe someday.

Wednesday, March 18, 2009


In four hours I will be one year closer to not qualifying for the Fields Medal.


Taxing AIG's Bonuses

Since some crooks over at AIG got some huge bonuses, Congress is now trying to get that money back through a tax -- a 100% tax on all bonus money from AIG.

Some people have said that this 100% tax is unconstitutional. Are you kidding me? The 16th Amendment clearly states that

The Congress shall have power to lay and collect taxes on incomes, from whatever source derived, without apportionment among the several States, and without regard to any census or enumeration.

Boom. Right there.

Now here's my question: who the fuck said that taxes can only go up to 100%? I propose that we put something like a 500% tax on bonuses over 100K to employees in companies with government bailout money. Let's see how they like that one.

My other idea was to tax them enough so that everyone working in the company makes exactly as much money as person with the lowest salary employed at the company. You got a janitor making federal minimum wage? Here's your $6.55, Mr. CEO.

Tuesday, March 17, 2009

Impromptu Picnic

Remember that dust? It's everywhere. I'm currently typing this post sitting outside on a park bench eating a delicious sandwich. There's a smokescreen in the living room. Thankfully, people near the park don't seem to know how to secure their Wifi connections, so I'm on a connections creatively named "linksys." I'm just hoping my iMac doesn't die from the pulverized pre-WWI brick.

Then again, it's a beautiful day out. It's spring break. The birds are chirping above my head. From this vantage point, it seems that the workers are finishing up. The dust will settle, and then we'll size up the situation. Hey, at least it gives me an opportunity to clean my room.

Right Now

I'm currently sitting in my favorite chair browsing the interwebs and reading Waiter Rant (which is completely awesome). Outside, the exterior masonry work on my apartment building has reached my floor, contaminating the air with dust and noise. I'm getting vision's of a dentist's chair form the drill outside. But it's Spring Break. I'm happy.

Monday, March 16, 2009

Expanding the Domain of Theism

[Below is a joke I came up with, so sit back and enjoy the convoluted processes of my brain.]

We tend to categorize people by how many gods they believe in, such as atheist, monotheist, and polytheist.

That covers 0, 1, and 2+. What about people that believe in a negative number of gods? An imaginary number of gods?

There are no prefixes for negative numbers, so I'll invent some, using negative prefixes (e.g. im-):

-1 gods: immonotheism
-(2+) gods: impolytheism

Wow. That concept hurts the head. A negative amount of gods? As in a void where god(s) should be?

And now, an imaginary/complex number of gods.

There's nothing even close for this. Any proposals?

"ij-" prefix, perhaps? Or "j-"?

In that case...

I think all imaginary numbers should be represented as complex here. Order:

(real part)(ij-)(imaginary part)(-theism)


-(2+)-(2+)i: impolijimpolytheism
-(2+)-1i: impolijimmonotheism
-(2+)+0i: impolytheism
-(2+)+1i: impolijmonotheism
-(2+)+(2+)i: impolijpolytheism
-1-(2+)i: immonojimpolytheism
-1-1i: immonojimmonotheism
-1+0i: immonotheism
-1+1i: immonojmonotheism
-1+(2+)i: immonojpolytheism
0-(2+)i: ajimpolytheism
0-1i: ajimmonotheism
0+0i: atheism
0+1i: ajmonotheism
0+(2+)i: ajpolytheism
1-(2+)i: monojimpolytheism
1-1i: monojimmonotheism
1+0i: monotheism
1+1i: monojmonotheism
1+(2+)i: monojpolytheism
(2+)-(2+)i: polijimpolytheism
(2+)-1i: polijimmonotheism
(2+)+0i: polytheism
(2+)+1i: polijmonotheism
(2+)+(2+)i: polijpolytheism

I think I've just violated reality.

"Guess what? I'm a immonojimmonotheist!"

Sunday, March 15, 2009

What's Wrong with This Picture?

The following partial screenshot is taken from VenomFangX Site Forums.

I, for one, cannot stop laughing.

Saturday, March 14, 2009

Firefox is on the Fritz

Anyone know what's up? If I close two tabs too quickly, FF crashes. Seriously, it's really annoying.

Don't Hack the Vote.

It's been pointed out to me by one of the only people ever to actually read this blog that cheating is bad. This is true. However, it's quite clear that NASA isn't taking the poll very seriously either. If you read the Contest Rules, it becomes clear that NASA has included enough escape clauses to prevent any part of any NASA spacecraft from ever being named "Colbert," "Xenu," "Myyearbook," or anything else the public dreams up. NASA is not totally stupid, and is well aware of the legions of people who could destroy their polling system by brute force alone if necessary.

Still, I'd like to add that wonderful protection clause, in case NASA doesn't like what I've done:

THIS INFORMATION IS FOR EDUCATIONAL PURPOSES ONLY. Please don't actively try to ruin or tamper with the poll.

Hmm, I feel better. Cool.


Friday, March 13, 2009

Hack the vote: In-the-Moment Running Vote Tallies

It turns out the Javascript running the vote results' frame on NASA's site is flawed too.

Open the frame in its own page (or just click here) and open up the page's source code. Scroll about a quarter of the way through, and you'll see some lines of code which look like this:

var totalNumVotes = eval(totalOpinioVotes)+eval(totalCommentsCount) ;
document.getElementById('totalNumVotes').innerHTML = totalNumVotes + totalVotesText ;

If you play around a little bit in the Javascript, you'll discover that "totalOpinioVotes" is the number of votes for one of the given choices (Earthrise, Legacy, Serenity, Venture), and "totalCommentsCount" is the number of votes for a write-in suggestion. These numbers are great, but they're a little hard to find. To solve this, scroll a little farther down the page, and you'll see a link to If the page loads correctly in your browser (which won't be particularly happy, just so you know), you'll see a low-quality version of the poll and two boxes containing the two vote counts in the hundred thousands.

As I make this post, the numbers stand as 176257 votes for givens and 387731 votes for write-ins.

You know how NASA is setting up the poll so it looks like Serenity is way out in front with 3/4ths of the vote? It's almost certainly not. Serenity has 75% of 176257 or about 132193 votes. A write-in suggestion can beat that with 35% of the write-in votes.


A side note: I talked to Dr. Tyson this evening, and I asked him about the Node 3 effort. He responded by saying that he wished Colbert would mobilize his viewers more productively, like to lobby Congress for increased NASA funding.

[Disclaimer: THIS INFORMATION IS FOR EDUCATIONAL PURPOSES ONLY. Please don't actively try to ruin or tamper with the poll.]

Thursday, March 12, 2009

Colbert Bump Bot

I ended up building an Applescript which will vote for Colbert once every two seconds. Behold, the Colbert Bump Bot:

tell application "Safari"
do JavaScript "window.location = ''" in document 1
delay 1
do JavaScript "document.frmcomments.submit();" in document 1
delay 1
end tell
end repeat

Note that it will bring Safari into window focus every second, so don't plan on working while this is running.

[Disclaimer: THIS INFORMATION IS FOR EDUCATIONAL PURPOSES ONLY. Please don't actively try to ruin or tamper with the poll.]

Wednesday, March 11, 2009

Colbert vs. Xenu

It's been a long time since I've posted (spring break is soon, so there should be a flood of posts), but I just wanted to add my two bits to a current hot topic: Colbert vs. Xenu.

It all began when NASA decided that it was going to open up voting to the public for choosing the name of Node 3 on the ISS. Many /b/tards and wanna-/b/tards caught hold of this, and XENU quickly rose tot he top of the list of Top 10 Suggestions.

On March 3, 2009, Stephen Colbert said this on his show:

Link (click it now)

Then, on March 4:

Link (click this one too)

Later that day, Anonymous responded:

And so the battle begins. Personally, I support Colbert, but only because I feel like I'd rather have someone win for a humorous purpose than for a humorous purpose at others' expense. (Remember, even though I hate the Co$, the people still inside the Co$ could easily be hurt by this.)

Regardless of what you support, there is an easier way to vote. Apparently NASA didn't think too hard about the voting system, as it seems to simply be a form which sends a string to a server.

I'm going to set this up for Colbert. If you're a die-hard fan of Xenu, you're probably tech-savvy enough to replace the name of a faux-conservative talk show host with that of an intergalactic overlord.

The key link is here:

After you type in your suggestion for Node 3's name on NASA's website, this box is what pops up, with a word verification CAPTCHA.

Unfortunately, someone made a rather large mistake when they put together the voting form, because it turns out that the CAPTCHA can be by-passed.

If you open up the vote verification page's source code, you see that the variables in the URL are actually part of a form document named "document.frmcomments". If you know some Javascript, you should find it rather easy to follow the source code and discover that the submission process of the form is only based on the passing of an "if" clause.

if (data==1) {
document.getElementById("imageResp").innerHTML="Word Verification Matched.";
alert ("Word Verification Matched. Comment Submitted");


The NASA programmer behind this voting program forgot to install a second verification that the user actually entered the CAPTCHA! Therefore, we can skip entering the CAPTCHA over and over again, and simply enter the following code into the address bar:


We can verify that it accepted this code two ways: one, it didn't bounce an error message (as it does when you simply click the SUBMIT button), and two, it brought us to the URL which it brings you to after you complete the word verification normally.

[Disclaimer: THIS INFORMATION IS FOR EDUCATIONAL PURPOSES ONLY. Please don't actively try to ruin or tamper with the poll.]

Sunday, March 1, 2009

Apparently that was my last post for a while, too

Whoops! What happened to February? Oh well, No one really likes February anyway.

Then again, no one really reads this blog, so I suppose I'm just saving time and effort this way. :P