James Tauber's Blog 2007/01
IM Access in Hotels
I spend 3-6 months of the year in hotels. My experience in my current hotel is that:
- Skype works
- Yahoo! IM works
- Microsoft Messenger sometimes works
- iChat/AIM never works
This is pretty typical in hotels I stay at. What are other people's experiences?
by jtauber : Created on Jan. 25, 2007 : Last modified Jan. 25, 2007 : 3 comments (permalink)
Quisition Almost Ready for Deployment
The Django version of Quisition is just about ready to be deployed. I'm just waiting for the chapter on deployment in the Django Book to be published :-)
The Django version will be an open beta, even though it is a complete rewrite of the previous closed beta. I haven't added much functionality to what was in the closed beta. In particular, you can't add your own cards yet (but that will come in the next few weeks).
The biggest improvement (besides being written using Django) is that I now separate the notion of a "pack" from a "deck". A pack is a collection of cards distributed as a single unit. A deck is a collection of packs that are to be tested as part of the same session.
The main motivation is in cases like learning vocab from a book, where it is easier to manage a pack of cards per chapter but, when it's time to learn a particular chapter, you just want to add the cards in that pack to your deck.
So say you're learning Biblical Greek. You could create a deck for "Biblical Greek" and add to it the pack for chapter 1. When you are ready to learn chapter 2, you can add the chapter 2 pack to your "Biblical Greek" deck. This will also facilitate the creation of new cards for a deck that has already been started on.
by jtauber : Created on Jan. 20, 2007 : Last modified Jan. 20, 2007 : Categories python django quisition : 1 comment (permalink)
Metrics in Two or More Dimensions
In the previous Poincaré Project post about coordinate systems and metrics, we introduced the notion of a metric that tells us how quickly a coordinate changes on a one-dimensional manifold. Let's now extend that to two (or more) dimensions.
Imagine that you're at a particular point on a two-dimensional manifold. If you head off in a particular direction from that point at a particular rate, your coordinates will change. The metric tells you, from a given point, the rate of change of each of your coordinates given travel in a particular direction at a particular rate.
Or to make it more concrete, imagine you're in a boat on the ocean and you start to travel due east at ten knots. The metric will tell you the rate of change of longitude.
Note three things:
- the metric is different at different locations. In our ocean example, the metric will be different at different latitudes.
- the "travel in a particular direction at a particular rate" is a kind of vector.
- the metric, at a particular point, is a linear function of that vector. If you head off twice as fast, the coordinates will change twice as fast, and so on.
To better understand what kind of mathematical object this metric is, we'll need to better understand the notion of a vector.
UPDATE: next post
by jtauber : Created on Jan. 15, 2007 : Last modified Jan. 15, 2007 : Categories poincare_project : 0 comments (permalink)
Quisition on an iPhone
I was thinking yesterday about how cool it would be to have a little Quisition client for the Apple iPhone so you can review your flashcards while standing in a line or catching public transport, etc.
But then I thought, what if Apple really doesn't allow 3rd party applications on the iPhone?
Then I realised: it does allow 3rd party apps. They are called the Web.
UPDATE: The same point is made by Jonathan LaCour and Mark Baker
by jtauber : Created on Jan. 13, 2007 : Last modified Jan. 13, 2007 : Categories apple quisition iphone web : 3 comments (permalink)
Open Source Second Life Client
Second Life demonstrated they had a clue a few years ago, with their IP policy on user-created content. I actually think I first heard about Second Life because of a Slashdot article on that policy.
Now Second Life has decided to open source their client and their FAQ about it demonstrates again that they do indeed "get it".
Open sourcing the client, of course means exposing the API (the latter could be done separately, of course, but I don't think it had been until now). This really excites me because of the kind of mashups this will lead to, in both directions.
Very interesting times.
UPDATE: Digging a little deeper, it looks like it's been possible for a while to make XML-RPC calls from within Second Life to the "real world".
by jtauber : Created on Jan. 8, 2007 : Last modified Jan. 8, 2007 : 0 comments (permalink)
Demokritos Moving to Django
I've previously written about the fact I'm porting Quisition to Django (a port which is going well, by the way).
I've decided that it would be useful for me to port my Atom Store, Demokritos, to Django as well. Much of what's left to do in Demokritos is provided by Django so I think it's a good move.
I'm not aware of any APP implementations for Django, so that will be a useful contribution I can make.
One of the nice things about doing my own implementation from scratch was I could build in a REST philosophy from the foundation up. Hopefully Django won't get in the way in this regard.
by jtauber : Created on Jan. 5, 2007 : Last modified Jan. 5, 2007 : Categories django atompub demokritos : 6 comments (permalink)
Why Narrow Depth of Field Makes Large Objects Look Tiny
37 Signal's review of 2006 posts, reminded me of their post about Olivio Barbieri's photography where he uses a tilt-and-shift lens to bring only part of an aerial photograph into focus.
The most obvious impact is the large object now looks like a tiny model. There are various tutorials about how to achieve a similar effect in Photoshop with gradient lens blur. See, for example, Fake Model Photography.
But why does this work? Why does a narrow depth of field make large objects look tiny?
For a fixed film (or sensor) size, depth of field depends on the focal length and aperture of the lens and how far the subject is away from the camera.
As photographers well know, a photo taken with a 200mm lens will have a much narrower depth of field than one taken at 16mm. Similarly, a photo taken at f/1.2 will have a much narrower depth of field than one taken at f/22.
But it's the role of subject distance in depth of field that makes photos like the one above look like models. If we assume 35mm film (or a full-size sensor) and a 50mm lens at f/4, then focusing at 1m will lead to a depth of field of around 10cm whereas focusing on a subject at 10m will lead to a depth of field of around 10m (from roughly 7m-17m). In fact, for our 50mm f/4 case, any subject over 25m away will have its background completely in focus.
So if you see an image of a subject that's 25m away and anything beyond that quickly goes out of focus, then either you've got a very open lens or a very long lens (or both).
Now imagine if the subject is 500m away and is starting to get out of focus by, say, 510m. What sort of focal length or aperture would this require? A 50mm lens would have to have an aperture on the order of f/0.004 - i.e. 12.5m!! If you wanted a more reasonable aperture like f/2.8, your lens would have to have a focal length of around 1350mm.
So you can see that a photo where a point 500m away is in focus but starting to get out of focus by 510m away is impractical to take. The eye knows this. So an alternative interpretation when looking at the photo is to assume it's not 500m away but is actually, say, 500mm away and is much smaller. Having a point 50cm away in focus and 51cm away starting to get out of focus is easily achievable with, say, a 50mm lens at f/4.
Note that I'm being generous with these calculations. When I say "starting to get out of focus", I'm talking about the earliest point at which you could tell on standard 35mm film. This may actually be closer to the subject than I've assumed. But that only makes the point stronger. If we were to require the focus at 500m to be going by 501m, for example, even an f/1.2 lens would have to be 2.7m long.
(btw, I did all these calculations using Dudak's Depth-of-Field Calculator)
by jtauber : Created on Jan. 4, 2007 : Last modified Jan. 4, 2007 : Categories photography : 0 comments (permalink)