Uncategorized25 Apr 2010 01:28 pm

On your own notebook computers with one central site-packages for your python setup, follow instructions at http://pypi.python.org/pypi/setuptools

One way is to download http://peak.telecommunity.com/dist/ez_setup.py

and run it (i.e., python ez_setup.py)

Then you’ll be able to do

easy_install simplejson


on people.ischool.berkeley.edu:

add to ~/.cshrc:

setenv PYTHONPATH ~/lib/python2.5/site-packages

then you can run

source ~/.cshrc

setup your virtual python:

wget http://svn.python.org/projects/sandbox/trunk/setuptools/virtual-python.py
python virtual-python.py

This sets up a custom python environment that you can run from ~/bin

wget http://peak.telecommunity.com/dist/ez_setup.py

~/bin/python ez_setup.py –prefix=~

Now you’re ready to install simplejson

~/bin/easy_install –prefix=~ simplejson

Demo of http://people.ischool.berkeley.edu/~rdhyee/cgi-bin/testsimplejson.py


import simplejson as json
print “Content-Type: application/json”

m = {‘states’:{‘CA’:’California’, ‘NY’:’New York’, ‘MM’:None}, ‘provinces’:{‘ON’:’Ontario’,’BC’:’British Columbia’}}
m_json = json.dumps(m)
print m_json

Optional — to install virtualenv

~/bin/easy_install –prefix=~ virtualenv

Uncategorized21 Apr 2010 11:39 am

A reminder of the schedule:

Day 26 Wed 2010-04-28 Project Presentations I
Day 27 Mon 2010-05-03 Project Presentations II
Day 28 Wed 2010-05-05 Open House

Pick which day you want to present on and let me know.  Presentations are up to 15 minutes.

Written reports are due on Wednesday, May 5 in class.



I rewrote most of the code in Ch 10 to run using Python on the I School server.  See


The proxy code is at http://people.ischool.berkeley.edu/~rdhyee/s10/day24/flickrgeo.py — the proxy runs at http://people.ischool.berkeley.edu/~rdhyee/cgi-bin/s10/day24/flickrgeo.py

Uncategorized10 Feb 2010 12:31 pm

See the notes.

Uncategorized08 Feb 2010 12:20 pm

Notes to be filled out as we go — please post your answers to exercises #1 and #2 as responses to the Day 6 notes.

Uncategorized11 May 2009 08:57 am
On behalf of my students in the Mixing and Remixing Information Spring 2009 class, I’d like to invite you to our Open House:

Monday, May 11 12:45-2pm
110 South Hall, UC Berkeley

Bring your friends along and forward this email to others you think will be interested.  All are welcome.

At the Open House, students will be presenting their semester-long projects, which all reuse or recombine information to create something new.  We will be setting up the room for poster-style presentations.  Light refreshments will be served. Please feel free to drop by anytime during the hour to see some demos and talk to the students.  I think that you’ll be impressed by the imagination and hard work of the projects.

For more information, please contact feel contact me (Raymond Yee  — yee@berkeley.edu)

Six projects will be presented.  See http://blog.mixingandremixing.info/s09/class-projects/ for an updated listing:

Becky Hurwitz

Wattzon creates tools for people to understand the energy they use in the various activities of their lives. The company believes that if we know more about the embodied energy consumption of the things and activities in our lives, that we will begin to look for alternative things and activities to reduce our personal energy consumption. I believe that we might use even less energy if we know more about other people’s energy uses. This mashup is a Facebook application that takes advantage of the Wattzon API to allow Facebook users to share their Wattzon energy consumption data with one another.

Personal Online Activity Aggregator
Stephanie Pakrul

Going a step beyond lifestreaming, this mashup collects data using a local desktop application and Drupal-based web app. Focused on data collected via the RescueTime service, it aggregates desktop and web browser activity, along with email and other communication logs, with publicly available RSS feeds. This provides a more complete picture of one’s computer and online activity in one central location, which can be shared online.

India Votes
Gopal Vaswani

Indian General Election is the largest election held in the world and an average Indian is very much involved with the election process. There are discussions and debates in all quarters of the country about the effectiveness of the current government and predictions for the next government. I am motivated to help in this discussion and debate through the use of mixing-remixing course project. It is practically impossible to cover all aspects of the election for the purpose of this project so I have decided to focus on providing a small set of information which can help people conduct debates and discussion and know more about their constituency. Currently there is limited tool and information available online where a user can view the election history of any particular Indian constituency. People interested in politics would very much like to growth or decline of political parties over the years in a specific constituency. This data will satisfy the curious, prompt debate and might provide a prediction for the next election.

Ben Cohen, Michael Lissner, and Nat Wharton

As more and more personal information moves online, a need for digital curation develops that needs to be addressed. Sempervitae.org aims to help people manage their digital assets while they are alive so that after their death, a friend or family member can take specific actions on their behalf.

Sempervitae.org is a django-based mashup between facebook, google, and twitter. It allows you to import your google contacts for use throughout the site, post a status update on facebook, send one last tweet after your death, and to close your twitter account, should you desire.

Andy Brooks and Donna Leo

You’re hungry. You want to try a new restaurant in your area, but don’t want to surf multiple restaurant review sites. And you want to know what the restaurant or its food looks like. Does it look hip? Is the food presented as a work of art?

FoodieMash takes user-contributed restaurant ratings from popular sites and presents them in a simple interface. Users enter the type of food they’d like to eat and we gather together the ratings for the matching restaurants that are in close proximity. Rather than having to separately navigate to Yelp, Yahoo Local, and other review sites to find a good restaurant, you can simply go to FoodieMash. And to help you better gauge if it’s your type of place, we show you a matching photograph from Flickr.

Isaac Salier-Hellendag


Dora is a mashup of Pandora streaming internet radio and Twitter, the fast-growing “micoblogging” service. The goal is to streamline tweets about what Pandora’s playing for Twitter users, so that it’s easier to communicate and share your thoughts about the music you’re hearing, and maybe explore some new music while you’re at it. Sure, Gtalk and AIM provide a way for you to broadcast info about your iTunes music through your status/away message. But if we’re talking music and status updates in ‘09, Pandora and Twitter are where it’s at.

Users can add @replies, RT’s, or any other message to their tweet to add their thoughts on their music or whatever else comes to mind. They can also include a dora.fm link that will lead their followers to a Dora page with information about the song they tweeted, plus a brief sample of the song and an option to quickly create a new Pandora station based on the song. Dora users can also access a “profile” page for their Dora tweets (ex. http://dora.fm/u/dorafm), where they can see how many visitors have clicked their dora.fm links and how many users have created stations based on the songs they’ve tweeted.

Uncategorized04 May 2009 09:47 am

A few points I want to relay to my class before the semester ends:

  • the importance of learning how to learn.  I highly recommend Hunt, Andrew. Pragmatic thinking and learning : refactor your “wetware”. Raleigh: Pragmatic, 2008.
  • there will be more and more APIs every day
  • there will be more and more  programming platforms in which to integrate these APIs
  • scraping, alas, will remain a necessary technique
  • I think that a project-driven approach to a powerful way to learn — though it is a trade off of breadth for depth
  • think about how things must work
  • tracking what you do know and what you don’t know
  • articulating exactly where are stuck is a good skill and necessary to the debugging process
  • proposing, refining, and implementing ideas will be things you’ll do a lot of in your careers
  • I’d definitely like to hear what my students thought of the semester — I’d like to stay in touch
Uncategorized27 Apr 2009 03:17 pm

Thanks to Ben for leading us through a demo of Sinatra (“a DSL [domain specific language] for quickly creating web-applications in Ruby with minimal effort”) and Heroku, which is described in the docs as follows:

Heroku is a completely novel approach to deploying web applications. Forget about servers; the fundamental unit is the app. Use the Heroku client gem to create and manage apps from the command line. Then deploy your code with Git, and control the running app with the remote Ruby console and rake commands.

We’re also in the home stretch for this course — that means that students will present their projects to the rest of the class next week and to the general public at the class open house on May 11. The details for what I’m looking for are found at Final Presentations, Report, and Open House.

Uncategorized14 Apr 2009 04:50 pm

On Monday, April 13, we had talks on screen-scraping and usability.

Uncategorized08 Apr 2009 02:47 pm

Thanks, Stephanie, for introducing us today to Drupal.  Her notes can be found at

Uncategorized06 Apr 2009 08:54 am

See the notes for today’s class at http://blog.mixingandremixing.info/s09/day19/

Next Page »