Website Logo. Upload to /source/logo.png ; disable in /source/_includes/logo.html

Mocking Eye

'Tis all in vain?

Unified Identity Design

| Comments

My online identity is highly fragmented. Some parts are public, others are restricted to specific groups. Part of my identity is presence. That is, the way people can find out what I'm doing, and contact me. Here is a taxonomy of some different aspects of my Online Identity:
  • Events: Google Calendar, Facebook Events
  • Personal Information: Facebook, LinkedIn
  • Text Messaging: AIM, SMS, GoogleTalk, Email
  • Voice: Cell, Skype
  • Contacts: Facebook, LinkedIn, Gmail contacts, Cellphone contacts
  • Presence: AIM Away message, Facebook status, Twitter
The idea of Unified Messaging is a vertical solution in that it attempts to aggregate the methods of contact for one person, but it usually does so via proprietary solutions for each category. That is, there is a provided method for events (that is, calendar), personal information, text messaging, and voice. What I want is a way to take all of my existing solutions, and create an intermediate format, which can be used to update all the rest. And then I want mobile access. I plan on integrating some of this into Gargoyle. The method of implementation will most likely be FOAF, though I'm as yet unsure about how I want to store my events. Events right now are probably the best category, since facebook publishes an iCal feed of my events, which I have imported as a dynamic calendar into my Google Calendar. The Google Calendar, in turn, sends me event notifications to my cell, via SMS. My initial task is to be available via whatever way is most convenient, no matter what the original mode of contact was, with SMS being the common-denominator. This can be most easily achieved by putting gatekeeper bots at each incoming mode of communication. So, there will be an AIM bot, that when set to "on" would forward all incoming AIM messages to an appropriate alternative location. Perhaps an even easier way would be to use existing methods: run my own Jabber server, with transports for all the various protocols. Jabber is also the easiest method for which to write bots in python. These are some preliminary ideas that I'm filing publically. More to come soon.

Transparent Society, Privacy, and the Balance of Power

| Comments

Recently Bruce Schneier posted a debunking of the idea of a Transparent Society (such as put forward by David Brin). He argues that the while the more open exchange of information in society can lead to a power balance, existing power structures mean that those already powerful will benefit most from disclosure. Here's a quote near the top:
You cannot evaluate the value of privacy and disclosure unless you account for the relative power levels of the discloser and the disclosee. If I disclose information to you, your power with respect to me increases. One way to address this power imbalance is for you to similarly disclose information to me. We both have less privacy, but the balance of power is maintained. But this mechanism fails utterly if you and I have different power levels to begin with. An example will make this clearer. You're stopped by a police officer, who demands to see identification. Divulging your identity will give the officer enormous power over you: He or she can search police databases using the information on your ID; he or she can create a police record attached to your name; he or she can put you on this or that secret terrorist watch list. Asking to see the officer's ID in return gives you no comparable power over him or her. The power imbalance is too great, and mutual disclosure does not make it OK.
As a frequent advocate of transparency as a way to normalize power in a society I must clarify my position in light of these valid objections. Schneier very correctly points to "The Transparent Society" as an utopian ideal. Perhaps it is a tired trope, but I'd like to point out that "utopia" originally meant "no place". That is, a place of total transparency and thus balanced power is an unachievable goal on its face. I advocate movement toward such a society in a way that---unlike Schneier assumptions about such ideas---maintains as much power as possible within the hands of those currently on the lower end of the scale. This is where cryptography and other protectors of your information/privacy come in. I disagree with Schneier's claim that there is an inherent value in privacy; it is only there to equalize the balance. Thus, believing in transparency doesn't mean you accept a "me first" approach. One does not necessarily expose oneself first in the hope of the powerful following suit. Rather, the power-knowledge of the elite must be systematically broken down while protecting our own zealously all the while. Eventually, we should reach a sort of detente in the matter. There are common-good externalities to transparency that are substantial, but as Schneier warns, we must equalize initial powers as much as possible before going "clear". Otherwise, the individual benefits are small, and the opportunity for exploitation increases. Caveat Patefactor!

The Wisdom of Crowds and Democracy

| Comments

Democracy is founded on giving people the right to self-determination and the illusion that this is a good method by which to extract collective intelligence. There is not the problem of the mob but quite the opposite: it is the massed individual stupidity which brings down the democratic endeavor. Let us look at an example: There is a large jar filled with jelly beans---such as may be found at fairs and such---and people attempt to guess the correct number as closely as possible. What has been found is that people are usually wildly off the mark, and more often than not they follow a bias in one direction. However, the average of guesses is amazingly close to the real number. Imagine following a standard democratic prescription, however, and merely picking the number most guessers chose (the mode) or even the middle value (the median): you would not get a good result at all! (Update: Robin Hanson (see below) says the median often gives results even better than the average, so... that would also work! :>) Why should we then use a method this wretched to solve a problem not far off, namely that of electing our leaders? Further Reading:

The Most Important Things You'll Read This Month

| Comments

One of the most important things you can do is keep the Robbers Cave experiment in your mind at all time. Two groups of culturally homogeneous boys were slowly introduced to one another, and conflict blazed out of nowhere. Just the mere grouping caused the boys to detect minute differences and exaggerate them until two distinct cultures emerged, at odds and in constant competition. Only a tough common problem united them in a single struggle. Only after several more of these combined efforts did they decrease hostilities. Go! Go read it now!

Making the Most of Amazon.com

| Comments

Two sites that will help you make more of Amazon.com:
  • DealLocker Amazon Discount Search lets you search Amazon by the rate of discount.
  • FillerItem lets you put in the amount you are short to get the Amazon Free Super Saver Shipping, so you can get a product as close to that as possible, to save yourself both the shipping charges and whatever you may overpay in your overzealous purchasing to attempt to fill the gap!

International War That Can Work?

| Comments

One of my favourite TED talks ever:
In this bracingly honest and funny talk, international security strategist Thomas P.M. Barnett outlines a post-Cold War solution for the foundering US military: Break it in two. He suggests the military re-form into two groups: a Leviathan force, a small group of young and fierce soldiers capable of swift and immediate victories; and an internationally supported network of System Administrators, an older, wiser, more diverse organization that actually has the diplomacy and power it takes to build and maintain peace.

What the Roads Can Teach Us

| Comments

I've often looked to the roads, traffic, and vehicle-pedestrian interaction as a guide to human to behavior. It is a situation where the risk is very high and communication is highly constrained, so behavior strategies are more readily apparent. Most of us know the roads as strongly structured environments with mostly clear rules regulating behavior, with fairly stiff penalties placed on violators. The theory being that the restricted communication and great complexity of navigating the roads and streets should be offset by the strict direction of behavior and heavy punishment to deter deviation. In practice, those who cheat will win. Most people are risk-averse enough to allow the few bold and brash to take advantage of that for consistent gain. Alas, this leads to situations where this opportunistic behavior leads to disaster. But this isn't the only problem. In recent years, more and more studies have come out showing that at least some of the problems on the roads stem from overconfidence which stems from the various risk-reducing tools we use. Seat belts tend to promote risky driving, although they certainly reduce fatilities by a huge percentage. A recent experiment by a professor at the University of Bath had him biking and measuring the behavior of cars that drove past. When not wearing a helmet he was given a much wider berth than when doing so. Even more space was granted when he donned a woman's wig. This seems to indicate that the safety granted by the helmet encouraged drivers to take more risks in regards to the cyclist. Once again, bicycle helmets have an immensly beneficial effect in reducing fatalities to mere injuries, so this study should most certainly not be construed as a reason not to don one. Taking this type of data into account, what can be done to improve the safety of everyone involved? An idea of growing popularity is that of a Shared Space, pioneered by the Dutch traffic engineer Hans Monderman. This is a model where nearly all traffic markings are removed from an area. This includes signs, traffic lights, and even the clear distinction between road and sidewalk. Intersection are converted into roundabouts. The results from the several implementations of this model are overwhelmingly positive. This removal of strict direction forces all those involved, pedestrians and drivers alike, to pay much more attention to their environment. It demands the interaction via eye-contact and implicit behavior adjustment of all participants. The result is the smooth operation of traffic, where average speeds drops, but total trip times shorten, as well as huge improvement in safety --- fatality and injury rates plummet. After the initial period of habituation, no extreme vigilance from pedestrians or motorists is required as the more cautious behavior is internalized. I contend that what can work in the street can also work in other areas of life where many demand regulation and strict control for the safety of all. No external authority or risk-reducing device can substitue for personal vigilance, skepticism, and common sense. And in many cases, as the above examples illustrate, relying on our own individual virtues can be much superior.

No Need

| Comments

 
Sire, I had no need of that hypothesis.
Pierre-Simon Laplace, a french scientist, replying to Napoleon on being asked why there was no mention of God in his work on the movement of the planets. What use is that hypothesis to you? Let me know.

A Miraculous Thing

| Comments

Yesterday, I was pulling out of a parking lot in my 2000 Honda Accord. In front of me was a Honda Civic that looked to be from the late 80's to early 90's. And then, something amazing happened. Our blinkers synchronized! For the half a minute or so we were both waiting for a right turn, our blinkers blinked in unison. Never deviating from the pattern, or moving apart as per usual. I always look at the blinkers at the vain hope that one day, just this will occur. I was so gobsmacked I forgot to memorize the car's plate numbers! It was going the same way as I for a bit, so I followed just behind, and contemplated following the car to its destination but decided against it. After all, what the hell am I going to do? Go up to the driver and introduce myself? Instead, I will just be content in the knowledge that for me, there is a car out there that blinks just like mine.

Merging Dictionaries and Lists in Python

| Comments

Edit:

Apparently this got posted to reddit a while ago, and several better versions were provided, here's what I would use now:

[code] def merge_lists(*ls): return sum(ls, []) def merge_dicts(*dicts): dict(merge_lists(*map(dict.items, dicts))) [/code]


I came up with what I think is a rather pretty and elegant way to merge dictionaries (and lists) in Python:

[code]def merge_lists(*lists): return reduce(lambda x, y: x+y,lists) def merge_dicts(*dictionaries): result = {} for key in set(merge_lists([d.keys() for d in dictionaries])): result[key] = merge_lists([d[key] for d in dictionaries if key in d]) return result [/code]

Some explanation for novices:

  • The *arg notation means that any unnamed arguments (that is, not like this: funct(foo="bar")) will be stores in a tuple named arg.
  • The reduce(funct,collection) will sequentially apply the function funct() to each member of collection. The classic example is that reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5).
  • List comperehensions are super fun and work like this: [something(value) for value in list] does something to each value in list, and returns the results in a list containing the results of something(value). There is a permutation that looks like this: [something(value) for value in list if value > 5] (any condition can be placed after the if), this only adds something(value) to the list if the condition is true.