Archive for April 2009

I’m imagining a computer program running on a basic server cluster (read: Google) that’s able to learn stuff by asking random users random questions. It would be primed with some basic knowledge by the programmer, but every day it would find something interesting (i.e. random dictionary word) and probe its properties. The types of questions would initially be na├»ve (is an apple a noun or is to apple an action?), but gain depth as knowledge becomes available (how is an apple different from an orange?).

A simple way of sending the program to school would be to expose it on many websites where it could ask questions and accept answers from users. So… would this work?

Really, there is no need for this post… because Cupcake (an updated version of Android found on the HTC Magic and ported over to the G1) is quite friendly to users without data service. The ability to skip activation allows the user to delay activation until the WiFi connection can be initialized. And since rooting is required, the modified recovery image and engineering SPL makes backup-and-restore trivial.

Read on »

Now, this blog is full of technology-related stuff. I’m also interested in medicine, so today I’m going to share some of what I’ve been thinking about.

People are complex creatures, and so medicine is a complex subject encompassing multiple fields of discipline. Many technologies have been developed to advance medicine to its current form, but one particular aspect of medical technology remains elusive: how to supplement physician’s medical knowledge using computers. Now, I know what you’re very likely thinking: when I catch a cold I want to see a doctor, not a machine! I too would much prefer to see a doctor. However, it must be noted that machines are already playing a significant role in medicine and they could propel medicine so much farther if we just knew how to use them properly.

Read on »

I just got my domain renewed. In celebration of this anniversary, I decided to learn more about OpenID and set up my own identity server. With my new identity server is my new self-managed identity. Cool, eh?

What is OpenID?

OpenID eliminates the need for multiple usernames across different websites, simplifying your online experience.

What is OpenID?

In other words, an OpenID is a universal identifier that can be used at numerous websites. The universality of OpenID is derived from the manifestation of OpenID’s as URL’s. Each user owns a URL, so to speak, and trusts an OpenID provider to assert the ownership and provide details about the user. An OpenID consumer, or an application seeking user identification, relies on providers to identify their users. OpenID is decentralized: there are many providers so users are not locked into any particular vendor. If all this is confusing to you, just head over to the official OpenID website and have a look.

Read on »

I’m working on a text classification API that needs to be called from any domain by Javascript. I immediately thought of JSONP, since it’s very easy to inject a foreign script tag and thus make cross-site calls. The problem with JSONP, of course, is that it supports GET only. While in most cases GET is sufficient, sometimes one needs to send more information or do other things that require POST. For my project, the ability to send long strings is very important.

So I’m thinking of a way to perform XSS in the style of JSONP, but with POST support:

  1. the client POSTs to the server, sending along a UUID and ignoring the response
  2. the server performs the action and stores the result with the UUID
  3. the client GETs the response via JSONP using the UUID
  4. the cached response expires on the server

The need to perform two requests and cache responses is obviously non-optimal, but I could live with it if it’s the only way of safely performing XSS. I might even push out a JSONPOST library…

Update: I’ve given this a try and it actually works reasonably well. With antimatter15‘s help, here’s some code and a demo.

Haykuro has recently released a series of Android builds. This is the software for the HTC Magic, ported to the G1. Since I have not had time to fully explore this new operating system, I’ll just list some of the most obvious changes:

  • activation not required! (can set up account later)
  • new theme
  • new camera options, such as video recording
  • lock-screen background
  • 3G notification icon says H
  • smooth transitions by default
  • automatic screen orientation flipping
  • no more voice search in search widget
  • on-screen keyboard
  • … among other things …

Now, it is actually pretty simple to get this software. There’s even a nice guide for this, which was pretty straightforward for me to follow. Nevertheless, since I had not rooted my phone and I have no data plan, I had a couple of extra steps.

Read on »

Quotables are usually textual, but this one’s too good to pass up:

Parking Win?

West Broadway and 113rd Street


He walks out onto the stage amidst thundering applause. As he basks in the recognition, he raises his electric guitar; the applause grows intense in anticipation of what is to come. He readies his fingers against the strings, poised to strike the first note; the arena is suddenly silent. And then it comes: piercing, undulating, soothing, straining, the unmistakable signature of his art. The crowd goes wild.

Read on »