The 12th quasi-annual Microsoft Puzzle Hunt just kicked off. Biggest changes so far are that each team can choose one of two groups to participate in: COMPETITIVE or RECREATIONAL.
Teams who choose to be COMPETITIVE get the experience most like historical hunts:
COMPETITIVE teams will have an experience consistent with past Microsoft Puzzle Hunts. Puzzle Central, however, intends to offer no hints or help to individual COMPETITIVE teams.
On the other hand, teams could choose to have access to unlimited help:
RECREATIONAL teams will have more help available to them- in fact, they’ll have more help than in any past Hunt. A hint database will be available to all RECREATIONAL teams. If a RECREATIONAL team gets stuck on a puzzle, they can request a hint from the automated site. If that hint doesn’t unblock them, they can request another. And another.
Finally, teams have the option to change classes at will, but only in one direction:
Most importantly, any COMPETITIVE team can convert to being a RECREATIONAL team at any time during the event. RECREATIONAL teams, however, cannot become COMPETITIVE.
I’ll provide additional thoughts and analysis here throughout the weekend.
You’ve all heard me say before that every web site benefits from a data API. A corollary to that claim is that every site’s users benefit
from a data API, and there are few domains where that corollary applies more than in Government.
The good news is that we lowly citizens have some strong coalitions of fellow lowly citizens advocating for our side.
The Sunlight Labs project over at the Sunlight Foundation just announced that they’re seeking volunteers to help scrape state legislative data to better enable automatic consumption of, and mashups on, government data.
If you have a couple of hours free and are proficient in some parsing library (Beautiful Soup? Perl?), check out the state legislation data project wiki, and consider helping them out with your state.
If you love data and freedom, please spread the word!
My mom was in town visiting this weekend, and when I went to demo Freebase for her, I asked her to name a famous person. She suggested Pope John Paul II, so we looked him up. Most of the information that you would expect Freebase to know about him, it did. But there was one glaring omission: it didn’t know that he was Catholic.
Since Freebase knows 263 people who have ever been a professional Pope, I decided that it would take a little too long to update them each by hand. And so I set out to scribble up a few lines of Python to use the Freebase API libs for Python.
(Note for IronPython users: For help with the minor tricky steps of getting the Freebase API libraries working with IronPython, see my write-up over on Stack Overflow.)
Since I intended to write data to Freebase, I needed an authenticated account:
import freebase.api as fb
mss = fb.HTTPMetawebSession("sandbox.freebase.com")
# use be "www.freebase.com" once you've tested against sandbox
mss.username = "user"
mss.password = "password"
mss.login()
Next I needed to get a list of all of known Popes. For that, I used the following MQL Query:
query = [{‘profession’: {‘id’:‘/en/pope’},
‘type’:’/people/person’,
‘name’: None,
‘id’:None,
‘limit’:500}]
results = mss.mqlread(query)
This gave me an array of 263 results consisting of the English names and Freebase IDs of everyone who has ever had the profession of Pope. (I could have said ‘profession’: ‘Pope’ as the very first line of the query, but I chose to use the ID to make sure that there isn’t some other kind of Pope that I don’t know about.)
Next came the updates themselves. One safety feature built in to MQL is that you can only update one link per MQL Write, so I had to issue one update for each of the Popes returned from the read above:
for r in results:
writequery = {
'id': r.id,
'/people/person/religion':
{
'connect':'insert',
'id':'/en/catholicism'
}
}
mss.mqlwrite(writequery)
Each write took slightly under a second, and since I was running this interactively, the mqlwrite() call displayed the update status for each call. For most of the Popes, it had no idea about their religion, and so it replied:
{'/people/person/religion': {'connect': 'inserted', 'id': '/en/catholicism'},
'id': '/en/pope_sisinnius'}
But for those that it did know:
{'/people/person/religion': {'connect': 'present', 'id': '/en/catholicism'},
'id': '/en/pope_sisinnius'}
You no longer have to live in fear of the day that your application built on Google’s App Engine (GAE) actually becomes successful. Until now,
if your application exceeded its daily quotas, your users would simply be turned away.
You had no option to migrate off of GAE because of its completely custom execution environment that is almost impossible to duplicate outside Google, and you had no option to purchase additional resources to keep your application running above and beyond the resources that Google was willing to give to you for free.
Google just announced that this has changed. You can now buy resources such as CPU time, bandwidth, storage, or emails if the popularity of your application causes you to exceed the quotas imposed on freeloaders.
I still have some big concerns about choosing Google App Engine as the hosting environment for a real business application:
The bottom line is that the new billing model probably makes Google App Engine good enough now for nearly any casual web services project, but if you’re looking to build a commercial web service that you can scale to the stars, you’d still be better off considering a hosting environment such as Amazon Web Services where you have total control over the environment in which your application runs, and could migrate elsewhere (including your own data center, or that of your acquirer) should the need arise.
@StevenWalling points out a quick write-up on Online Journalism Blog about a really slick real estate mash-up, Suburbified, that has been built using the New York Times Article Search API.
To me, the coolest part about this isn’t the mash-up itself—it’s that a blog about jornalism news understands the significance of an old-school media company building a data API to give third parties easy access to their data assets. From Paul Bradshaw’s Online Journalism Blog article:
So, for free*, the NYT now has a new way for people to find its articles, and a new source of traffic for its archives.
*That is, the cost of creating the database and API. Consider it a case of match-funding development costs, with the other half met by people keen to play with your ‘toys’
He’s absolutely right—the New York Times is getting volunteers to build value for them and their readers by simply providing a data API. They’re not having to spend time guessing what might work or testing prototypes—fans of their Data API are doing that for them.
You should provide access to your data, too!
Those of you who read this blog (and my more technical blog API Guy) regularly know that I’m a huge fan of the open collaborative database Freebase.com.
This weekend, I recruited my mom (who is currently visiting from out of state) and my wife to ride along with me on the 6 hour drive (each way) from Portland, OR to Vancouver, BC for a 3 hour Freebase.com meet-up at the Irish Heather Gastropub.
I met a bunch of cool people, including James and Ben from BioVenturist, Dale McGladdery (one of the organizers of Northern Voice), fellow Freebase developer-enthusiast Jim Pick, designer and techno-philosopher Dorian Taylor, and others.
While I was there, the Freebase community director hooked me up with a t-shirt:
PS—to make 12 hours of total driving for a 3 hour meeting make sense, think of it as a road-trip with home as the destination and a 3 hour tourism break at some interesting point in the middle.
I really think Microsoft is onto something with their retro t-shirt line. The shirts evoke feelings from an era before you learned to hate Microsoft.
This post isn’t about one of those shirts. This post is about the current era. The one where many of you have decided to take sides with Justin Long. Well, I’m here to tell you that John Hodgman is my General.
Oh, I have to confess that I’m technically breaking the rules for a Monday t-shirt post—this isn’t a debut. I’ve been spotted wearing it before in the wild. Unfortunately, I missed the perfect opportunity to wear it for best comedic effect: it was in the laundry the day I went to Portland’s CyborgCamp.
Bonus link: next time I’m in Seattle, I’ll have to go stock up on Microsoft logowear!
You each have a Twitter account (you should follow me), and unless you’re a card carrying member of the Paranoiac party, you’ve almost certainly given out your twitter password to some dumb site that, let’s face it, was so simple to write it could have been written by that nice gentleman from Nigeria that emails you regularly about how he needs your help to work around the frustrating customer service is at his bank.
Sometime in the next couple of weeks, you should be able to change your twitter password one last time and never again enter it anywhere off twitter.com. OAuth is coming Real Soon Now to Twitter!
The most interesting thing to me excerpt from the image above (which came from http://twitter.com/oauth_clients) is the text that says “Welcome to the Develper Beta of the Twitter Application Platform”. They’ve had a documented API since at least as far back as November, but I don’t know that I’ve ever heard the phrase “Twitter Application Platform” before now.
One of the things that has gotten them as far as they are in terms of popularity, especially with the nerd crowd is the never-ending stream of Twitter Toys out there (cursebird, twellow, Twitter Grader), but the fact that they care enough now to put a name to it that you can tell their attorneys want to see followed by “TM” makes me feel confident that they’re finally and irrevocably grokked that the power is in the platform.
Hey, everybody. I’ve been torn lately between tweaking my blog habits to provide more relevant content for my technical blog audience and tweaking it to provide less of the nuts and bolts technical content for my non-technical friends and family.
I ultimately decided that I have enough content in me to sustain both, but that I should separate it into two blogs. As I was considering what the right focus should be for my technical blog, I realized that one of the most common threads in all of my favorite technologies is that they have some platform component that makes it easy to take what they’ve done and build on top of it. (See below for the rundown of my favorite technologies—you’ll see what I mean.)
Once I internalized that platforms fascinate me, it didn’t take much reflection to realize they have very broad appeal—in large part they’re the stuff that makes mash-ups work, the stuff that enables people to do unexpected and amazing things with Twitter, and the stuff that makes the Internet tick. They’re essentially the legos that we techies build toys (and even businesses) out of as adults.
My intent for apiguy.com is for it to be a good place to watch for news of interest to my fellow platforms geeks, tips on how to build the ideal data platform onto your application or how to use existing data platforms to make your app better, and a space for me to share the recipes that I use to cook up some fun toys using some of the platforms that are out there in the world.
Shinteki has chosen dates for Decathlon 5.
From their announcement:
Shinteki Decathlon, a 12 hour puzzling adventure in the San Francisco Bay Area, returns in 2009 for players of all experience levels. Decathlon 5 will be run on Saturday, May 30 and again on Saturday, June 6. We’ll send out notification when signups go live.

Categories
Tag Cloud
Blog RSS
Comments RSS
Last 50 Posts
Back
Back
Void
Life « Default
Earth
Wind
Water
Fire
Light 