Feeds:
Posts
Comments

Laura’s “Stuffed Squash galore: Carnivale and DelicataKitchen Illiterate food blog post from November 30, 2008 just made in on Slashfood’sFeast Your Eyes” column.

Exciting not only because it’s Slashfood, but also because Laura’s food photography is being recognized as well as her creative recipes. Here’s the screen shot:

Kitchen Illiterate on Slashfood

Fall in Jamaica Plain, MA

MIT on Twitter

Below is an unofficial list of Twitter accounts run by on-campus entities. If you know of one that’s missing, please let me know so I can add it to the list.

I always thought it strange that the Fenway Art Center is locates in the heart of the Back Bay. It’s been there a long time too. To the right is Cafe Jaffa which is intermittently open and may have a customer or two when you walk by.

Rent can’t be cheap, L’Espalier (one of the most $$$$ restaurants in boston–and worth it) was on this street until their recent move to the Mondrian hotel.

What gives?

Fall in Boston

Chill is in the air and though it’s not clear from the picture, the leave are turning on the Esplande.

From the The Leusure Link web site comes news of a cool event in Jamaica Plain studio of the “A Far Cry” players:

The Leisure Link’s Launch in Boston:
A Fundraiser for Take Back Your Time
with special guest John de Graaf, National Coordinator of Take Back Your Time

TBYT is a major U.S./Canadian initiative to challenge the epidemic of overwork, over-scheduling and time famine that now threatens our health, our families and relationships, our communities and our environment.

Event Details:
Thursday, October 8th, 6:30-8:30pm
A Far Cry, 146A South Street, Jamaica Plain
RSVP to alison@theleisurelinkconsulting.com or 917-626-0344; suggested donation: $8-24

I’m on the number 1 bus, Mass Ave. from Boylston to the Orange Lime T. Checking Twitter I see a friend is at the Ben Fold’s show at Boston’s Symphony Hall; it’s on the route.

As we pass by the symphony, a mother, remarking on the un-symphony like crowd says: “who’s playing tonight?” She picks up the Boston Metro (journalistic dandruff of the MBTA and a very local, paper with arts & entertainment listings).

Nothing No news.

Contrasted with the goals of the augmented reality researchers I heard speak last week at EmTech, let alone the pre-natal real-time web available now, the vignette was subtlely remarkable.

With apologies to the GOTO statement, the recomendation below is truly harmful.

PAT CONROY ?!?!!?!

The flanking books I can see, but Pat Conroy? I admit that I once read “Prince of Tides,” but I was on vacation at a house with a limited library. Pat Conroy v. Danielle Steele; Conroy wins that one.

But how did Amazon find out? A less than discreet relative perhaps….

(ps. Check out the review snippet from Wapo in the second image)

I starred the year with the goal of reading 100 books. A couple of dense, lengthy ones in Q1 and Q2 combined with a slow two months in early summer, and I stand at 43. Far behind last year’s pace.

I’d have to averge 4.5 books per week to make it to 100. Time to reset. I’m going for 75. 2.5 books a week, any recommendations?

The 2009 Book List…

Haven’t updated this since April, so of course my notes are a mess. Here’s the whole list, 2009 Q1-Q3;

  1. Angler, (Gellman 2008) – 1/4/2009
  2. Hot, Flat and Crowded, (Friedman 2008) – 1/14/2009
  3. When You Are Engulfed in Flames (Sedaris 2009) – 1/21/2009
  4. How Fiction Works (Wood 2009) – 1/26/2009
  5. Imperial Life in the Emerald City, inside Iraq’s green zone (Chandrasekaran 2006) – 1/28/2009
  6. McSweeney’s Quarterly Concern (Vol 25 2007)
  7. The Way of the World: A Story of Truth and Hope in an Age of Extremism, (Suskind 2008) – 2/7/2009
  8. The Stuff of Thought: Language as a Window into Human Nature (Pinker 2007) – 2/22/2009
  9. Tribes (Godin 2008) 2/23/2009
  10. The elephant, the tiger, and the cellphone: reflections on India, the emerging 21st century power (Tharoor 2007) – 2/28/2009
  11. The Encore Effect: how to achieve remarkable performance in anything you do (Sanborn 2008) – 2/28/2009
  12. The Other (Kapuściński 2008) – 2/28/2009
  13. Beyond Bullshit: Straight-Talk at Work (Culbert 2008) – 3/2
  14. The Age of Heretics (Kleiner 2008) – 3/9
  15. The Moral Consequences of Economic Growth (Friedman 2005) – 3/19
  16. Planet India (Kamdar 2007) – 3/25
  17. The 21st Century Economy (Epping 2009) – 3/25
  18. In Defense of Food (Pollan 2008) – 3/27
  19. The Cost of Living (Roy 1999) – 3/31
  20. Lexus and the Olive Tree (Friedman 2000) – 4/6
  21. The God of Small Things (Roy 1997) – 4/12
  22. Development as Fredom (Sen 1999) – 4/3
  23. Heat, Bill Buford
  24. In The Graveyard of Empires, Seth G. Jones
  25. Under The Banner of Heaven, John Krakauer
  26. Muhammad, Karen Armstrong
  27. One to Nine, Hodges
  28. In Pursuit of Elegance, Matt May
  29. That Old Cape Magic, Richard Russo
  30. The Time Traveller’s Wife, Audrey Niffenegger
  31. Oryx and Crake, Margaret Attwood
  32. Lake of the Woods, Tim O’Brien
  33. The Shipping News, E . Annie Proulx
  34. Busted, Edmund Andrews
  35. The Hour I First Believed, Wally Lamb.
  36. The Elements of Style, Strunk and White
  37. The Genius Machine, Gerald Sindell
  38. Catching the Wolf of Wall Street, Jordan Belfort
  39. Hanibal Rising
  40. The Handmaid’s Tail, Margaret Attwood
  41. Fiasco: The American Military Adventure in Iraq, Thomas E. Ricks
  42. The One Percent Doctrine: Deep Inside America’s Pursuit of Its Enemies Since 9/11, Ron Suskind
  43. The Red Tent, Anita Diamant
  44. The Life of Pi, Yann Martel
  45. A Thousand Splendid Suns, Khaled Hosseini
  46. The Year of the Flood, Margaret Attwood
  47. Her Fearful Symetry, Audrey Niffenegger
  48. Indignation, Phillip Roth

Your own personal cheeses, Depeche Mode Pizzera

1. The Explainer Column
“Answers to your questions about the news.”

Top-notch analysis; crispy clean copy.

Ex. “What’s ‘Unlawful Sexual Intercourse’? — And other questions from the Explainer’s Roman Polanski roundup.”

2. The Slatest

The read the news so you don’t have to.

3. News Dots

Visualizing the relationship of trending news topics. If someone asks you “What’s the semantic web?” Just show them News Dots and say “It lets you do stuff like this.”

Here’s some quick stub-code for shortening urls using PHP + cURL and the http://is.gd/ api.



    function is_gd_shorten_url($url_to_shorten, $use_curl=false)
    {
        # uses cURL or fopen to return the short version of a URL
        # fopen requries the php.ini setting allow_url_open=on which
        # many web hosts don't allow, cURL requires PHP to be compiled
        # with cURL support. Many hosts allow/provide cURL. check a
        # phpinfo() page if you don't know which vs. to use.
        $url_stem = "http://is.gd/api.php?longurl=";
        $url = $url_stem . urlencode($url_to_shorten);
        $shortened_url = '';

        if(!$use_curl) {
            $fp = fopen($url, 'r');
            while (!feof($fp)) {
                $shortened_url .= fread($fp, 8192);
            }
            fclose($fp);
        } elseif(defined(curl_init)) {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            # return the transfer as a string
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            $shortened_url = curl_exec($ch);
            curl_close($ch);
        }
        return $shortened_url;
    }

Update: added support for fopen in addition to curl.

mitsmb-lastfm-wordle

That’s sort of a visualization of the top tracks I’ve listened to and reported back to Last.fm. I’ve been wanting to do more research in the webservices area in anticipation of doing a larger collective intelligence type project, so when my friend Mark mentioned this python script called pylast I thought I’d try it out.

The pylast code is nicely done, but I didn’t see much in the way of documentation, so it took a little while to get this going, hopefully the links below will save you some time if you’re starting out hacking Last.fm’s API with Python.

pylast module source
pylast installation
pylast documentation (from PyDoc, e.g. pydoc -w pylast pylast.html)

A few things you’ll need (in addition to a Last.fm account with some data)
Last.fm API Account you’ll need you API Key, Secret Key, and Last.fm password
Last.fm API documentation

Here is the source code. to extract your top tracks from last.fm. (also below)

My top tracks overall
The wordle-ready file input file
Create your own Wordle

Please let me know how you’d improve this or if you have suggestions, links to / for cool things to do with Last.fm’s API.


#!/usr/bin/python

import time
import pylast
import re

from md5 import md5

user_name = 'mitsmb'
user_password = 'password_you_login_to_lastfm_with'
api_key = 'YOUR_LASTFM_API_KEY_GOES_HERE'
api_secret = 'YOUR_LASTFM_SECRET_GOES_HERE'
top_tracks_file = open('top_tracks_wordle.txt', 'w')

# to make the output more interesting for wordle viz.
# run against all periods. if you just want one period,
# delete the others from this list
time_periods = ['PERIOD_12MONTHS', 'PERIOD_6MONTHS', 'PERIOD_3MONTHS', 'PERIOD_OVERALL']
# time_periods = ['PERIOD_OVERALL']
#####
## shouldn't have to edit anything below here
#####
md5_user_password = md5(user_password).hexdigest()
sg = pylast.SessionKeyGenerator(api_key, api_secret)
session_key = sg.get_session_key(user_name, md5_user_password)

user = pylast.User(user_name, api_key, api_secret, session_key)
top_tracks = []
for time_period in time_periods:
    # by default pylast returns a seq in the format:
    #  "Item: Andrew Bird - Fake Palindromes, Weight: 33"
    tracks = user.get_top_tracks(period=time_period)

    # regex that tries to pull out only the track name (
    # for the ex. above "Fake Palindromes"
    p = re.compile('.*[\s]-[\s](.*), Weight: [\d]+')

    for track in tracks:
        m = p.match(str(track))
        track = m.groups()[0]
        top_tracks.append(track)
    # be nice to last.fm's servers
    time.sleep(5)

top_tracks = "\n".join(top_tracks)
top_tracks_file.write(top_tracks)
top_tracks_file.close()

Christensen gave a keynote address today at the World Innovation Forum, here are three talks he’s given at MIT that are available via MIT World. (MIT World has over 630 video’s of significant talks given at MIT dating back to 2001).

MIT World Videos

The Innovator’s Prescription: A Disruptive Solution to the Healthcare Crisis

May 13, 2008
Clayton Christensen

China, Taiwan , and the U.S.: A Coming Conflict? Session Two

February 25, 2002
Moderator: Stephen W. Van Evera
Panelists:

  • Stephen W. Van Evera
  • Thomas J. Christensen
  • Harvey Feldman
  • Chas W. Freeman Jr.

The Innovation Economy: How Technology Is Transforming Existing Industries and Creating New Ones

May 23, 2002
Clayton Christensen

Here’s a list of articles that have appeared in the MIT Sloan Management Review, Wall Street Journal / MIT Sloan Business Insight or SMR blogs. I’m tracking the #wif09 Twitter hashtag to see if other articles we’ve published would be relevant to the #wif09 crowd (on-site or, like me, virtual).

Enjoy!

Clayton Christensen

How Hard Times Can Drive Innovation

An interview with Clayton M. Christensen
December 14, 2008

Sure, the economy’s bad. But it’s a good time to innovate, according to Clayton M. Christensen, a Harvard Business School professor who focuses on innovation. He is the author or co-author of a number of books on the subject, from “The Innovator’s Dilemma” to a book due out next month on health care, “The Innovator’s Prescription.”

Good Days for Disruptors

An interview with Clayton M. Christensen
April 1, 2009 (registration required)

In the minds of many, the financial crisis has given innovation a black eye. Disruption theorist Clayton Christensen disagrees.

Finding the Right Job For Your Product

By Clayton M. Christensen, Scott D. Anthony, Gerald Berstell and Denise Nitterhouse
April 1, 2007 (purchase: 6.50 or subscribe)

This article has three purposes: The first is to describe the benefits that executives can reap when they segment their markets by job. The second is to describe the methods that those involved in marketing and new-product development can use to identify the job-based structure of a market. And, finally, the third is to show how the details of business plans become coherent when innovators understand the job to be done.

The Great Leap: Driving Innovation From the Base of the Pyramid

By Stuart L. Hart and Clayton M. Christensen
October 15, 2002 (purchase: 6.50 or subscribe)

Billions of poor people aspire to join the world’s economy. Disruptive innovation can pave the way, helping companies combine sustainable corporate growth with social responsibility.

C.K. Prahalad

The New Frontier of Experience Innovation

By C. K. Prahalad and Venkatram Ramaswamy
July 15, 2003 (purchase: 6.50 or subscribe)

The next practices of innovation must shift the focus away from products and services and onto experience environments — supported by a network of companies and consumer communities — to co-create unique value for individual customers.

Dan Ariely

The Irrationalities of Product Pricing

An interview with Dan Ariely
September 22, 2008

This Business Insight piece is a shorter version of the interview published in MIT Sloan Management Review (see below).

A Manager’s Guide to Human Irrationalities

An Interview with Dan Ariely
January 7, 2009 (registration, purchase/6.50 or subscribe)

People aren’t stupid – they just often act that way. Noted behavioral economist Dan Ariely explains what that should mean for strategists.

With the release of our book, Honest Seduction: Using Post-Click Marketing to Turn Landing Pages into Game Changers, I’ve been reflecting back on the start of the post-click marketing movement.

Our vision for post-click marketing as a new discipline — elevating the concept of landing pages into a more a holistic and strategic online marketing practice — was born in the spring of 2005. At the same time, I began a graduate program at MIT Sloan, and over the subsequent 2 years, interwove many of the latest management and marketing ideas from MIT’s best professors into our post-click marketing best practices.

Here are my top 3 “landing page secrets from MIT”, and who inspired them:

Read the full article “3 MIT-inspired landing page strategies – Post-Click Marketing Blog – ion interactive.”

Thanks to @MITSloanExecEd for the tip.

kime-wordle

Inspired by Tim O’Reilly’s post, I created a wordle visualization of my Tweets. Tweets were retrieved using this python script. Then I ran the output through this sed filter:

sed s/\<[^\<]*\>//g tweets > tweets.txt

The result:
picture-1

Title, (Author Last Name, Date of Publication) – Date Completed

  1. Lexus and the Olive Tree (Friedman 2000) – 4/6
  2. The God of Small Things (Roy 1997) – 4/12
  3. Development as Fredom (Sen 1999) – 4/30

Page count for March: 1,095 (36.50/day)

The list of books read in 2008 struggled its way to 66, I’m aiming for 100 in 2009.

2009 totals: 21 books, 6,254 pages, 52.12/day, on pace for 63 books, behind 12 books–OUCH.

The Amartya Sen book killed me, it started to take away my will to read anything…. Oh and baseball season started.

From the list below I would highly recommend: Pollan’s In Defense of Food and Friedman’s The Moral Consequences of Economic Growth.

Title, (Author Last Name, Date of Publication) – Date Completed

  1. Beyond Bullshit: Straight-Talk at Work (Culbert 2008) – 3/2
  2. The Age of Heretics (Kleiner 2008) – 3/9
  3. The Moral Consequences of Economic Growth (Friedman 2005) – 3/19
  4. Planet India (Kamdar 2007) – 3/25
  5. The 21st Century Economy (Epping 2009) – 3/25
  6. In Defense of Food (Pollan 2008) – 3/27
  7. The Cost of Living (Roy 1999) – 3/31

Page count for March: 1,545 (49.84/day)

The list of books read in 2008 struggled its way to 66, I’m aiming for 100 in 2009.

2009 totals: 19 books, 5,159 pages, 57.32/day, on pace for 76 books, behind 6 books.

The following function returns true if the current user is one of the bots we consider “good.” (Not that they are better than other legit bots, but ones that we provide a special service to)

This code can be used to allow search engines to index content that is normally behind a registration form. For a good user experience, thought it should be used in conjunction with a “first click free” type implementation (which I’m still working on).

In a WordPress local install you can put this in your blogs functions.php page and then call it in the loop as part of the decision to output the_excerpt() or the_content().


# is the remote client (current web browser requesting page that calls
# this function) one of the
# search bots that we would like to serve alternate content to? (e.g.
# should they get full text version
# of content pages, or should we show them the preview + registration
# form?)
function is_good_bot()
{

    # to avoid unecessary lookup, only check if the UA matches one of
    # the bots we like
    $ua = $_SERVER['HTTP_USER_AGENT'];
    if(
        preg_match("/Yahoo! Slurp/i", $ua) ||
        preg_match("/googlebot/i", $ua) ||
        # for testing purposes, put something from your current user
        # agent string in below
        # preg_match("/2009042315/", $ua) ||
        preg_match("/msnbot/i", $ua)
        )
    {

        # user agent contains one of the magic phrases, now do a
        # forward and reverse DNS check
        # each of the search providers that we use asserts that their
        # bot domains will always
        # end in the strings in the below preg_match(es)
        # check forward/reverse to make IP address / hostname spoofing
        # very hard.
        $ip=$_SERVER['REMOTE_ADDR'];
        $hostname=gethostbyaddr($ip);
        $ip_by_hostname=gethostbyname($hostname);
        if ($ip_by_hostname == $ip) {
            if(
                preg_match("/\.googlebot\.com$/", $hostname) ||
                preg_match("/search\.msn\.com$/", $hostname) ||
                # testing: enter your hostname here
                # preg_match("/example.com$/", $hostname) ||
                preg_match("/crawl\.yahoo\.net$/", $hostname)         

                )
            {
                # good bot.
                return true;
            } else {
                # bad bot, and possible bad person all around.
                return false;
            }
        } else {
            # bad bot, and possible bad person all around.
            return false;
        }

    } else {
        # If the UA of a prefered bot isn't present, just skip the 2x
        # DNS checks
        return false;
    }
}

Older Posts »