Mobile app: WHEREAMI

WHEREAMI is a mobile application that accepts a username as input, searches public profiles on various location-aware services, and returns the user’s last known location via text message.

Just text 41411 with whereami <username>, where <username> is a username that you or someone you know is likely to use.

results of WHEREAMI hmason

For example, if you text whereami hmason to 41411, you’ll see a response much like the image to the left.

This app works on the principle that people tend to use the same username for many applications. The WHEREAMI script will search through a variety of web services for a result for that username. All of the information is public and available without logging in.

Right now, the script will search Brightkite, then Dopplr, and finally Twitter. If you know of another site with public user location information, please comment below and I’ll add it!


Firefox Extension: Open Tab Count 1.0

Screenshot of the open tab count extension

Open tab count extension in the status bar

How many tabs do you have open in your browser right now?

Did you have to count manually? Are you using Firefox? Try the open tab count extension!

I created this extension because I wanted to explore memory management in browser tabs, and I was curious about the Firefox extension architecture. I’m not quite as eager to explore memory hacks in Firefox now that Google Chrome is out and handles that issue natively, but I’m still using this extension to monitor my tab (over)usage.

The extension puts a small icon in the status bar alongside the number of open tabs. If more than one window is open, the extension shows the number of open tabs in the current window / the total number of open tabs.

Please let me know below if you have any comments!

Update: An update has been submitted to Mozilla that supports Firefox 3.5, and it’ll show up on the it’s now available on the official extension page once it’s been approved.


What am I like? How about you?

My Path 101 Personality Quiz Traits

Highest Scoring Traits

Love of Thinking

Relativism

Compartmentalization

Lowest Scoring Traits

Concreteness

Idealism

Emotion

Like-minded people work in:

Biotechnology and Pharmaceuticals

Medical Equipment Manufacturing

Computer Hardware and Infrastructure

Urban Planning

Corporate Law

See hmason’s full assessment and get your own.

I’ve always been skeptical of and fascinated by personality tests. On the one hand, it’s your personality — who could possibly know more about you than you do? On the other, there’s something alluring about quantifying your characteristics, especially when you can compare them to others.

These are my results from the Path101 personality test. Go see how you compare!


Welcome

Hello, and welcome to everyone who found this site via Torley’s story on the Second Life blog!

I lead the Immersive Media Lab at J&W University. Several of our projects have utilized Second Life, including Virtual Morocco (cultural exchange and tourism promotion for the country of Morocco) and SLMetrics (a study of behavior modeling in virtual environments).

This isn’t a Second Life blog, but you will find LSL scripts and other related ephemera around.

You can subscribe to the RSS feed for this site, or find out more about me at HilaryMason.com.


InfoFez: Information-based Navigation in Second Life

The new version of the InfoFez launches on April 7th… be there!


The Essential Elements of Geek Culture (March, 2008)

Office Space Movie Poster

I was talking to my web programming seminar about regular expressions and made an allusion to the xkcd comic on that topic. Unfortunately, none of them had seen it, probably because none of them were familiar with xkcd.

Students should become familiar with the concepts and practice of the discipline, but also with the culture and in-jokes that will help them fit in when they get into industry or graduate school. I also like to get people to laugh in ways that are relevant to the subject material (yes, I use a lot of cheesy geek jokes — ask me to tell you my LISP joke sometime).

I asked the Twitter community what other geek cultural elements I should introduce the students to, and here are the answers:

This list is thanks to (in order of appearance) @mediacrisis, @rubaiyat, @techpickles, @mattgillooly, @hempstyle, and @inkedmn.


LSL: Notecard Selector

One of my friendly librarian colleagues in SL asked if I had a script to generate dialogs and allow users to select notecards handy. I didn’t, so I coded it up. It seems like it could be useful to others, so here you go:

This script is in LSL, for Second Life. Just copy and paste it into a script, throw a few notecards into the object, and you’ll be ready to go!

//  Notecard Selector
//  by Ann Enigma
//  This script presents users with a list of notecards in a dialog box, and allows them to select one
//  Note: The names of the notecards must be less than 24 characters long

// This script is licenced under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License
// http://creativecommons.org/licenses/by-nc-sa/3.0/us/

// configurable options
string message = "Which notecard would you like to read?"; // the message on the dialog box
integer command_channel = 616; // the channel on which to listen for commands (you probably won't need to change this)

// the script
list notecards;

default
{
     state_entry() {
          integer i = 0;

          // read the title of each notecard into a list
          for(i=0;i
						

Following a group of Twitterers without exhausting SMS

I’m at SXSW, and I want an ability to see the latest Tweets from the group of Twitterers that I follow who are here in the area. I also have a limited number of text messages on my phone (1500, but still).

I coded up a quick app that allows you to great a group of twitterers and see their latest tweet on a mobile-friend page. Check it out.

Comments are welcome!


How to Control Second Life with a Wii-mote (on a Macbook Pro)

wii + SL = cool

My research group had some fun controlling SL with a Wii-mote a few weeks ago. It’s easier than you think! Several people have asked how we did it, so I hope these quick instructions might come in handy.

  1. Download, install, and run DarwiinRemote.
  2. Turn Bluetooth on on the Macbook. You can do this by opening the Bluetooth Preferences Pane (Apple menu, System Preferences and choose “Bluetooth” under Hardware) and clicking the big “Turn Bluetooth On” button. If Bluetooth is already on, you can skip this step!
  3. Hold the Wii-mote in front of the Macbook and press buttons 1 and 2 simultaneously. The LEDs on the Wii-mote will flash.
  4. As you move the Wii-mote, you’ll see your movement plotted on the screen, as you see below.
  5. Drop down the option box and choose “Mouse Mode On (Motion)”.
  6. Load up Second Life.
  7. Fly! By default, you can control the direction with the direction keys at the end of the Wii-mote.
  8. Laugh with glee, because this is cool.

darwiinmote


Create a group Twitter account

Twitter rocks. It’s useful for all kinds of things, but especially for chronicling a live event as it happens, including the pre-event discussion and post-conference wrapup.

We’re very excited to be hosting NewB Camp here in Providence, RI on February 23rd. In preparation for the event, Sara created a NewBCamp Twitter account and I coded up this quick script to pull in all tweets related to the conference.

It examines all of your followers tweets for a particular phrase or tag, and then reposts those tweets containing the tag to its own timeline with the author’s name prepended. I’m running this as a cron job on my hosting account. You can see it in action here.

This is a quick hack. It has a couple of issue that I’m aware of:

  • Someone has to log in and manually add followers.
  • The Twitter API only returns the previous 20 friends posts, and it’s possible we might miss some if we have so many friends that the post rate exceeds 20/50 secs (our permitted API request rate).

I do hope that you find this useful for creating your own Twitter event monitor!

include("twitter.php"); // Twitter API class
// Available: http://twitter-development-talk.googlegroups.com/web/api_class.phps.txt

// configurable options
$twitter_user = "newbcamp"; // Twitter username
$twitter_pass = "passwordgoeshere"; // Twitter password
$tag = "newbcamp"; // tag for friends to use

$twitter = new Twitter($twitter_user, $twitter_pass);

$last_post = json_decode($twitter->getUserTimeline("json",$twitter_user,1), true);
$last_post = $last_post[0]['created_at']; // get the datetime stamp of the last post to the account

// get new posts from friends since last update
$friends_posts = json_decode($twitter->getFriendsTimeline("json",$twitter_user,$last_post), true);

foreach($friends_posts as $key => $post) {
 if (stripos($post['text'],$tag)) { // if the tag is present
  if ($post['user']['screen_name'] != $twitter_user) { // no infinite loops, please
   $new_post = $post['user']['screen_name'] . ": " . $post['text'];
   // post the new post to the newbcamp account with the user's name prepended
   $twitter->updateStatus($new_post);
  }
 }
}

Update 10.16.2009: This script is basically superseded by Twitter’s lists feature. Use that instead!