sam keen's corner of the web

Passing the Turing Test

One of the books I am currently reading is “An Introduction to Neural Networks“. The introductory chapter covered the Turing Test and the fact that no computer has ever come close to passing it. The context of the chapter was about the limitations of the computer to house and efficiently access a db of human knowledge in order to answer the questions as a human would.

A thought occurred to me. Are humans becoming more computer-like in the way we interact with each other? In this day and age, many of us interact with computers more than we do with humans. I’m doing it write now as I write this. We gain a great deal of our knowledge as a result of direct contact with computer systems and much of our ‘human to human’ interaction are proxied through computer systems (twitter, IM, email, etc) and we adapt our language on those systems accordingly.

For instance, a human could ask another human:
“Hey Sam, are you attending OSCON this year?”

The equivilent tweet might be:
“@samkeen are you attending #oscon2009″

And some line of computer code might be:
if(samkeen.attending(‘oscon2009′)) {
#take some action;
}

From this you could conclude that the Tweet syntax is bridging the gap between programming code and human dialogue.

If it is true that the way we attain, and share knowledge is becoming more computer-like, will that not someday allow a computer system to pass the Turing Test. Or in that case would it be the human passing the Turing Test?

Trying out bloggers mobile interface

blogger-mobile

Adding some message body to see where it ends up.

kindle2 web browser

kindle2

Very happy with my Kindle2 so far as a book reader. I enjoy reading tech books and my wife uses it for novels.

I’ve started playing with the experimental web browser and have found it to be very useful. As expecting it has trouble with graphics but for mobile oriented sites it has proved quite handy, especially since I have access through 3G.
Shown here is m.twitter.com

Winter Coders Social 2008

This year’s Winter Coders Social is set to go. Come join the party this Tuesday, December 9th at Cubespace.

Details: http://calagator.org/events/1250456151

GD imagettftext broken on Leopard/mac ports

Spent the better part of the morning battling PHP/GD. I needed to overlay text on an image, something I can recall doing in the past without issue. Not this morning though. Everytime the code got to ‘imagettftext’ it would result in a WSOD. After much troubleshooting and Google’ng I found this mention in the PHP bug db which then pointed to the root of the cause: The macports ‘freetype’ lib. The solution for fixing that is here.

hope this helps others

Augmenting Web Services with SMS and XMPP

This talk was centered around adding channels of communication such as SMS and XMPP to existing HTTP web services.
A project called Extapi, is a small web app that manages this coordination between multiple channels and services.
here are the slides for my presentation given on November 14th 2008 at PHP|Works

AT PHP Works

In Atlanta for the php|works conference.
Listening to the Keynote from Kevin Dangoor (founder of turbo gears). He’s discussing successfully fostering open source projects.
Looking forward to meeting new folks with PHP and/or Python backgrounds

Speaking at this years PHPWorks in Atlanta

Very excited that the talk I submitted to php|works was accepted. I’ll be speaking at the Atlanta conference on my continuing work with combining XMPP and SMS with existing web API’s

Shizzow’s public announcment


One of my side projects has turned into a full blown startup. Shizzow.com will be officially announced at today’s Lunch 2.0 at cube space. It’s been a pleasure working with the other fine folks on this project and I’m looking forward to the future.
Thanks to Silicon Florist for all the press

Accessing Trimet Arrival Times with SMS

I discovered the Portland Trimet API about a month ago and was very inspired by the amount of real-time information available and the ease of accessing it through their web service. One feature of the service is that for a given stop id you can get the arrival times for the buses/trains for that stop. These are not the scheduled times but rather the real-time estimated arrival time based on the known GPS coordinates of the actual vehicles on their routes.
You can get to this data through IVR system by dialing 503-238-RIDE or on the web.

In the mean time, I have also been working with extending existing APIs with additional access such as SMS and XMPP (jabber). So it was natural to take on this trimet service as my first proof of concept.
For SMS access, you simple text “pdxt {stop_id}” to the short code DOTORG (368674)

so for example, for the stop 8334 (Pioneer Square South MAX Station Eastbound), you would text…

pdxt 8334” to DOTORG (368674)

The result is shown below (with the same request through the web for comparison)

pdxt1pdxt2

There is slight differences in the times since it is difficult to coordinate the SMS and web request precisely.

In my trials, response times for SMS were in the 5-10 second range which for me is acceptable.

I’ll next be working on an XMPP (Jabber) wrapper around the service so you will then be able to access the service with an IM client (which many phones now have). XMPP will give the same mobility benefits of SMS but removes the 155 char limit for the returned text allowing for more information to be included in the returned message.

Once I have completed SMS and XMPP around this service, I plan to refactor the technique so it can be easily applied to other services. I will also document the steps I took to integrate with SMS and XMPP. Look for that on google code soon.