Category Archives: Business

Reminiscing about Provo411.com and Scraping the Course Catalog

One of my first web development projects and biz partnerships with Brian Stucki was Provo411.com. We were roommates at BYU and conceived of a website where students could share events — parties, concerts, football games, etc. We were already in our beds for the night when the idea came, but we couldn’t go to sleep before buying the domain. I think it was the first domain I ever bought. It was September 2002.

I developed a calendar in PHP and wrote a few scripts to scrape byucougars.com and retrieve the sports schedules. I also developed a WML app so Brian and I could add events to the calendar from our pre-iPhone mobile phones. I recall being at a party in south Provo, in a former dental office, and using my Nextel phone to add the party to Provo411. If you go back far enough, you can see events on the calendar. My brother Alan did the artwork.

I always wanted Provo411.com to have a course schedule alert system. Perhaps students would pay $3 to receive an email or SMS alert when hard-to-get classes had an opening. It shouldn’t have been hard technically, but the publicly available course catalog isn’t updated in real-time. I could have scraped the authenticated course catalog on Route Y, but BYU might have objected and it’d be a fragile business model.

My brother Michael recently came home from his mission and started school at CSN. The business classes he wanted were full, so I put the old “course schedule alert” idea to the test with some new tools — Ruby and Mac OS X’s speech. Here’s what I came up with:

#!/usr/bin/env ruby

# a list of course call numbers to check
call_numbers = %w{ 46405 46407 46409 46411 46415 46413 53252 53254 53256 53258 53260 53262 53268 53270 53272 53274 46423 46435 53276 46443 }

# auth_token obtained via Firefox+TamperData while my brother logged into CSN
auth_token = "123456789012345"

say "Checking"

call_numbers.uniq.sort.each do |call_number|
    c = `curl -si -d CONVTOKEN=#{auth_token} -d AUDITT=N -d CALLT=#{call_number} -d CONTINUE=Continue "https://bighorn.nevada.edu/sis_csn/XSMBWEBM/SIVRE04.STR"`
    print "Call number #{call_number}: "
    if (c =~ /<p class="p5">([^< ]+)<br\/>/m)
        if $1.strip.empty?
            puts "May have openings\n"
            3.times {say "Michael, class number #{call_number} may be open!"}
        else
            puts "#{$1.strip}\n"
        end
    else
        puts "could not find message"
        say "Help. I cannot access the C S N website."
        return
    end
    sleep 5
end

# Ouput an audible message via Mac OS X's speech function
def say(message)
    `say "#{message}"`
end

We set this to run every 15 minutes on the living room iMac, and we turned up the volume. Every 15 minutes we could hear “Checking” from the computer. A few hours later we heard the script announce that a class had opened up. Michael, I’m still waiting for my $3.

What Motivates Us to Work and Create

I recently read Mind the Gap, an essay by Paul Graham on wealth, industry, and incentives. It’s almost 5 years old now, but it seems timely as our nation appears to be on a road toward socialism.

Wealth is not money. Money is just a convenient way of trading one form of wealth for another. Wealth is the underlying stuff—the goods and services we buy….

Where does wealth come from? People make it. This was easier to grasp when most people lived on farms, and made many of the things they wanted with their own hands. Then you could see in the house, the herds, and the granary the wealth that each family created. It was obvious then too that the wealth of the world was not a fixed quantity that had to be shared out, like slices of a pie. If you wanted more wealth, you could make it.

This is just as true today, though few of us create wealth directly for ourselves…. Mostly we create wealth for other people in exchange for money, which we then trade for the forms of wealth we want.

If you suppress variations in income, whether by stealing private fortunes, as feudal rulers used to do, or by taxing them away, as some modern governments have done, the result always seems to be the same. Society as a whole ends up poorer.

You need rich people in your society not so much because in spending their money they create jobs, but because of what they have to do to get rich. I’m not talking about the trickle-down effect here. I’m not saying that if you let Henry Ford get rich, he’ll hire you as a waiter at his next party. I’m saying that he’ll make you a tractor to replace your horse. (Emphasis added.)

Similar ideas can be found in a monologue from Francisco d’Anconia, the wealthy mine owner in Ayn Rand’s book Atlas Shrugged.

“Money demands that you sell, not your weakness to men’s stupidity, but your talent to their reason; it demands that you buy, not the shoddiest they offer, but the best that your money can find. And when men live by trade—with reason, not force, as their final arbiter—it is the best product that wins, the best performance, the man of best judgment and highest ability—and the degree of a man’s productiveness is the degree of his reward.

“…you will see the rise of men of the double standard—the men who live by force, yet count on those who live by trade to create the value of their looted money—the men who are the hitchhikers of virtue. In a moral society, these are the criminals, and the statutes are written to protect you against them. But when a society establishes criminals-by-right and looters-by-law—men who use force to seize the wealth of disarmed victims—then money becomes its creators’ avenger.

“When you see that trading is done, not by consent, but by compulsion—when you see that in order to produce, you need to obtain permission from men who produce nothing—when you see that money is flowing to those who deal, not in goods, but in favors—when you see that men get richer by graft and by pull than by work, and your laws don’t protect you against them, but protect them against you—when you see corruption being rewarded and honesty becoming a self-sacrifice—you may know that your society is doomed.

“If you ask me to name the proudest distinction of Americans, I would choose—because it contains all the others—the fact that they were the people who created the phrase ‘to make money.’ No other language or nation had ever used these words before; men had always thought of wealth as a static quantity—to be seized, begged, inherited, shared, looted or obtained as a favor. Americans were the first to understand that wealth has to be created….” (Ayn Rand. Atlas Shrugged. pp. 411-14. Emphasis added.)

Presentation matters to motivation

I’ve recently been pondering how to motivate workers. I’m mostly interested in how to motivate volunteers in a nonprofit organization — a “cause”. Just a day after writing about it, I found a section in Made to Stick with good insight:

We may mistakenly think that people are motivated by the pursuit of baser needs, while we ourselves are motivated by loftier ideals. The book calls this living in the penthouse of Maslow’s pyamid while believing others live in the basement.

Imagine that a company offers its employees a $1,000 bonus if they meet certain performance targets. There are three different ways of presenting the bonus to the employees:

  1. Think of what that $1,000 means: a down payment on a new car or that new home improvement you’ve been wanting to make.
  2. Think of the increased security of having that $1,000 in your bank account for a rainy day.
  3. Think of what the $1,000 means: the company recognizes how important you are to its overall performance. It doesn’t spend money for nothing.

When people are asked which positioning would appeal to them personally, most of them say No. 3….

Here’s the twist, though: When people are asked which is the best positioning for other people (not them), they rank No. 1 most fulfilling, followed by No. 2. That is, we are motivated by self-esteem, but others are motivated by down payments. This single insight explains almost everything about the way incentives are structured in most large organizations. (Made to Stick, pp. 184-85)

So, the question isn’t just whether or not to give an incentive or bonus, but also how to present it.

If you’re motivated by a cause, an incentive may even offend you. When firefighters were offered a free copy of a safety video to review, they readily accepted it. When offered a free popcorn popper as a thank you for reviewing the safety video, one firefighter said, “Do you think we’d use a fire safety program because of some #*$@%! popcorn popper?!” (p. 188)

How to motivate workers

Not everyone agrees on how to motivate workers. I’m still trying to decide which of these ideas sounds most correct:

  1. Charles Coonradt, author of The Game of Work, gives five reasons why games are better than jobs:

    1. Feedback is much more frequent in games, 2. there’s always a score to “reinforce the behavior you want repeated,” 3. consistent coaching, 4. goals are more clearly defined, and 5. more personal choice. (source)

    For example, in a game of soccer, imagine how easy it is to know which goal is yours, who your teammates are, who your competitors are, how to get feedback from your coach, and how much time you have left to score.

    See also “Make Life More Like Games” by Sarah Milstein.

  2. In Managing the Nonprofit Organization, Peter Drucker says:

    People need to know how they do–and volunteers more than anyone else. For if there is no paycheck, achievement is the sole reward. Once goals and standards are clearly established, appraisal becomes possible. …with clear goals and standards, the people who do the work appraise themselves.

    In all human affairs there is a constant relationship between the performance and achievement of the leaders, the record setters, and the rest….If one member of an organization does a markedly better job, others challenge themselves.

  3. However, Joel Spolsky, quoting a Harvard Business Review article, says Incentive Pay [Is] Considered Harmful:

    … at least two dozen studies over the last three decades have conclusively shown that people who expect to receive a reward for completing a task or for doing that task successfully simply do not perform as well as those who expect no reward at all. [HBR Sept/Oct 93]

    …any kind of workplace competition, any scheme of rewards and punishments, and even the old fashion trick of “catching people doing something right and rewarding them,” all do more harm than good. Giving somebody positive reinforcement (such as stupid company ceremonies where people get plaques) implies that they only did it for the lucite plaque; it implies that they are not independent enough to work unless they are going to get a cookie; and it’s insulting and demeaning.

  4. A colleague of mine received the MVP Award from Microsoft. He said it’s peer selected, hard to get, and hard to keep. (You have to maintain annual certifications.) The award is given for past accomplishments, but he thinks it has the effect of motivating many people to do more.

Which one is it?

Do the same rules apply to volunteers at a nonprofit as employees at a company?

Thinking…

The Patriot Act and Customer Service

I. Mac and Linux computers come with a command called “rsync” that makes backup and synchronization easy. Every morning before work I synchronize my 4 year old dying Powerbook to my iMac at work. When I get home, I synchronize back. This way, I get my same mail, documents, and music wherever I am, and if something were to happen to one computer, I’d have a backup. I synchronize over the Internet, but I know a local guy that synchronizes to his iPod so he can physically carry his updates in and out of the office.

canaries.jpg
Photo by quimby

II. At work, we’ve begun using a service called rsync.net for backup. We synchronize our files to their service and pay them $1.60 per gigabyte per month. It’s a pretty inexpensive way to do backup, and it’s nice to have the backup offsite. The rsync.net engineers with whom I’ve spoken have been top notch.

For privacy, we actually use a derivative of rsync called “duplicity”, which encrypts our data before storing them at rsync.net. Their website explains how to use duplicity and other encryption techniques, but I thought it was particularly interesting to find they publish a “warrant canary”. Because the Patriot Act allows the service of secret warrants for the search and seizure of data, and criminal penalties for failing to maintain secrecy, rsync.net publishes a weekly declaration that they haven’t been served a warrant:

rsync.net will also make available, weekly, a “warrant canary” in the form of a cryptographically signed message containing the following:

- a declaration that, up to that point, no warrants have been served, nor have any searches or seizures taken place

- a cut and paste headline from a major news source, establishing date

Special note should be taken if these messages ever cease being updated, or are removed from this page.

Source: rsync.net Warrant Canary

If the “canary” dies, you’re supposed to close shop and get out.

I don’t know the legal implications of a warrant canary, but it seems like a particularly unique example of putting the customer first!