James Tauber's Blog 2004/11
Film Project Update: Mailing the DVD
With a climax worthy of a film, I got the DVD of Alibi Phone Network sent off to Tom for duplication and festival submission.
I had arranged to visit a friend in the afternoon and my original plan was to spend the morning doing the DVD burning, mail it off and then go visit the friend. However, the burning took longer than I planned and so I decided I'd go to the post office after I'd paid the visit.
Somewhere between when I left to go to the friend's house and when I got back home, I misplaced my wallet so I had no money to pay for the shipping. I rang my mum (who lives ten minutes away) and asked if I could come over and borrow some money. (Oh how many times in my thirty-one years my mum has come to my rescue!)
I got the money, rushed to the post office just before closing time and, as I put the parcel on the counter, the lady said "can I see some ID?". I'd forgotten that international shipping requires ID. And my drivers licence was...you guessed it...in my wallet.
So I raced back home, found my passport, raced back to the post office and got the DVDs sent off within minutes of closing.
by jtauber : Created on Nov. 29, 2004 : Last modified Feb. 8, 2005 : Categories filmmaking alibi_phone_network : (permalink)
Poincare Project: Homeomorphisms
Previously we talked about bijections as a way of pairing up all the elements of two sets. Often this is done to express that one set is equivalent to another.
Once you have structure on the set, it isn't enough to just have a bijection. The elements of the two sets must be paired up in a way that maintains the structure before the two structured sets can be said to be equivalent.
Two topological spaces are equivalent if the bijection maintains the open sets. In other words, if the bijection maps open sets to open sets then our two spaces are topologically equivalent.
Another word for topologically equivalent is homeomorphic (note the 'e') and the topology-preserving mapping is called a homeomorphism.
A topological space is the most general space that has a notion of continuity, so two spaces that differ in terms of other structures (like distance between their points) might still be homeomorphic if continuity is preserved. One way to think about this is moulding a ball of clay...
Imagine taking a ball of clay and squashing it flat. If you think of the clay as a metric space, you've clearly changed the space quite a bit because distances between pairs of points are no longer the same. However, you haven't changed the topology. The open sets are still open sets in the squashed version. Squashing the clay is a homeomorphism. If you'd drawn a continuous line on your ball it would still be continuous after the squashing. Squashing hasn't ripped two points apart from one another.
But, now consider pushing your thumb through the clay to mould it into a doughnut-shape. To make the hole, you had to rip points apart from one another. This has altered the open sets. Two points that might have been very close (and hence in some very small open sets together) might now only share very large open sets in common. Because the topology is not preserved, the mapping from ball to doughnut is not a homeomorphism.
A topologist would say that the ball of clay is not homeomorphic to the doughnut-shaped clay.
We've reached an important milestone because the Poincare Conjecture has to do with whether one particular type of topological space is always homeomorphic to another particular type.
UPDATE: next post
by jtauber : Created on Nov. 29, 2004 : Last modified July 1, 2005 : Categories poincare_project : 0 comments (permalink)
Leonardo Mailing List Available
As completion of 0.4 nears, I've set up a mailing list for users and potential contributors. You can join it at:
http://mail.pyworks.org/listinfo/leonardo
UPDATE (2004-12-12): I've edited this page to reflect the new address.
by jtauber : Created on Nov. 28, 2004 : Last modified Feb. 8, 2005 : Categories leonardo : (permalink)
Global Warming and Eskimo Words for Robin
If I see another blog entry that spreads the false meme that, due to global warming, Eskimos are now seeing species they don't have words for, I'm going to scream.
It's just bad linguistics.
Geoffrey Pullum does a much better job than I could of debunking this. Pullum was also the guy who debunked the "Eskimos have hundreds of words for snow" meme many years ago.
by jtauber : Created on Nov. 28, 2004 : Last modified Feb. 8, 2005 : (permalink)
Programmed Vocabulary Learning as a Travelling Salesman Problem
For a while I've been interested in how you could select the order in which vocabulary is learnt in order to maximise one's ability to read a particular corpus of sentences. Or more generally, imagine you have a set of things you want to learn and each item has prerequisites drawn from a large set with items sharing a lot of common prerequisites.
As an abstract example, imagine you want to be able to read the "sentences":
{"a b", "b a", "h a b", "d a b e c", "d a g f"}
where we assume you must first learn each "word". Further assuming that all sentences are equally valuable to learn, how would you order the learning of words to maximise what you know at any given point in time?
One approach would be to learn the prerequisites in order of their frequency. So you might learn in an order like
<a, b, d, c, e, f, g, h>
However, had we put h before d, we could have had an overall learning programme that, although equal in length by the end, enabled the learner, at the half-way mark, to understand three sentences instead of just two.
To investigate this further, I needed a way to score a particular learning programme and decided that one reasonable way to do so would be to sum, across each step, the fraction of the overall set of sentences understandable at that point.
I then needed an algorithm that would find the ordering that would maximise this score.
After the quick realisation that the number of possible learning programmes was factorial in the number of words, it dawn on me that this was essentially a travelling salesman problem.
So my sister, Jenni and I wrote a Python script that implements a simulated annealing approach to the TSP. We then applied it to the above contrived example. Sure enough, it found a solution that was better than a straight prerequisite frequency ordering.
I then decided to try applying it to a small extract of the Greek New Testament (which, of course, I have in electronic form, already stemmed). So I ran it on the first chapter of John's Gospel. 198 words and 51 verses. A straight frequency ordering on this text achieves a score of 48 so that was the score to beat.
My first attempt, it didn't even come close to that. What a disappointment! Jenni and I wondered if it was just the initial parameters to the annealing model. So we increased the number of iterations at a given temperature to 50 and lowered the final temperature to 0.001 (keeping the initial temperature at 1 and the alpha at 0.9).
Success!! It found a solution that scored 82.94. The first verse readable (after 27 words) was John 1.34. John 1.20 was then readable after just 2 more words and John 1.4 after another 7.
I decided to try different parameters. With 100 iterations per temp, a final temp of 0.0001 and a few hours, it achieved a score of 91.59 (and was still increasing at the time). This time the first verse readable was John 1.24, after only 8 words; then John 1.4 after another 9; John 1.10 after 4; and both John 1.1 and John 1.6 after another 4 and John 1.2 just 1 word after that.
Overall a very promising approach. I doubt it's anything new but it was fun discovering the approach ourselves rather than just reading about it in some textbook. The example I tested it on was vocabulary learning, but it could apply to anything that can similarly be modelled as items to learn with prerequisites drawn from a large, shared set.
The next step (besides more optimised code and even more long-running parameters) would be to try to work out how to model layered prerequisites - i.e. where prerequisites themselves have prerequisites - to any number of levels. I haven't thought yet how (or even whether) that boils down (no pun intended) to a simulated annealing solution to the TSP.
UPDATE (2005-08-03): Now see Using Simulated Annealing to Order Goal Prerequisites.
by jtauber : Created on Nov. 26, 2004 : Last modified Aug. 3, 2005 : (permalink)
Thank You Blog Readers
This blog is nine months old today.
Every couple of days, I find a new person that has added me to their blog roll. I can't tell you what a nice feeling it is knowing that, not only do people read your blog, but they are willing to admit to it publicly :-)
I still worry that my journeyman of some lack of focus...err...breadth of topics means that each post is completely irrelevant to 90% of readers—the filmmakers tracking the progress of Alibi Phone Network likely don't care if a school dance pairing is a bijection or not.
But I think I'll still just continue to blog about things that interest me and things that I'm working on. After all, pretty much every single topic I've written on has put me in contact with some interesting person that I've learnt and am continuing to learn new things from.
So thanks for reading!
by jtauber : Created on Nov. 26, 2004 : Last modified Feb. 8, 2005 : (permalink)
Film Project Update: Final Cut Done
Okay, I didn't get to it last weekend but today I finally managed to do an edit of Alibi Phone Network that cut around the line we didn't like as well as fix a bunch of other little things.
The latter included some sound level normalization and removing a sigh noise that didn't fit because the audio was from a different take than the video and in the video you couldn't see any sighing.
There are a bunch of places where I used audio from a different take than the visuals. Mostly it's during an over-the-shoulder shot during a dialog. The clearest dialog is usually recorded from the person facing the camera, so when the person with their back to the camera is speaking, it's generally better to try to use the audio from the take when they were facing the camera themselves. Syncing is generally not too difficult because you rarely see their lips so you just have to sync to their general head movement.
Sometimes, though, you mix takes when the person is facing the camera (if the audio is much clearer on a take that is different from the one with the best performance visually) and that's what I did that resulted in the sigh. To fix it, I literally cut out one second and replaced it with a second of "silence" from another part of the take. You have to replace it with something to get the sound of the room.
The whole concept of using audio from one take with visuals from another would never have occurred to me had it not been for a remark Bryan Singer makes in the commentary to The Usual Suspects (the first director commentary I ever owned—and on video, long before I owned a DVD player). The commentary on The Usual Suspects was probably the single best lesson in filmmaking I've ever had.
So, I think the film is pretty much done. Now to send a DVD to Tom who's arranged duplication for festival submission.
by jtauber : Created on Nov. 26, 2004 : Last modified Feb. 8, 2005 : Categories filmmaking alibi_phone_network : (permalink)
MorphGNT v5.01 Available
Found an accent and breathing problem in both the text and lemma for ABEL, ANNA and ANNAS which is now corrected.
by jtauber : Created on Nov. 21, 2004 : Last modified Nov. 18, 2007 : Categories morphgnt : (permalink)
Google Scholar and Typed Citations
A couple of days ago I found out about Google Scholar which enables searching of scholarly publications. What would make this even more useful is if they combined it with a more comprehensive citation index.
Thinking about citation indices got me wondering, though: what if citation indices were annotated with the relationship between the newer publication and what it was citing? You could have relationships like "quotes", "summarises", "provides further evidence for", "argues against", "answers question posed by", and so on.
The granularity of many articles might not be right for this to really work given that one might argue for one part of an article and argue against another.
But it's theoretically appealing from the point of view of the richer searches you could do.
Continuing to think aloud: I wonder if it might be more practical in blogs. People could link to this entry with annotations like "agree", "agree with additional ideas", "agree with caveats", "seen something like this already", "really dumb idea with reasons stated".
Kind of an XFN for memes.
by jtauber : Created on Nov. 21, 2004 : Last modified Feb. 8, 2005 : (permalink)
Poincare Project: Further Thoughts on Topologies and Open Sets
A question raised via email by Dave Long (one of my partners-in-crime on Cleese) has prompted these thoughts.
There is an inherent circularity to think of topologies as collections of open sets because it is the topology that defines what an open set is to start with. There's nothing inherent in an open set that makes it "open" apart from the fact it is a member of the topology.
In sets with more structure that enable you to define openness in terms of that additional structure, openness still comes down to the choice of topology that the additional structure is implying.
For example, if you choose a distance function for a metric space, you've implicitly chosen the topology. So while the open sets can be explicitly defined by the distance function in that case, the very choice of the function assumes a particular underlying topology.
UPDATE: next post
by jtauber : Created on Nov. 20, 2004 : Last modified Feb. 8, 2005 : Categories poincare_project : 0 comments (permalink)
Film Project Update: Final Cut Looming
A few people have been asking where I'm at with the film. I'm planning on completing the final cut this weekend ready for festival submission starting in December.
There's a line in the film none of us like and I'm working on trying to cut it out. Not sure if it will work yet. If it does, you'll have to wait until the commentary on the DVD to find out what was changed :-) (unless you're one of a handful of friends and family who've already seen the film and will probably pick it right away).
by jtauber : Created on Nov. 20, 2004 : Last modified Feb. 8, 2005 : Categories filmmaking alibi_phone_network : (permalink)
Birthday Thoughts
Today is my birthday and I spent some of it thinking about what I've achieved over the last year and what I want to achieve in the next.
I think the two things I'm most pleased about in the last year are how the short film Alibi Phone Network turned out and how this blog is turning out.
Some of the things I'd like to see happen in the next year:
- screening Alibi at festivals
- releasing the first Nelson James EP
- successfully running a 5K race
- sitting music theory exam (and maybe practical too)
- getting back to Go
- completing Pimsleur Italian I, II and III
It will be fun to revisit this list in 365 days time to see how I've done :-)
by jtauber : Created on Nov. 19, 2004 : Last modified Feb. 8, 2005 : (permalink)
Conversation Categories
Don Park writes about an idea he calls "Conversation Categories". The idea is having a discussion on a particular topic with each participant writing in their own blog but categorising their entry as belonging to the particular conversation. An aggregator could then pick up all the pieces of the conversation.
It's discussion datalibre-style and something I'd love to implement in Leonardo.
It actually fits nicely with some of my previous ideas around trackbacks and categories, maybe even using wikipedia for URIs.
del.icio.us has got to fit in somewhere there too!
by jtauber : Created on Nov. 19, 2004 : Last modified Feb. 8, 2005 : (permalink)
The Road to DataLibre
Steve Mallett has paid me a huge compliment calling my site the "closest DataLibre site I've seen" although I'm somewhat embarrassed because I'm still a long way from where I want to be.
I'm still thrilled Steve likes where I'm going, though. DataLibre is one the two main drivers (the other being REST) in how I'm implementing Leonardo. In fact, I'm considering describing Leonardo as "a RESTful DataLibre server written in Python".
I received my November copy of HBR today and there was a Forethought article entitled "I Am My Own Database" by Richard T. Watson which is pretty much talking about DataLibre. He describes what is referred to in the article as "customer-managed interaction" or CMI:
Under CMI, when a consumer buys merchandise online, he receives an electronic file that describes his purchases and that can be automatically imported into a database he's installed on his home PC. If he wants to record purchases made earlier or offline, the consumer can obtain an electronic list of common products, like books, and CDs, from the Library of Congress or commercial sources such as the Internet service Gracenote. He also registers an opinion of each purchase by using rating software incorporated into the database. The database remains in the consumer's control at all times, so if he decides that the Led Zeppelin period of his life has irretrievably passed, he can simply change his ratings of Led Zeppelin CDs he's purchased from all sources.
Finally, while writing this entry, it occurred to me that readers of the datalibre-discuss mailing list might be interested in the Forethought article. In true DataLibre fashion, I'll post this entry (along with the permalink) to the list. One feature I want to implement in Leonardo is that kind of "trackback to an email address" feature.
by jtauber : Created on Nov. 17, 2004 : Last modified Feb. 8, 2005 : (permalink)
Poincare Project: Injections, Surjections and Bijections
Imagine a school dance. There is a set of boys and a set of girls. When the music starts, each boy picks a girl to dance with.
Think of this as a mapping from a boy to a girl, or from an element in the set of boys to an element in the set of girls.
The mapping is said to be injective (or one-to-one) if each boy picks a different girl. If two boys try to dance with the same girl, the mapping isn't injective.
The mapping is said to be surjective (or onto) if no girls are left without a partner. If there is a girl not dancing, the mapping isn't surjective.
If the mapping is both injective and surjective it is said to be bijective.
You can immediately tell if there are the same number of boys and girls if the mapping is bijective—in other words, each boy is dancing with one and only one girl and no girls are left without a boy to dance with.
The existence of a bijection can be used to demonstrate that two sets have same number of elements or, in the case of infinite sets, have the same cardinality.
Bijections are also very important in establishing the equivalence between two structured sets (for example between two topological spaces) as we shall see in the near future.
UPDATE: next post
by jtauber : Created on Nov. 17, 2004 : Last modified Feb. 8, 2005 : Categories poincare_project : 0 comments (permalink)
Belated Thoughts on Blogs and Wikis
When I read Tim Bray's suggestion that blogs and wikis couldn't be more different in their essential nature, I knew I wanted to say something on the matter. Well, I've finally got around to it.
Bottom line is I agree with Tim. This may surprise some readers given I've talked before about this site being a wiki/blog hybrid and I describe Leonardo as a wiki/blog server. But here's why I don't consider it a contradiction...
Firstly, purely from the perspective of implementing the content management, there can be similarities—that's what I meant when I talked about wiki/blog hybrids. But Tim was talking about essential nature, not implementation details.
There are really a number of facets to the wiki nature. Four that immediately come to mind:
- spirit of collaboration
- in-browser editing
- easy-to-learn and non-intrusive markup
- WikiWords that encapsulate an idea
I'd like to suggest that you can have varying mixes of these and, depending on which mix you have, blogs seem further apart from or closer to wikis.
The important characteristic for something like Wikipedia is the first one. While the rest are still true to varying extents, they aren't what's interesting about Wikipedia. Martin Fowler's bliki, on the other hand, clearly doesn't have the first characteristic. However, it is strongly driven by the fourth and I think it is this facet that really makes his blog wiki-like.
I call my site (and any site served by Leonardo) a "personal wiki" in that it shares characteristics two, three and, to a small degree, four. Plenty of blog software supports in-browser editing. For someone that associates in-browser content editing with wikis, that blog software is wiki-like.
Would two and three alone really be enough to be considered a wiki, though? If not, then wikis and blogs start to diverge. Perhaps people that think blogs and wikis are similar are focusing on two and three. The more you consider four an important characteristic of wikis, the less wiki-like blogs seem—unless they are written like Martin Fowler's. The first characteristic is the one that really sets wikis and blogs apart.
There is no doubt that both wikis and blogs are social. But they are a different kind of social. Blogs are conversations (at least collectively). Wikis (when focusing on characteristic one) are collaborations. Conversations and collaborations are not the same thing. Both are useful—but they are not the same thing.
by jtauber : Created on Nov. 15, 2004 : Last modified Feb. 8, 2005 : (permalink)
New Mic, New Song
A couple of days ago, Nelson received the Rode NT-1A microphone he had earlier ordered. Today was the first opportunity we had to record with it.
We spent most of the afternoon recording Noise which was the song we performed on television a few weeks ago. I got Nelson to record multiple takes with differing tonal qualities and when mixed together subtly, it proved to be very effective. We managed to get some great vocal harmonies tracked too and using a gentler, breathier tone in the harmonies worked very well against the main vocal line.
In the last hour of our session, we laid down the initial tracks of a song Star in Vegas we wrote many months ago (on opposite sides of the globe) but had never recorded. Besides using the new mic, it was the first time we'd recorded Nelson's electro-acoustic guitar. We did the entire song in two single-take passes. The first was me on keyboard bass and Nelson on electro-acoustic guitar (DIed straight into the Digi002). Second was me improvising a simple piano line while Nelson sang.
A few mistakes (especially in my piano improv) but the overall recording had a magical quality that I'm too scared to try to mess with. So I'm going have to be very careful with re-recording the problem areas and keep corrections to a minimum. Nothing beats the magic you get in a first take.
All I did to the vocals was added a simple 'verb. I hardly think it needs anything else. I doubt I'll EQ it. The Rode is a beautiful sounding mic—perfect for Nelson's voice.
by jtauber : Created on Nov. 14, 2004 : Last modified Feb. 8, 2005 : (permalink)
MorphGNT v5.00 Available
At wildly varying intensities over the last ten years, I've worked on correcting the UPenn CCAT Morphological Parsed Greek New Testament as a side-effect of larger linguistic analyses I've undertaken. The last big burst of activity was in 2002 when I resumed work on my own morphological analysis (starting with the nouns).
The last couple of weekends, I've been working on preparing a new release of the corrected MorphGNT file, the first in probably seven or so years.
Prompted by a post to the b-greek mailing list, I've now made that release. MorphGNT v5.00 is now available at MorphGNT.
by jtauber : Created on Nov. 14, 2004 : Last modified Feb. 8, 2005 : Categories morphgnt greek new_testament_greek : (permalink)
Dragon Optical Illusion
Doing the rounds in the blogosphere is a cool optical illusion based on the looks-convex-but-is-really-concave trick. I printed it out and made my own, as shown below:
Cheered me up after my Canon disappointment.
by jtauber : Created on Nov. 12, 2004 : Last modified Feb. 8, 2005 : (permalink)
Canon Multi-Unfunctional on OS X
I just bought a Canon MP390 multi-function printer/scanner/copier/fax and stupidly assumed (without checking) that it would work on OS X. Apparently none of Canon's multi-function units support OS X (although oddly Google reveals that Apple had a Hot Deal on them through B&H Photo at one point). All the other Canon products I've used do support OS X and it appears all their standalone printers and scanners do. I'm not sure what it is about their multi-function units.
Not sure yet whether to return it or to just use it on my Windows box hoping that Canon will soon release an OS X driver.
It's the first time since I bought my PowerBook four months ago that something I've wanted to use hasn't worked with OS X.
I'm seriously bummed.
by jtauber : Created on Nov. 12, 2004 : Last modified Feb. 8, 2005 : (permalink)
Poincare Project: Topologies and Topological Spaces
We saw in Open Sets that open subsets of a set X always follow the rules:
- the union of any collection of open sets in X is also an open set in X;
- the intersection of any finite collection of open sets in X is also an open set in X;
- the empty set is open;
- the set X itself is open.
If you pick a collection of subsets of X that follows the four rules above, that collection is said to be a topology on X. Furthermore, a set along with a choice of topology on that set is called a topological space.
The use of the word choice is an important one. A given set will (unless it is a singleton) allow multiple valid topologies. It is the choice of topology that gives a topological space its characteristics rather than the the set itself.
Consider a simply set {a, b}. The smallest possible topology would be:
{ {}, {a, b} }
In other words, the empty set and the the set itself are the only two open sets. This meets the definition of a topology and, in fact, for any set will be the smallest possible topology.
Another valid topology on {a, b} would be:
{ {}, {a}, {b}, {a, b} }
In other words, all subsets are open. This also meets the definition of a topology. For any set the topology which defines all subsets to be open will be the largest possible topology.
There are two other possible topologies that can be defined on the set {a, b}
{ {}, {a}, {a, b} }
and
{ {}, {b}, {a, b} }
Step through the four rules to convince yourself that these are valid topologies for {a, b}.
Note that, although this example has involved a small, finite set, everything here applies to infinite sets too. It is possible to define, for example, different topologies on the set of real numbers. One such topology is one that equates the open intervals with the open sets. This is by far the most intuitive topology on the reals but by no means the only one.
UPDATE: next post
by jtauber : Created on Nov. 11, 2004 : Last modified Aug. 10, 2007 : Categories poincare_project : 2 comments (permalink)
Delicious Library
Not quite so highly anticipated as Halo 2, but there's been a fair amount of hype around the release of the book/CD/DVD cataloging software for OS X, Delicious Library from Delicious Monster. Yesterday, I downloaded a copy.
It certainly looks cool, presenting your library on a graphic of shelves using cover photos downloaded from Amazon.com. Bar codes can be scanned using an iSight, but I already had a bar code scanner so can use that. I had a number of text files with an ISBN-per-line of all my existing books and I was able to import that file and Delicious Library went off and downloaded all the catalog information (including front cover photo) from Amazon. It even makes use of Amazon to list similar items when you select a book.
I had already put together a catalog of my own using Mark Pilgrim's PyAmazon library but Delicious Library just looks nicer than anything I could have built. The only issues I've found so far:
- it's a little sluggish with my 1200+ books
- it would be nice if there was a feature for identifying duplicates for easy removal
- deleting a book causes the UI to go back to the start of the shelves (was very annoying during my manual duplicate removal)
But all-in-all, it's worth checking out if you run OS X, even if just to see how cool it looks showing you the covers of all your books.
by jtauber : Created on Nov. 9, 2004 : Last modified Feb. 8, 2005 : (permalink)
The Art of the Dust Jacket
I recently bought a copy of Guy Kawasaki's The Art of the Start. Great book so far, but one of the first things I noticed was the comment on the back inside flap:
The front jacket was created by Adam Tucker, winner of a design contest sponsored by Guy Kawasaki. Please take off the book jacket to see some of the other entries from his fans on the reverse side.
That's right. The inside of the dust jacket features 70-odd submissions for cover designs. Each of them is completely different. Makes you realise not only how much variation there can be in a book cover but also just how different one's perception of a book can be depending on the cover.
They say you shouldn't judge a book by its cover. But have 70 alternative covers suggested to you and you pretty soon decide which make you want to buy the book and which don't.
For what it's worth, I think Guy picked the right cover in the end.
by jtauber : Created on Nov. 5, 2004 : Last modified Feb. 8, 2005 : Categories books : (permalink)
The Key to Successful Technical Discussions
The key to successful technical discussions is precise, unambiguous terminology.
Last night I had a phone meeting with the mValent senior technical team in Boston discussing the design of one component of the next major release of our software. The meeting was focused and progressed us forward tremendously in a common understanding of how the component was going to work. The key, I believe, was a clear vocabulary of terms that I insisted everyone use.
Previously, I'd been talking with another colleague about a physical representation versus a logical representation in our system. The problem was, "logical" was terribly overloaded and sometimes was used to mean just part of what was being called the logical representation. I suggested we use a new term without the word "logical". Because it is the representation surfaced to the user, I proposed "surface representation". So then we had a physical representation and a surface representation. But when talking about the surface representation, we were getting tangled up because different object hierarchies within the surface representation had different characteristics. So I gave each hierarchy type a number. Then we could talk about H1, H2, H3, H4.
So last night, I started the meeting defining what the surface representation was and what H1 thru H4 meant. From then on, the discussion was crystal clear. At one point it looked like there were variations of H4. So we decided to refer to them as H4a and H4b. That way we could talk about the characteristics of H4 in general as well as drill down into the differences between H4a and H4b.
(And yes, jokes were made about the names sounding like US visas).
So often I've found that technical meetings become burdensome when people are arguing about what they think is the same thing but are really two different things. Or are talking about two different things that are really the same. Having unambiguous terms (even if they are silly things like H4b) is a tremendous help in discussions.
Most people at mValent think I'm precise about my terms because of my linguistics background. I'm not sure it's just that. I think my interest in linguistics is correlative rather than causal. Linguistics, like many sciences, is about categorizing phenomena. I think at the core, it's the categorizing that I love. That's clear in my previous post on thinking like a pure mathematician. I've always been fascinated by taxonomies.
I've also had ten years involvement in the standards-writing world including a significant amount of implementation of standards. That alone gives one an appreciation for precise, unambiguous terminology.
Next time you're arguing in a technical meeting and the other person just doesn't seem to "get it", take a step back and both agree on a set of terms to use. It really does work wonders.
by jtauber : Created on Nov. 5, 2004 : Last modified Feb. 8, 2005 : (permalink)
Six Snapshots of a Simple Eclipse GEF Application
Back in March, I talked a little about my initial attempts writing an Eclipse Graphical Editor Framework (GEF) application. I wanted, then, to write a tutorial that essentially walked the reader through the various stages of the development of my first application. I even suggested some kind of versioned literate programming approach to writing the tutorial and the code at the same time.
I haven't had time since then to make any progress, but I did get the GEF application to the stage where I had put together a snapshot at each of six milestones. A few people have written to me over the last six months asking the status of my tutorial and I've sent them my six snapshots as a starting point.
It makes sense for me to just to offer them here.
You can download a ZIP file with the six snapshots at http://jtauber.com/2004/gef/gef.zip.
Hopefully they are still useful, even without a surrounding tutorial.
by jtauber : Created on Nov. 2, 2004 : Last modified Feb. 8, 2005 : (permalink)
Poincare Project: Open Sets
In Open Balls and Continuity, I said:
Imagine that you don't know the distance function of either the domain or co-domain of the function but someone who does has precalculated all the open balls for you. Of course, for most metric spaces, there would be an infinite number of these, but the key point here is that you only need to know what the open balls are to test continuity. You don't need to know the distance function.
So imagine that a friend has given you a set along with all of the subsets that are open balls. From this alone, you can establish whether a function on the set is continuous.
We can simplify the definition of continuity (and other concepts) by introducing a more general subset than the open ball called an open set. Even though we will initially define open sets in terms of open balls, we can simply provide the open sets without reference to open balls, much like your friend provided the open balls without reference to the metric.
A subset of a set X is called an open set if it is the union of open balls of X.
Now continuity can be defined in terms of open sets (and this definition can be proven to be the same as that using open balls). A function from X to Y is continuous if and only if, for each open set in Y, the inverse in X is also an open set.
So, instead of giving you the open balls, your friend could give the open sets. And from that, you'd be able to establish whether a function was continuous.
Now you might be wondering: in the absence of the original metric, how would we know whether the collection of open sets was really a collection of open sets and not just some random selection of subsets? (Perhaps you don't trust your friend.) Well, it turns out open sets have some interesting properties:
- the union of any collection of open sets in X is also an open set in X;
- the intersection of any finite collection of open sets in X is also an open set in X;
- the empty set is open;
- the set X itself is open.
What is so significant about this is that a collection of subsets of X is a collection of open subsets of X if (and only if) it has the four properties above. It doesn't matter if it came from a distance function or open balls or some random selection of subsets. As long as the four properties above hold, the subsets are open subsets and can be used to demonstrate continuity (along with many other things).
NOTE: It is important that the union can be of any collection whereas the intersection can only be of a finite collection.
For a while, I thought the second two rules might be redundant and derivable from the first but a number of people (including Michael Walter and Richard Plagge) have clarified it for me. Michael points out the case where X = {1, 2} and the candidate collection of sets is {{1}}. This meets the first two rules but not the second two. Richard gives the example X = {a, b, c, d} with the candidate collection {{a}, {a, b}, {a, b, c}}. Again, the first two rules are met but the second two clearly do not follow.
UPDATE: next post
by jtauber : Created on Nov. 1, 2004 : Last modified Aug. 10, 2007 : Categories poincare_project : 0 comments (permalink)
Too Taxing for the Servers
Online submissions of Australian federal income tax returns were due today. (Normally they are due 31st October, but given it was a Sunday, they made it Monday 1st November).
I completed my return last night and went to lodge it and it came back with an Error 1200 and told me to call the e-Tax technical hotline. By this stage it was about 2am so I decided to wait until it was working hours on the east coast (give them a chance to come in to work and see that something was broken).
So early this morning, I tried lodging again. Error 1200. So I called the hotline number. Engaged. Lodge again. Error 1200. Hotline still giving busy signal.
After a few hours, I stopped getting a busy signal and got put on hold (listening to piano works on what sounds like a radio slightly tuned off the station). While on hold, I tried lodging a few more times. Still getting an Error 1200.
Finally got through to someone. I decided I wouldn't be mad at the guy—he's probably received hundreds of "Error 1200" calls already today. I didn't even need to tell him the issue - he just asked right away if I was getting an Error 1200.
Turned out some servers had been down since 5pm Sunday. He told me they should be back up by this evening but that the Australian Tax Office had extended lodgement until Wednesday for e-Tax filers.
So I just tried lodging my tax at 11.55pm this evening. No Error 1200. But it told me I'd already lodged!
by jtauber : Created on Nov. 1, 2004 : Last modified Feb. 8, 2005 : (permalink)