black swan


I just found out my best friend from graduate school died.

I found out by typing his name into google, and having google auto-complete the query with the word "obituary".

black swan

Tuned in, dropped out

So, I changed my password on Facebook to some gibberish. That means that in order to log in again, I'll need to do some gymnastics. I'm sure I'll log in again, but for now it's been too much of a distraction to be considered productive.

But that means that I no longer have a reliably vocal source of "newsy" information. I just realized that the elections happened yesterday, so I went out to find what the results were. I first went to and could find no succinct summary of the elections on the front page. So then I went to No simple summary there either.

I finally went to, where the summary was quick and clear, and the links to the results were obvious and informative.

It seems that wikipedia is now better at disseminating factual news report than the reliable sources upon which it rests.

black swan

Horrible SF websites

You'd think that SF, being the center of technology, could produce competent websites. Not always.

Small sites like can be excused for having slideshow buttons that obscure the caption text.

But when starts breaking their site, that's really just shoddy. In Opera, their UI for searching events is 100% borked. Maybe publishing and Q/A don't mix?
black swan

Abusing c++

Playing around with sample code for the purposes of (1) cleaning up code (2) showing off my guru skills. Not sure that (1) is sufficiently compelling to introduce (2) into the codebase.

#include <iostream>
#include <string>
#include <map>

using namespace std;

class delegate
        m_dispatch["hola"] = &delegate::hello;
        m_dispatch["adios"] = &delegate::goodbye;

    void dispatch(string message, string data)
        if (m_dispatch.find(message) != m_dispatch.end())
            cout << "could not find: " << message << " " << data << endl;

    void goodbye(string in)
        cout << "goodbye: " << in << endl;

    void hello(string in)
        cout << "hello: " << in << endl;

    typedef void (delegate::* member_function)(string) ;

    map<string,member_function> m_dispatch;

int main(void)
    delegate dispatcher;
    dispatcher.dispatch("hola", "world");
    dispatcher.dispatch("adios", "cruel world");
    dispatcher.dispatch("lost", "world");
black swan

(no subject)

I recently installed ubuntu (12.04 LTS) on my laptop.  Ubuntu uses the "select to paste, middle button to paste" throughout the desktop. Unfortunately, after years of training my mind only understands "right click to paste" semantics.  I attribute this to the fact that I've been using Windows and putty for something like a decade.

So I went out in search of a fix.  One would think that this would be a trivial fix, as it is in putty.  Just pick the appropriate option from the application.


Collapse )
black swan

Unreal estate

Looking to buy a place in San Mateo or Foster City you see a lot of strange things. Today I ran across what are almost certainly error or scams.

This listing:

describes a vacant lot that was recently on the marke for $280k, but went unsold. However, the sales history indicates that the property sold for $1000k in 2006. I suspect that this is a case of data entry error, but since 2006 was deep in the throws of the housing bubble, it's hard to be sure.

Likewise, this property is curious as well:

It's a house on the market for $1400k, which is roughly 50% over neighboring comps. Strangely zillow values the property at $2443k, which is even more insane. The third curiosity is that the property sold for $365k in 1997, and then in 1999 for ten times that amount ($3,863,636). This probably due to data entry error. Maybe they got carried away typing 636363636363636363, and added a bonus six? The assessment value of $1M confirms something funny. My guess is that it was sold for $386k, and permitted improvements upped the value to $1M.
black swan

Cameo apearance

Watch as I dork around with my chips, button up my shirt, and practice my "poker face" in the background while Terrence Chan is interviewed in the foreground.