Archive for the ‘Tech’ Category

FamilyLink.com + Kynetx + WordPress

Monday, February 15th, 2010

Following up on my previous Kynetx post, here’s a demo of how FamilyLink.com and Kynetx could reveal your relatives on WordPress blogs:

FamilyLink.com + Kynetx: How websites could be better with your family

Thursday, January 7th, 2010

I’ve been playing around with Kynetx.com technology. I think it has a lot of cool potential for helping FamilyLink.com users see who their relatives are across multiple websites.

For example,

  • What if you could see your FamilyLink.com relatives directly in Facebook?
  • If you knew which LinkedIn users were your relatives, would you be more likely to do business?
  • If you knew which Twitter users were your relatives, would you be more likely to follow them?
  • If you discovered that a comment on a political news story with which you strongly disagreed was from a relative, would you be more careful how you responded?

Here’s a demo video:

Reminiscing about Provo411.com and Scraping the Course Catalog

Thursday, October 8th, 2009

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:

RUBY:
  1. #!/usr/bin/env ruby
  2.  
  3. # a list of course call numbers to check
  4. call_numbers = %w{ 46405 46407 46409 46411 46415 46413 53252 53254 53256 53258 53260 53262 53268 53270 53272 53274 46423 46435 53276 46443 }
  5.  
  6. # auth_token obtained via Firefox+TamperData while my brother logged into CSN
  7. auth_token = "123456789012345"
  8.  
  9. say "Checking"
  10.  
  11. call_numbers.uniq.sort.each do |call_number|
  12.     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"`
  13.     print "Call number #{call_number}: "
  14.     if (c =~ /<p class="p5">([^<]+)<br\/>/m)
  15.         if $1.strip.empty?
  16.             puts "May have openings\n"
  17.             3.times {say "Michael, class number #{call_number} may be open!"}
  18.         else
  19.             puts "#{$1.strip}\n"
  20.         end
  21.     else
  22.         puts "could not find message"
  23.         say "Help. I cannot access the C S N website."
  24.         return
  25.     end
  26.     sleep 5
  27. end
  28.  
  29. # Ouput an audible message via Mac OS X's speech function
  30. def say(message)
  31.     `say "#{message}"`
  32. 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.

iPhone tip: Use a Silent Ringtone to Screen Calls in Your Sleep

Thursday, August 6th, 2009

Have you ever wished your iPhone would ring only when certain people call? Here's how to do it:

  1. Download the "Silence" ringtone here: silence.m4r
  2. Copy this file into the Ringtones section of your iTunes. (Click to enlarge.)

    adding_ringtone_to_itunes
  3. Sync your iPhone with iTunes to load the ringtone.
  4. On your iPhone, change your ringtone to "Silence" (under Settings -> Sounds -> Ringtone). You'll no longer hear your phone calls.

    2_iphone_silence_ringtone
  5. For each person whose calls you still want to hear, change his or her Custom Ringtone to something audible: Click the name in your contact list, choose Ringtone, then choose something besides Default

    3_iphone_important_caller 4_iphone_audible_ringtone

Now you can screen calls in your sleep. Because Sunday afternoons are for napping.

3 Uses for iPhone Screenshots

Tuesday, June 23rd, 2009

For all the iPhone users out there: You probably know you can take a snapshot of whatever you see on your screen:

  1. Briefly press the top and front buttons at the same time.
  2. The screen will flash white and you'll hear a "snapshot" sound.
  3. A picture of your screen is now in your iPhone "Photos".

I've found it extremely helpful to make screenshots, and I do it all the time. Here are a few reasons:

Remember an Interesting Part of a Podcast

If I'm driving and hear something I like in a podcast, I make a quick screenshot of the playback screen. When I get back to my computer, I can return to that spot in the podcast and take notes.

iphone_screenshot_podcast

Save a Point on a Map

Sometimes I want to "bookmark" a location on the map before looking up something else. A screenshot is a fast way to do this.

iphone_screenshot_map

Save a Website Address Without Interrupting Your Reading

Sometimes when I'm reading in Google Reader, I want to save the location of an article to read later. (I don't want to leave Google Reader immediately because it has to entirely reload when I return.)

If you hold your finger on a link for a few seconds, a menu will popup with the address of the link. Sometimes I simply save a screenshot of the link, then hit Cancel and go back to my reading. Later I read the items I saved in my screenshots.

iphone_screenshot_opened_link

Screenshots can help you practice "ubiquitous capture" -- capturing all notes, thoughts, and ideas, as they come to you, so you don't have to keep them in your head.