Microsoft Codename “Cloud Numerics”

The work that I did as a member of the Math Libraries Group in Technical Computing at Microsoft has been released in the form of a SQL Azure Lab named Microsoft Codename “Cloud Numerics”. There is, of course, a lot of other technology in the lab that was not produced by my group, but all of our product is in the release.

Geneacache

First a note about the Geneagrapher: a new release is impending. The release includes many internal changes: lots of refactoring to improve the code, better conformance to Python coding conventions (remember, I wrote the first version a long time ago and my proficiency with Python has improved a lot since then), better code coverage by the tests, better design to enable more extensibility, and a local caching mechanism to eliminate multiple network requests for the same record. I will explain what I mean by extensibility in a later post.

Now, the point of this post: thanks to the changes to Geneagrapher mentioned above, I have set up a web-based “Geneacache“. It is a very early preview, so the API may change in the near future. A lot of other changes are needed, too, and it is possible I will move the page to a different address. Here’s the idea: your software can use the Geneacache to retrieve records from the Mathematics Genealogy Project (MGP), saving you the trouble of scraping the MGP pages or having to use Geneagrapher to do it for you. The response contains the record’s information in JSON. For example, for Gauß you currently get:

{
    "advisors": [
        18230
    ],
    "descendants": [
        151876,
        55175,
        29642,
        18603,
        19953,
        29458,
        62547,
        18232,
        18233
    ],
    "institution": "Universität Helmstedt",
    "name": "Carl Friedrich Gauß",
    "year": 1799
}

Behind the scenes, the Geneacache either returns what it has locally or fetches it from the MGP, stores it locally, and then returns the record to you.

This is not used for anything at the moment, but I intend to start exposing Geneagrapher through a web page again (history lesson: the first version of Geneagrapher, from when I was in graduate school — was a web service) at some point in the future. The Geneagrapher client is nice and all, but I imagine most users are not interested in installing it locally to use it.

I am also planning to get in touch with the MGP folks about this and related topics.

Orienteering

I received a book about orienteering over the holidays (I had requested it). My trip back to Washington from Iowa last week was long enough, due to a four hour wait for the connecting flight, for me to get through the book.

Conveniently, there was an orienteering event in Seattle yesterday, and I went (results here). This was my first event, so I ran the beginner course. I liked it and plan to continue attending events. I think the sport will be really interesting on more challenging courses because of the decision making that will go into navigating to the controls.

Back to the book: it would benefit from updating and releasing a new edition. The basic information is still accurate, but parts of the book have become outdated, based on what I saw and learned from talking to an experienced club member.

Philips Urban Beehive

A few posts back, I was talking about beekeeping. Shortly afterwards, I saw a couple articles about a Philips urban beehive. Click through one of those links for images.

I kind of wonder about cleaning the thing, but bees are pretty obsessive about hygiene, so maybe there is no issue. Let me know how it goes.

This beehive is part of the company’s Microbial Home design project.

Michael, Apple

This evening Michael looked at an apple I was eating and said something that sounded awfully like, “What’s that?” Chao-Jen and I both looked at him and then each other, both surprised. I looked back at Michael, pointed at the apple, and said, “Apple.” Almost immediately, he responded, “Apple.”

He said it a few more times, clearly referring to the apple, although it did become “bapple” a couple times.

Amazing.

He has said other words (including “owl” when looking at one of his sippy cups), but this seemed much more interactive.

Convex Hulls

I have done additional work on the Delaunay triangulation that I mentioned in the previous post. The code is less messy, has tests, and is now packaged.

My code needs to compute the convex hull in order to start the Delaunay triangulation. Since that is sort of interesting in itself (and may be needed on its own in the future), I pulled out the convex hull generation into its own class. The computation proceeds using Graham scan. Here’s an example (created with ‘conhull -s 50 -n 20′):

Convex hull

You can see that’s correct, but visually, it’s not too interesting. For fun, I added the ability to generate nested convex hulls. The next image was created with ‘conhull -s 50 -n 500 –num-hulls all –no-plot-points’:

Convex hull

With more points (‘conhull -s 50 -n 1000 –num-hulls all –no-plot-points’):

Convex hull

The package is here.

Delaunay Triangulation

I spent a little time implementing Delaunay triangulation for learning. I am going to do a little more work on it, but here’s an example of its output.

The code is still a mess, and will be updated, but you can find it here. You need Python with matplotlib to run the code.

Borrowing E-books on Kindle

It is now possible to check out e-books from some libraries on the Kindle (see Amazon’s Kindle Gets a Library Card). This is not available at all libraries; you can see if your library has this service here (click on “Library Search”).

The King County Library System offers e-book check out for the Kindle.

Beekeeping: My New Hobby?

I enjoyed reading this article: Beekeeping as a Business. It is short and describes a little on how to get started in beekeeping (or rather how to learn more about getting started), about how the hobby can easily turn into a business on the side after a while, and some of the products that come from beehives. Also, I learned that every state has a bee inspector.

So am I about to set up a hive or two of my own? I don’t think the HOA in the condo complex where we rent would be happy with me housing hundreds of bees thirty feet from the community pool. Maybe later. Still, attending “beekeeping school” might be interesting to learn something new.

Geneagrapher Repository Moved

I have moved the Geneagrapher repository to GitHub using svn2git. The repository’s new home: https://github.com/davidalber/Geneagrapher.

I had to reorganized my Subversion repository to make it work, and my tags were trashed in the end due to conflicts in my tags and the way Git tags things. That’s not a huge deal, though, because I can recreate everything, if needed. Anyhow, the big take-home message here is that the Geneagrapher repository is now open to the public.

One other action that I took, after moving the repository, was to nuke the trunk (er, master). I had made new feature progress in the trunk years ago, but stopped. I decided it would just be easier to continue by reverting the trunk to the latest maintenance branch.

twitter (feed #2)
RT @newscientist: US Congress proposes nixing flagship telescope http://bit.ly/o4Nide [DavidAlber]
July 9th, 2011 at 3:52am via Twitter
twitter (feed #2)
RT @newscientist: Project Nim: @rowhoop on the sad story of the chimp raised like a human - in Manhattan http://bit.ly/k7AhkK [DavidAlber]
July 4th, 2011 at 6:50pm via Twitter
twitter (feed #2)
RT @newscientist: "My quest for extraterrestrial geology and how it landed me 2 months in an Omani jail" http://bit.ly/iiDTkx [DavidAlber]
July 4th, 2011 at 5:48pm via Twitter
twitter (feed #2)
Yahoo To Spin Off Apache Hadoop Unit As Hortonworks http://t.co/gVbiwuK via @forbes [DavidAlber]
June 29th, 2011 at 5:33am via Twitter
twitter (feed #2)
Panoramic Survey Telescope & Rapid Response System (Pan-STARRS): http://t.co/KWaTiuW. [DavidAlber]
June 27th, 2011 at 5:29am via Twitter
twitter (feed #2)
"Incoming house-sized asteroid will skim past Earth". http://t.co/Yk1NjIl. Is the notable part that we noticed? [DavidAlber]
June 27th, 2011 at 5:08am via Twitter
twitter (feed #2)
Disco: data analysis platform with MapReduce, implemented in Erlang. Jobs are written in any language (often Python). http://t.co/avr4fGV [DavidAlber]
June 23rd, 2011 at 6:12am via Twitter
twitter (feed #2)
Link to HPCC Systems: http://t.co/syagAY3 [DavidAlber]
June 23rd, 2011 at 6:03am via Twitter
twitter (feed #2)
"LexisNexis Takes On Hadoop With Open Source HPCC". http://t.co/jaGW2aK [DavidAlber]
June 23rd, 2011 at 6:01am via Twitter
twitter (feed #2)
"Connecting to Kinect from Sho". http://t.co/9w0UpUZ [DavidAlber]
June 22nd, 2011 at 7:48am via Twitter
twitter (feed #2)
I just saw Michael crawl. [DavidAlber]
May 17th, 2011 at 2:25am via Twitter
twitter (feed #2)
The other plane, on near-intercept course, took evasive action. Before the turn, I estimate it was 7 to 15 seconds from being at nearest. [DavidAlber]
March 5th, 2011 at 5:23am via Twitter
twitter (feed #2)
I flew #AlaskaAirlines 459 LAX-SEA today. A descending jet headed SW flew dangerously close (estimate: < 1 mi.) while at 30000+ ft. [DavidAlber]
March 5th, 2011 at 5:22am via Twitter
twitter (feed #2)
The other plane, on near-intercept course, took evasive action. Before the turn, I estimate it was 7 to 15 seconds from being at nearest. [DavidAlber]
March 5th, 2011 at 4:10am via Twitter
twitter (feed #2)
I flew #AlaskaAirlines 459 LAX-SEA today. A descending jet headed SW flew dangerously close (estimate: > 1 mi.) while at 30000+ ft. [DavidAlber]
March 5th, 2011 at 3:58am via Twitter
twitter (feed #2)
RT @natebrix: The obsession with next: http://bit.ly/fSrXYE [DavidAlber]
February 27th, 2011 at 5:32pm via Twitter