Four years ago I added Amazon Associates links to my web sites. Being a starry-eyed optimist, I thought I’d put up links to books that I’ve actually read and liked. Then I could sit back and collect my fees every few months. Even though adding the links to my sites was a royal pain, the prospect of a steady stream of “free” income made it all worth it.
Of course, it didn’t work out as I planned. The first year I accumulated only $25 in advertising fees. At the end of the second year, I had earned $45. Three years into it, my links had generated $1,600 sales for Amazon, and $80 in fees for me. Since Amazon doesn’t pay until you’ve earned $100 in fees, I hadn’t seen a penny. So I did the reasonable thing and simply lost interest. Then I removed the advertising links from my sites.
Today, however, everything changed for the better. When I checked my Amazon account I saw that a check for $107 was on the way. Hooray! After 4 years (only 3 if you consider that I gave up a year ago), I was about to collect my first $100 check–$107 to be exact.
Then the thought occurred to me, “A check? Wait a minute. I’ve moved twice in the last 4 years. I was living in ‘A’ when I signed on, then I moved to ‘B’ two years ago, then a year ago I moved to ‘C’—and the Post Office forwards mail for only one year… Just where the hell is that check going? Merde!”
I scrambled to the Amazon Associates site, and alas, just as I had feared, my contact info was 4 years out of date. That check was already on its way to ‘A’, where the mail man would probably deliver it to my old apartment, and the occupant would probably throw into the trash. All of the happy wind went out of my sails. Four years’ wait, and I would never see that sweet pay off.
Oh well. Maybe that check will be returned to Amazon. Maybe they’ll stop payment on it (as I asked them to). Maybe there is a Tooth Fairy. But right now, I’m wondering which of my other forgotten online accounts will pop up one day and bite on me on the ass.
In case you’re curious, here are some numbers that show how many sales it takes to earn $100 in advertising fees.
Earnings Report Totals
March 29, 2005 to March 29, 2010
|
|
Items Shipped |
Revenue |
Advertising Fees |
| Total Amazon.com Items Shipped |
70 |
$1,753.31 |
$92.14 |
| Total Third Party Items Shipped |
22 |
$427.26 |
$24.04 |
| Total Items Shipped |
92 |
$2,180.57 |
$116.18 |
| Total Items Returned |
-2 |
-$145.87 |
-$5.84 |
| Total Refunds |
-1 |
-$22.75 |
-$1.37 |
| TOTAL ADVERTISING FEES |
89 |
$2,011.95 |
$108.97 |
[Update]
Amazon Associates, having dealt with slackers thousands (or millions of times) have a protocol for just my particular situation. Everything will work out fine, and I take back everything I said in this post. Amazon Associates is the place to be. I’m already figuring out what to by in 2014 when I get my next check.
If you’ve ever taken, or developed, an online course using Moodle, you’ve probably wondered (and cursed while you were wondering) why the simplest pages sometimes take 30 seconds to load.
There’s a good reason that big break in the Moodle Time Space Continuum: Moodle is one of the most complex PHP applications in existence. In it’s present incarnation, in fact, it’s even more complex than Drupal, which, unfairly, has a reputation for being overwrought and under thought. If we were to do a Moodle vs. Drupal Complexity contest, Moodle will kick Drubal’s booty around the block, twice.
Some statistics (which I wheedled out of the Moodle and Drupal source code — and a few others for comparison):
| Package |
Calls to |
PHP Built-ins |
Calls to |
Custom Functions |
| Moodle |
22639 |
688 |
77374 |
8983 Moodle functions |
| WordPress |
6040 |
361 |
17765 |
2348 WordPress functions |
| Joomla |
9486 |
433 |
25025 |
3185 Joomla functions |
| Drupal |
1350 |
235 |
5483 |
1032 Drupal functions |
For way too much information about these minutia, check out The Top 100 Functions Page.
If all of those boring number don’t float your boat, then maybe these pictures of the “include” calls in the Moodle and Drupal code base will shiver your timbers and flutter your hairpiece. Click on the images below to see the big (and I mean scary big) pictures they represent.
Drupal does all this just to say "Hello, world?"
If you dare to click on the image below, be patient as the 1MB image loads. It’s worth the wait because it’s both pretty and frightening, if you’re a Moodle user, that is.
Oh what a tangled web we weave, When first we practice to deceive --Walter Scott talking about Moodle's Solar Wind Sail
Technical Details
The image of the include and require calls was produced using PHP, the inclued PECL module (yes, it’s spelled “inclued”), and Graphviz. If you want to make these charts yourself, here are the instructions:
Install inclued using PECL. Consult the inclued PECL pages: http://us3.php.net/inclued
On linux/OS X the installation steps look like:
pecl config-set preferred_state alpha
pecl install inclued
#Add these lines to php.ini.
extension=inclued.so
inclued.enabled=1
inclued.dumpdir=/tmp
# Generate graph
php ~/pecl/inclued/gengraph.php -i inclued.27843.1
dot -Tpng -o 1.png inclued.out.dot
Have fun observing your includes, and happy hacking…
I keep coming back to PHP for my projects. I’m not talking about anything Industrial Strength like the Wikipedia or Facebook. I’m talking about the web sites I use to teach my courses. For the last 4 years I’ve had my PHP course content on a custom Rails site that I built when I was crazy about Ruby. It has languished recently, as the chore of reinventing every wheel (CMS, user authentication, etc) has taken its toll.
So this week I installed Moodle, a fiendishly complex bit of PHP that contains everything I need to run all of my courses online. In the domain of online course management, it’s the top dog. And because it’s written in PHP, I feel right at home.
Oops. My bad. Sorry about that, Rails.
Don’t bother to tell me that comparing Rails and PHP is a lousy comparison. PHP and Rails are both DSLs (Domain Specific Languages) written in general purpose languages: PHP is to C as Rails is to Ruby (not mention that Ruby is written in C, too). If you think about it, PHP and Rails really kissing cousins.
When duty calls and there’s work to be done, PHP is my preferred vehicle to get from point A to point B. Here’s how I spend my online/programming time these days.
- 35% Moodle (PHP online course management software): user.
- 25% WordPress (PHP blogging software): user and programmer.
- 15% Cincom Visualworks (I’m learning Smalltalk): programmer.
- 10% phpBB (PHP forum software): programmer.
- 10% Ruby (Generating PDFs from HTML): programmer.
- 5% Lastly, Rails for my course web sites: programmer.
I’ll be the first to tell you that PHP has many, many frustrating design oddities, but once you “get it”, you’ll have more time to kick back, drink some brews, and watch a little b-ball.
Happy hacking…
In ’93 I was about to go into hock to buy a NeXT computer. The NeXT was several hundred thousand light years ahead of the PC and Apple machines at that time. I liked what I saw, and I read everything I could find about it. In 1993 I attended the NeXTWorld convention at San Francisco’s Moscone Center where I watched Steve Jobs use mass hypnosis techniques on an audience of crazed Unix hackers—and one budding novelist (me). He did a great demo of the NeXTSTEP programming environment and built a calculator by dragging widgets around: the crowd went bonkers. We went hysterical when he created an interface with a slider that changed a number in the display window. Awesome magic in 1993.
After Steve’s keynote presentation the fired up hackers surged into the concourse to lay down $2,000 for the NeXTSTEP SDK. There was electricity in the air. All around me brainiac NeXTians clutched their precious NeXTSTEP shopping bags to their bosoms as they walked back to their hotels on Market Street to start all-night hackathons. I was envious of them because they already had NeXT machines and I didn’t. I didn’t care anything about the programming. I just wanted to get my hands on one of those cool black boxes.
The WWW was invented on Tim Berner Lee's NeXT computer
It was not to be…
Before I could raise the bucks to join the party, NeXT stopped making hardware. In its time, NeXT sold only 50,000 computers. However, the company did stay alive as a software company—NeXTStep lived on in NeXTSTEP for x86.
In 1994 I bought a rip-roaring custom-made, top-of-the-line, no-name 66MHz i486 with 8MB of RAM, a monstrous 17″ monitor, an HP4MP Postscript printer (still works after 17 years) for a paltry $7,000 dollars. The 600dpi printer was 4K of that.
You might ask why a non-programming Comparative Literature Major would drop 3 months’ wages into a computer that he didn’t know how to use. I don’t really have a good answer. I just wanted it. What can I say? The heart wants what the heart wants.
The crowning glory of NeXTSTEP was the desktop. Though it may look a little plain and rectilinear in this day of glossy buttons, drop-shadows, and gradients everywhere, the NeXTSTEP look grabbed me. I found it soul-stirring, and even now, it still grabs me
Tim Berner Lee's HTML editor circa 1991-92.
My 486 is long gone, but NeXTSTEP lives on in every Mac OS X computer. That Aqua desktop you all love (except for those of who hate it) is the great-grandchild of the NeXTSTEP. When Steve rode back into power at Apple in 1997, one of the conditions he demanded was that Apple purchase NeXT Computers for $400 million. His beloved NeXTSTEP and BSD UNIX, which had evolved to OPENSTEP by that time, was to become the basis for Mac OS X.
NeXTSTEP is dead. Long live NeXTSTEP.