From the category archives:

Editorial

Every semester students ask how to change the appearance of this shell (Bash) prompt. In this screencast I show how to customize the color scheme of the Bash shell.

0 comments

war of words

Independence Day? Maybe not. Now the War of Words begins.

The Facebook Zepplin is Upon Us

We hear wave after wave or preposterous drivel coming from Facebook and their proxy mouthpieces (the ever-self-promoting “Scobelizer“, for example), so it’s nice to have someone stick a needle into the Facebook Zepplin-sized Windbag that is upon us.

Still, I keep hearing that “Facebook is really not so bad if you don’t put anything personal, blah, blah”. The real problem is that Facebook and its cognitive scientists will be working Luntzian magic in forms that cannot be felt, seen, or smelt. Frank Luntz designed the Republican Contract with America in the 90′s, and we know how that worked out. His motto is, “It’s not what you say that counts. It’s what people hear.”

“Supersuasion” is a well known tool in the Advertising industry (and in the Propaganda machines of the world). Supersuasion is so effective that many of us can be influenced even though we are aware of the attempt. But it’s too late. It’s already happening. You may already know it by it’s other name: “deep framing“. Republicans (Luntz) and Democrats (Lakoff) have been wielding this Cognitive Nuclear option for decades. And we have to give credit where it’s due: Steve Jobs is equally famous for his native version of Supersuasion—his irresistible Reality Distortion Field.

Now that Facebook has hired Washington insider Tim Muris, George Bush’s former FTC chairman, as the legal storm trooper for the anticipated legal battles with the defenders of Privacy, it looks that we’re going to be spending a good deal of our time defending our privacy. If Facebook were to hire Luntz, too, it would all be over for the Resistance; we all might as well roll over and just enjoy our citizenship in Wide Open Facebook Nation.

For more information about online privacy issues, check out the Electronic Frontier Foundation. For a controversial analysis of the Mass Media, check out Noam Chomsky’s Manufacturing Consent: The Political Economy of the Mass Media.

Keep skewering those Gas Bags, friends.

4 comments

The Back Story

I had been on Facebook for 2 years, but I found that Facebook was wasting my time—I was spending more time fixing my privacy settings than I was spending having heart-to-hearts with my friends. I was getting turned off, so, at the end my Facebook Life, I resorted to using Twitter to post my narcissistic navel-gazing mutterings to Facebook. That way, I wouldn’t have to log in and interact with Facebook itself.

The Like Button

The Like Button was the nail in my Facebook coffin. When Facebook began tracking my activities even when I wasn’t on Facebook, I decided to bail out. Facebook had become embedded in all of my online doings, like a silent parasite, an enormous verminous Worm, that had slowly eaten its way into my Online Corpus and was attempting to look out at the world through my eyes. It was time to rid myself of the foul Entity.

Facebook Users Don’t Really Care about Privacy

I know that 99% of Facebook users don’t care that the Worm is burrowing into them. In the field of parasitology, this is called a symbiotic relationship: both parties benefit and everyone is happy. Users are happy living with the Worm as long as they can talk to their friends easily, and the Worm goes about its business, burrowing and tunneling into the User, mining anything of value from the user’s clicks and keystrokes. The beauty of this arrangement, for the Worm, is that the User is oblivious to the Worm’s  agenda. The blithe User says to those who warn it of the Worm’s intent, “Leave me alone with your paranoia. I’m happy here. Frankly, I don’t give a fig that the Worm will sell my life’s essence to the uncaring 3rd party bidders.”

Oh, but that’s not my problem anymore. Good bye Friends, goodbye Worm.

When you deactivate your Facebook account this page turns you into a Zombie member.

The Deactivate Page

The Deactivate Page is the Worm’s last chance to prevent a User from staunching the flow of blood and gaining its freedom. Take notice of the check box above the Deactivate button. Notice this statement beneath it:

Note: Even after you deactivate, your friends can still invite you to events, tag you in photos, or ask you to join groups. If you opt out, you will NOT receive these email invitations and notifications from your friends.

Even though the User has abandoned the scene, it still lives on in the Bowels of Facebook as a zombie User who can still be invited to events and still be tagged in photos of Happy Times. The Deactivate Page menacingly warns that the fleeing User will NOT receive notice of these kind attentions.

When you read this brazen attempt to sway your resolve, take special note of the all-caps NOT: it is supposed to emphasize that you, poor User, are doing something ABSOLUTELY CRAZY; that NOT is intended to invoke the common human fear: the fear of being alone, of being left on the Outside.

Push that button, CRAZY User, and you will miss a Fabulous Party.

Deactivated

Despite the final pathetic attempt to manipulate me, I managed to push the Deactivate button and I became a dead Facebook User walking.

How I Became A Zombie Profile

If you ever quit Facebook, have no fear. Your profile will live on as an active Zombie long after you are dead and buried because all of the data you have ever entered into Facebook lives on, whirling around until the end of Time on a platter on a hard disk in a building full of Database Servers. Because your data is Indestructible, your User Profile will still be invited to parties and to events, and it will still be tagged in photos—but you, the poor User who created that profile, will never know about it. How sad for you!

Life After Death

There is Life after Death, and it’s called Facebook. If you want to experience Life after Death, just click the “Like” button below.

5 comments

zoperailsturbogearsdjangoj2eejboss
If you have fun comparing your Ruby on Rails Karate to Django’s Kung Fu, check out this video from NASA’s Jet Propulsion Lab: http://oodt.jpl.nasa.gov/better-web-app.mov

0 comments

Now that Facebook has 500,000,000 users (that’s five hundred million, kids), every time they make a change to their privacy setting, we Facebookians have to spend about 15 minutes to adjust our settings.

Facebook is making tons of money off our little conversations, images, likes, etc, so here’s a novel idea: Facebook should pay me cash whenever they waste my time.

Let’s look at the numbers: 500,000,000 x 15minutes = 125,000,000 hours of human activity that is completely non-productive. (Yes, I know that I’m assuming everyone hates Facebook’s Big Brother privacy policies as much as I do.) At $30@hr, 125,000,000 x $30 = $3,750,000,000. That’s 3.75 billion.

If Facebook was the kind of entity that really wants to do the right thing, it would send a check for $7.50 to everyone whose time was spent protecting their privacy from the sleazeballs trying to extract money from us.

I’m expecting a check the day Hell freezes over.

1 comment

Here’s a screencast to help newbies get a good start with Unix. I wish all of my students had these basic skills.

3 comments

iPad Is In The House

April 3, 2010

in Editorial

Rather than wait for “the next version”, or wait for a “cheaper” imitation, I decided to get into the stream from day one. My three word review is: friggin awesome. I know, that’s really just two words. When I tested the iPad in the Apple store, I thought of my dear old mother, trying to learn how to use a computer 10 years ago, smashing the mouse on the desk. The iPad would have saved her a mountain of irritation, and made it easy for her to search for recipies.

iPad, you are the first cool computing appliance.

Happy iPadding…

Hey, you Scoffers, FUDers, Doubters and Apple Haterz, check this out.

0 comments

I spent the good part of Spring Break taking a break from answering email, grading student code, and coding. Instead I merged with my alter ego (a 24-lb Pug named Taco), my Flip camera, and iMovie to create my first edited movie. Oh, I won’t post it here because this is an alleged “tech” site. If you want to see the video, check out my alter ego’s web site over at http://tacothepug.blogspot.com.

<beat>

Oh, hells bells. Why am I bothering to create fake suspense? Here it is.

Taco’s Diary from Taco The Pug.

0 comments

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.

0 comments

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 from 30,000 feet

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…

5 comments