Bill Gates is richer than you’ve imagined.

While having pizza with friends the other day, we realized something…

In 2011 Forbes estimated Scrooge McDuck’s net worth to be $44.1 billion! He is the richest fictional character imagined, according to Forbes magazine. His favorite pastime is swimming in a giant vault of gold coins.

Scrooge McDuck swimming in gold coins.
Scrooge McDuck - Net Worth $44.1 Billion

In contrast, Bill Gates net worth is estimated to be $56 billion!

Bill Gates
Bill Gates - Net Worth $56 Billion

Bill Gates has more money than your childhood’s richest fictional character!

How to Downgrade PHPUnit 3.6 to 3.5.15

The newest release of PHPUnit 3.6 broke my unit test process in PHPStorm. PHPStorm is aware of the issue and is fixing it in the next update. However, in order to run my unit tests in the meantime I had to downgrade from PHPUnit 3.6 to 3.5.15, which was harder than it should’ve been.

If you try installing PHPUnit-3.5.15 first, you’ll find PEAR forces you to install 3.6. The way around this is installing the old versions of all of the PHPUnit dependencies.

First you need to uninstall PHPUnit 3.6 and all of it’s dependencies.

sudo pear uninstall phpunit/PHPUnit
sudo pear uninstall phpunit/DbUnit
sudo pear uninstall phpunit/PHP_CodeCoverage
sudo pear uninstall phpunit/File_Iterator
sudo pear uninstall phpunit/Text_Template
sudo pear uninstall phpunit/PHP_Timer
sudo pear uninstall phpunit/PHPUnit_MockObject
sudo pear uninstall phpunit/PHPUnit_Selenium
sudo pear uninstall

Next install these specific versions of each dependency, in this order, installing PHPUnit-3.5.15 last.

sudo pear install
sudo pear install phpunit/PHPUnit_Selenium-1.0.1
sudo pear install phpunit/PHPUnit_MockObject-1.0.3
sudo pear install phpunit/PHP_Timer-1.0.0
sudo pear install phpunit/File_Iterator-1.2.3
sudo pear install phpunit/PHP_CodeCoverage-1.0.2
sudo pear install phpunit/Text_Template-1.0.0
sudo pear install phpunit/DbUnit-1.0.0
sudo pear install phpunit/PHPUnit-3.5.15

Now you should be good to go!

Jelly co-founder, Amit Gupta, needs our help!

Today I learned Amit Gupta was diagnosed with Acute Leukemia, and he needs our help to find a bone marrow transplant. You may not know Amit, but he’s a brilliant guy who is responsible for the website Photojojo, and he’s also indirectly responsible for the coworking movement in Austin.

Jelly in Austin
Jelly in Austin

Some of you may remember back in good ol’ 2007, a meetup in Austin I used to organize called Jelly. We met at coffee shops and coworked together for the whole day, once or twice per week. Jelly is a product of Amit’s mind, and it was a combination of my desire for a coworking space, a lack of money, and Amit’s genius free Jelly coworking meetups, that inspired me to start Jelly in Austin. These meetups later broke off and evolved into our city’s first coworking space Conjunctured, which uncovered a need, that has since set in motion many other coworking spaces in Austin. So, if you enjoy coworking in our fair city, you owe Amit a bit of thanks.

Amit posted about his diagnosis on his blog. He also posted several ways that we can help. I’ve reposted them below as a quote from his blog:

I have a couple more months of chemo to go, then the next step is a bone marrow transplant. As Jay and Tony describe below, minorities are severely underrepresented in the bone marrow pool, and I need help.

A few ways to help:

  1. If you’re South Asianget a free test by mail. You rub your cheeks with a cotton swab and mail it back. It’s easy.
  2. If you’re in NYC, you can go to this event my friends are putting on.
  3. If you know any South Asians(India, Pakistan, Bangladesh, Nepal, Bhutan, Maldives, or Sri Lanka), please point ‘em to the links above.

*NEW* Organize a donor drive near you (the most helpful thing you could possibly do!) email 100kcheeks@gmail.comThey’ll send you kits, flyers, tell you what to say, and make the whole process easy cheesy.

Please help however you can. I mean come on, just look at this guy. How can you not love him and want to help?

Amit Gupta

HP’s Touchpad Makes the Ultimate Business Dashboard

Business Dashboard
Real-time Business Dashboard

The picture above is my HP Touchpad setup to display my business’s dashboard when my Touchpad is charging and idle. With a simple glance to my left I can see the current status of my entire business. My dashboard shows me recent tweets, sales, website visitors, uptime, errors, and will soon include more metrics as I continue customizing it.

The ingredients for this setup are simple.

  • HP Touchpad – A lot of people have one of these lying around now since HP’s fire-sale. This is a good way to put it to use.
  • HP Touchstone – If you own a Touchpad, get a Touchstone charging stand! This thing is amazing. It does NOT require that you plug or dock your tablet into it. Merely placing your Touchpad on the stand begins charging the device. It’s voodoo magic, pure and simple. Additionally, the stand makes interacting with the tablet much easier if you’re at a desk.
  • Account – This is the software behind the dashboard. It’s hosted, and they create a unique URL for you to access your custom dashboard.
  • webOnEx – This webOS app ties everything together. When your Touchpad has been idle for awhile on the charging stand, it goes into Exhibition mode. The webOnEx app allows you to display a webpage during Exhibition mode instead of the default clock or photo album. Our webpage is our customized Geckoboard dashboard.

You can get webOnEx by going to “settings” on your Touchpad, then to “Exhibition.” Next click on the “Find More…” button at the botom. Finally lookup webOnEx and install it. After it’s installed, go back to the Exhibition settings and select webOnEx as the default. When your tablet goes into Exhibition mode, you can change the URL of webOnEx to your Geckoboard dashboard.

Check if a Javascript function exists, if so call it.

I had a little trouble searching for this on Google. So here’s a little Javascript gem for you.

If you want to call a Javascript function, but only if it exists, here’s one way you can do that.

function ifFnExistsCallIt(fnName)
   fn = window[fnName];
   fnExists = typeof fn === 'function';

I use “fn” as a variable name inplace of the word “function,” since “function” is a reserved word in Javascript.