Archive for the 'interesting things' Category

Feb 28th and 29th links of interest

Sunday, March 16th, 2008

Feb 28th:

Here’s part of the abstract for Distant future of the Sun and Earth revisited:

We revisit the distant future of the Sun and the solar system, based on stellar models computed with a thoroughly tested evolution code. For the solar giant stages, mass-loss by the cool (but not dust-driven) wind is considered in detail. Using the new and well-calibrated mass-loss formula of Schroder & Cuntz (2005, 2007), we find that the mass lost by the Sun as an RGB giant (0.332 M_Sun, 7.59 Gy from now) potentially gives planet Earth a significant orbital expansion, inversely proportional to the remaining solar mass.

According to these solar evolution models, the closest encounter of planet Earth with the solar cool giant photosphere will occur during the tip-RGB phase. During this critical episode, for each time-step of the evolution model, we consider the loss of orbital angular momentum suffered by planet Earth from tidal interaction with the giant Sun, as well as dynamical drag in the lower chromosphere. We find that planet Earth will not be able to escape engulfment, despite the positive effect of solar mass-loss. In order to survive the solar tip-RGB phase, any hypothetical planet would require a present-day minimum orbital radius of about 1.15 AU.

Emphasis mine.

Here’s the text of the course overview for CMPS 253:

The free lunch is over. It lasted fifty years.

During that time, Moore’s law meant that our programs go faster when we buy a next-generation processor. Moving forward, while next-generation chips will have more CPUs, each individual CPU will be no faster than the previous year’s model. If we want our program to run faster, we must learn to write parallel programs.

Parallel programs execute in a non-deterministic way, so they are hard to test, and bugs can be almost impossible to detect, reproduce, or fix. Many years of experience has shown that writing a correct parallel programs is typically substantially harder than writing an equivalent sequential program.

In this course, we will survey the state-of-the-art in parallel programming, and the programming languages that support these efforts. We will pay particular attention to the emerging and active field of transactional memory, which adapts many ideas from database transactions to general purpose programming languages. We will also review more traditional lock-based programming, as well as alternative techniques based on functional programming, speculative execution, etc.

I’ve “applied” for membership to the class Google Group (linked from the course page) so that I can peruse the archives. Haven’t been approved yet.

Update (April 14th 2008): I just checked the class Google Group page again only to get an error message telling me that the group doesn’t exist. It was formerly at groups.google.com/group/ucsc-cmps-253-spring-2007. Kind of lame.

Remainder of February Bookmarks Trawl

Wednesday, February 27th, 2008

I found each of the following links interesting in its own right but either have no comment to make or am too tuckered out to post my comments on each individual page:

HBase and Hypertable: two Bigtable-like systems built on top of Hadoop

Wednesday, February 27th, 2008
  • HBase: Bigtable-like structured storage for Hadoop HDFS:

    Google’s [WWW] Bigtable, a distributed storage system for structured data, is an effective mechanism for storing large amounts of data in a distributed environment. Just as Bigtable leverages the distributed data storage provided by the [WWW] Google File System, HBase provides Bigtable-like capabilities on top of Hadoop. Data is organized into tables, rows and columns. An Iterator-like interface is available for scanning through a row range (and of course there is the ability to retrieve a column value for a specific key). Any particular column may have multiple values for the same row key. A secondary key can be provided to select a particular value or an Iterator can be set up to scan through the key-value pairs for that column given a specific row key.

  • Hypertable:

    Modeled after Google’s well known Bigtable project, Hypertable is designed to manage the storage and processing of information on a large cluster of commodity servers, providing resilience to machine and component failures. Hypertable seeks to set the open source standard for highly available, petabyte scale, database systems.

    About Hypertable

regex-dna benchmark | Gentoo : Intel® Pentium® 4 Computer Language Benchmarks Game

Wednesday, February 27th, 2008

regex-dna benchmark | Gentoo : Intel® Pentium® 4 Computer Language Benchmarks Game:

Match DNA 8-mers and substitute nucleotides for IUB codes N=500,000 (Check that Error or Timeout happened at other values of N with regex-dna full data).

SNOBOL and Icon

Wednesday, February 27th, 2008
  • SNOBOL4 and SPITBOL Information:

    Catspaw, Inc. provides the SNOBOL4 language for many different computer platforms, including DOS, Macintosh, Sun, RS/6000, and others. SNOBOL4 is a programming language tailored to complex pattern matching and text manipulation. SPITBOL is a very high performance, 32-bit implementation of the SNOBOL4 language.

  • The Icon Programming Language:

    Icon is a high-level, general-purpose programming language with a large repertoire of features for processing data structures and character strings. Icon is an imperative, procedural language with a syntax reminiscent of C and Pascal, but with semantics at a much higher level.

Etna, a wysiwyg XML RELAX NG- and Gecko-based editor

Wednesday, February 27th, 2008

I took the title for this post from the page for the session description on the XTech 2006 site.

The last modified timestamp on the project page is about a year old, but the current version (v. 0.3.1) may be much more recent. I haven’t yet tried downloading and installing Etna. That’s something I’m looking forward to doing in a VM later on.

Editors

Wednesday, February 27th, 2008
  • Gobby:

    Gobby is a free collaborative editor supporting multiple documents in one session and a multi-user chat. It runs on Microsoft Windows, Mac OS X, Linux and other Unix-like platforms.

    It uses GTK+ 2.6 as its windowing toolkit and thus integrates nicely into the GNOME desktop environment.

    Check out Gobby’s list of features, take a look around in our screenshots section, read some testimonials, and download it right now.

    Gobby is covered under the GPL (General Public License).

  • Zile:

    Zile is a small Emacs clone. Zile is a customizable, self-documenting real-time open-source display editor. Zile was written to be as similar as possible to Emacs; every Emacs user should feel at home.

  • Acme:

    Acme is a text editor and graphical shell from the Plan 9 from Bell Labs operating system, designed and implemented by Rob Pike. It can use the sam command language. The design of the interface was influenced by Oberon. It is different from other editing environments in that it acts as a 9P server. A distinctive element of the user interface is mouse chording.

    Wikipedia: Acme (text editor)

    Acme Stand Alone Complex is a version of Acme that runs on Windows, Linux, and Solaris.

  • Yi:

    Yi is a text editor written and extensible in Haskell. The goal of Yi is to provide a flexible, powerful and correct editor core dynamically scriptable in Haskell.

    • Yi is an haskell interpreter. Very much like emacs is a Lisp interpreter, this makes really easy to dynamically hack, experiment and modify Yi. All tools and goodies written in haskell are also readily available from the editor. This is implemented by binding to the GHC api.
    • Frontends. Yi can use either gtk2hs or vty as frontends, so users can choose their favourite interface.
    • “Emulation modes”. The primary emulation modes for Yi are vim and emacs. Keybindings for vi, mg and nano and other are also provided. Other editor interfaces can be written by the user to extend Yi.

    The long term goal of the project is to make Yi the editor of choice for the haskell hacker.

    The main short term goal is to maximize Yi’s Fun Factor. This includes:

    • improve hackability (and therefore architecture)
    • add cool features

Interesting Stuff: little b, PAMP, Schelog, OpenWetWare.org, and SamePlace Instant Messenger

Tuesday, February 26th, 2008
  • little b:

    The little b project is an effort to provide an open source language which allows scientists to build mathematical models of complex systems. The initial focus is systems biology. The goal is to stimulate widespread sharing and reuse of models.

    The little b language is designed to allow biologists to build models quickly and easily from shared parts, and to allow theorists to program new ways of describing complex systems. Currently, libraries have been developed for building ODE models of molecular networks in multi-compartment systems such as cellular epithelia.

    Little b is based in Common Lisp and contains mechanisms for rule-based reasoning, symbolic mathematics and object-oriented definitions. The syntax is designed to be terse and human-readable to facilitate communication. The environment is both interactive and compilable.

  • PAMP:

    Resources for installing Apache, MySQL, PHP, and (it seems) Python on S60 phones.

  • haXe:

    haXe is a high-level object-oriented programming language mainly focused on helping programers develop Websites and Web applications. haXe has been designed to be easily portable across several platforms. The haXe compiler supports the following platforms [… JavaScript, Flash, and Neko]
    intro [haXe.org]

  • Programming in Schelog (dates from mid-2003):

    Schelog is an embedding of Prolog-style logic programming in Scheme. ‘Embedding’ means you don’t lose Scheme: You can use Prolog-style and conventional Scheme code fragments alongside each other. Schelog contains the full repertoire of Prolog features, including meta-logical and second-order (’set’) predicates, leaving out only those features that could more easily and more efficiently be done with Scheme subexpressions.

  • OpenWetWare.org (a wiki):

    OpenWetWare is an effort to promote the sharing of information, know-how, and wisdom among researchers and groups who are working in biology & biological engineering. OWW provides a place for labs, individuals, and groups to organize their own information and collaborate with others easily and efficiently. In the process, we hope that OWW will not only lead to greater collaboration between member groups, but also provide a useful information portal to our colleagues, and ultimately the rest of the world.
    OpenWetWare:About

  • SamePlace Instant Messenger:

    Extensible instant messaging client based on the XMPP (Jabber) protocol. Accesses Jabber, GTalk, Twitter, MSN, AIM (and more, via gateways).

    This Firefox addon requires another to function: xmpp4moz.

This post is part of the series Bookmarks Trawl: February up to Feb. 27th

  1. Interesting Stuff: little b, PAMP, Schelog, OpenWetWare.org, and SamePlace Instant Messenger
  2. Editors
  3. SNOBOL and Icon
  4. regex-dna benchmark | Gentoo : Intel® Pentium® 4 Computer Language Benchmarks Game
  5. HBase and Hypertable: two Bigtable-like systems built on top of Hadoop
  6. Remainder of February Bookmarks Trawl

Gordon Bell, MyLifeBits, SenseCam

Wednesday, February 20th, 2008

The San Francisco Chronicle just ran an article about Gordon Bell, Gordon Bell explains why you’d want to make your whole life available in cyberspace by Sam Whiting on Sunday Feb 17th 2008 (beware: pop-up/under advert, so you’d better have pop-up blocking on). It’s a bit of a weird piece. Not an interview because there’s no exchange between Whiting and Bell. After a brief intro, the article seems to consist entirely of a monologue dictated by Bell.

He mentions the SenseCam and MyLifeBits. For anyone reading this post who’s not already acquainted with these projects, here’s a snippet from the MyLifeBits page that provides a good overview (formatting retained as-is from the source):

MyLifeBits is a lifetime store of everything. It is the fulfillment of Vannevar Bush’s 1945 Memex vision including full-text search, text & audio annotations, and hyperlinks. There are two parts to MyLifeBits: an experiment in lifetime storage, and a software research effort.

The experiment: Gordon Bell has captured a lifetime’s worth of articles, books, cards, CDs, letters, memos, papers, photos, pictures, presentations, home movies, videotaped lectures, and voice recordings and stored them digitally. He is now paperless, and is beginning to capture phone calls, IM transcripts, television, and radio.

The software research: Jim Gemmell and Roger Lueder have developed the MyLifeBits software, which leverages SQL server to support: hyperlinks, annotations, reports, saved queries, pivoting, clustering, and fast search. MyLifeBits is designed to make annotation easy, including  gang annotation on right click, voice annotation, and web browser integration. It includes tools to record web pages, IM transcripts, radio and television. The MyLifeBits screensaver supports annotation and rating. We are beginning to explore features such as document similarity ranking and faceted classification. We have collaborated with the WWMX team to get a mapped UI, and with the SenseCam team to digest and display SenseCam output.

The SenseCam itself is not simply a regular digital camera fitted ith a fisheye lens taking snapshots every thirty seconds. From the SenseCam project site’s Introduction to SenseCam:

SenseCam also contains a number of different electronic sensors. These include light-intensity and light-color sensors, a passive infrared (body heat) detector, a temperature sensor, and a multiple-axis accelerometer. These sensors are monitored by the camera’s microprocessor, and certain changes in sensor readings can be used to automatically trigger a photograph to be taken.

My interest in the SenseCam and MyLifeBits is part and parcel of my interest in lifecasting, Nokia’s Lifeblog software, the scheme to equip UK police officers with helmet cams (‘Smile, you’re on camera!’ Police to get ‘head-cams’) and other, similar efforts.

There were some interesting bits in the SF Chon piece. Here’s one section that I would like to discuss with someone (the emphasis is mine):

Occasionally somebody will stop me and say, ‘Is that a camera and what are you doing with it?’ I say, ‘It takes pictures when it wants to or for whatever reason.’ I can show you a stream of me having a double bypass. I’ve worn it around San Francisco. I’ve got pictures of the walk I take going to the farmers’ market on a Saturday morning.

There are several times when I’ve found it is particularly useful. I go to a trade show and I go to a booth and I want to remember something that’s going on at the booth. You shake hands with somebody and you want to remember who it is. The camera doesn’t pick up audio. I have a separate audio recorder, a little Olympus that dangles right under it.

One could potentially wear it during all your waking hours, but I don’t see the value in it. I wear it for two or three hours for an event and end up with 1,000 or maybe 2,000 pictures. Once you take a sequence, you put them into your computer and you replay that like a two- or three-minute movie. I think it does a nice job of capturing these episodes.

I disagree with Gordon. I can see the value in wearing a device like the SenseCam throughout the day, every day. Some scenarios: Having close-up photos of your assailants after a mugging. Gordon mentions having captured his double bypass surgery with the camera and his operation may have been uneventful, but imagine capturing evidence of a medical mistake/mishap that you could later use in a court proceeding. Even something mundane like having a shot of the cover (and hence the title and author) of a book that you had flipped through at a bookstore and held off on buying, but now decide that you’d like to order after all. A lot of the important events in our lives are unscheduled and seemingly random. Just wearing a device like the SenseCam for “events” strikes me as woefully underusing it.

In addition to all of the sensors that they’ve got already, I can think of some features that I’d love to have in a SenseCam-like device: video recording, >640×480 pixel resolution (at least for stills), a GPS receiver and GPS tagging of photos using EXIF, built-in audio recording, WLAN/WiFi and software to stream photos/video/audio to a server somewhere via an encrypted connection. That last feature would address the problem of theft (as in my mugging example), loss, or damage.

The SenseCam project page says that Additional user data, such as time-stamped GPS traces, may be used in conjunction with the SenseCam data via time-correlation. and Gordon may also be syncing the audio that he records with the Olympus device (the one in the headshot on his homepage looks like a black Olympus WS-300M 256 MB Digital Voice Recorder and Music Player) with the photos somehow.

More from the article. This time, on the future availability of the SenseCam:

I don’t know what the product plans are for the SenseCam, and I couldn’t tell you anyway. The main thing is it’s made me believe that there is money to be made there. It’s much better than sitting there with a movie or still camera and having to focus on those things. I find it an incredibly useful device. People want them. I just wrote to a guy and said basically ‘Tough luck.’ ”


Possible Google Reader bug: trouble subscribing to Google Blogs Search results feeds

I just tried subscribing to Google Blog Search results for the three terms in the title of this post, but there appears to be a bug in Google Reader that’s preventing me from subscribing. After clicking the Subscribe to a blog search feed for mylifebits in Google Reader link at the bottom of the first page of results for a GBS search on on mylifebits , for example, I get the following message in GR:

“feed/http://blogsearch.google.com/blogsearch_feeds?hl=en&q=mylifebits&as_drrb=q&as_qdr=a&ie=utf-8&output=atom” has no items.

Clicking the Atom and RSS links in the lefthand sidebar on the search results page takes me to an Add to Google page (because of how I’ve got Firefox set up) with a choice between adding the feed to Google homepage or Google Reader. This route ends a little differently than clicking the explicit Subscribe to [X] in GR link, but it’s still not working.

I get subscribed to a feed with the title showing as (title unknown) and “(title unknown)” has no items. in the items pane. The title is not a clickable link to the Google Blog Search results page either. It’s easy to unsubscribe from the non-feed.

Oddly enough, I have been subscribed to a couple of Google Blog Search results feeds for a year or more and they continue to update just fine.


Update on Google Reader subs to GBS results: Just in case the (title unknown) and “(title unknown)” has no items. stuff and the lack of a clickable link in the feed title was something that could sort itself out, I remained subbed to one feed of Google Blog Search results. I just checked Google Reader and the feed came up as having 10 new items. I still need to re-title it, however.

Now, to go back and subscribe to the other two results pages feeds.

Nokia Lifeblog: a great idea that doesn’t seem to have taken off

Wednesday, February 13th, 2008

The first version of Nokia Lifeblog (see also Wikipedia: Nokia Lifeblog) seems to have been released sometime in the summer of 2004. Just a smidge less than two years ago, according to a press release on the Nokia site (New Nokia Lifeblog - the photo diary that writes itself dated March 8th, 2006), Nokia debuted version 2.0 at CeBIT. From the release:

As with previous versions of Nokia Lifeblog, you can create a rich personal multimedia diary, with photos, video clips, messages and text notes all stored in one place. With content organized in a chronological manner, it is easy to browse, search, view and share the content both on your mobile device as well as on a compatible PC. The new version of Nokia Lifeblog builds on the previous versions by adding audio notes as well as other valuable context information, such as calendar entries and location information, to the diary. This means that images and video clips are surrounded with the context in which they were taken, rendering them as part of the rich tapestry of items that make up your personal Nokia Lifeblog timeline.

With the new Nokia Lifeblog, your Nokia Nseries device can be set to immediately link your photos to information about your location, your calendar entries, and even what time it was. For example, if you used the calendar on your Nokia Nseries device to input an entry for CeBIT, photos taken during that time will be tagged with this information from your calendar, making them easier to find in the future.

I vaguely remember the flurry of blog posts following Nokia’s announcement of Lifeblog back in early 2004. At the time, I wasn’t using a Nokia phone and I was blogging using a homebrew CMS that I ended up using for a total of almost two years before switching to a version of Wordpress in 2005. Early in the same year, Agatha and I tossed out our old Motorola mobile phones and bought …. a pair of Motorola A1000’s.1 In the summer of 2007, we went out and bought N95’s and have used them to take thousands of photos and record hundreds of video clips since then. A lot of the photos have found their way onto blogs and, if I were a Flickr user, all or some would have shown up there. Some of the videos have ended up on Youtube.

I have an N95. Agatha has one too. I blog and she has in the past, but neither of us have ever used Nokia Lifeblog. Why?

First of all, by the time that we bought the phones, I had long forgotten about Lifeblog and no one told us about it when we were making our purchase. I only rediscovered Nokia Lifeblog by accident because it was one of the other applications available on the install menu that showed up when I finally (after more than half a year) decided to install the PC Suite software. Up to that point, we’d been connecting our phones to our PCs as mass storage devices using the bundled USB cables. If I hadn’t wanted to do a firmware upgrade2 , I might never have heard about it again.

I should have been sold on the wonders of Nokia Lifeblog by the sales staff at the electronics retailer where we bought the phones. OK, maybe that’s expecting a bit too much of Nokia (and the retailer). There should at least have been an attractive pamphlet/flyer about lifeblogging inside the box with my phone. It’s possible that there might have been something about Lifeblog that showed on the screen of each of our N95’s when we first switched them on, but I really doubt it because, the firmware update put my phone into “new phone mode” (all of the data on the phone had been erased, I had to change the language settings, the theme, etc.) and there wasn’t a peep about lifeblogging. For years now, I’ve been passing billboards for Nokia N-series handsets on a daily basis and have yet to see Nokia Lifeblog explicitly mentioned.

Worse yet, though there are a few out there if you specifically search for them, I can’t recall ever stumbling across someone’s Nokia-Lifeblog-powered lifeblog. I’m subscribed to hundreds of blog feeds (from sites dedicated to a wide range of topics as well as some that could probably be considered lifeblogs already) and none of them are from sites even partially updated using the Lifeblog software. There are a lot of people who email posts to their blogs or update them via the web browser on their phone (or, recently, using Twittr and similar services), but there seem to be very few people using Lifeblog either from their phones or from their PC’s to maintain their blogs.

Nokia even seems to be trying to hide Lifeblog - the 20.0.015 firmware update moved the Lifeblog icon down into Applications/Media where, before, it had been directly under Applications. When I started up the Lifeblog app on my phone for the first time, the message that greeted me told me that I could find out more about it at www.nokia.com/nseries/lifeblog, but visiting that address yields an error page and I get redirected to nokia.com. The working URL is www.nokia.com/lifeblog, but that redirects to one of nokia.com’s wacky, impossible-to-remember numeric URL’s.

Part of the issue may be that they seem to have locked themselves into, from the beginning, a partnership with SixApart’s Typepad service:

To get started, register for a TypePad weblog account using the Lifeblog application on your phone or sign up on the Net from your PC. (See Lifeblog weblog partners below.)

Nokia Lifeblog: Lifeblogging Is the Best Blogging

If there’s some sort of agreement that makes Typepad’s relationship with Nokia Lifeblog exclusive, then Nokia made a huge mistake. They should have forged relationships with all of the major blog hosting services (in 2004, in addition to Typepad, there were, iirc Wordpress.com and pre-SixApart-acquisition Livejournal, among others) and worked with developers to provide plugins for the blogging applications that can be self-hosted (like MovableType, Wordpress, etc.). They do provide documentation for the protocol that Lifeblog uses (based on the Atom API), in the form of a 17-page PDF, linked from the same page: Lifeblog Posting Protocol Specification (PDF file, 177 KB). That’s not enough, though.

I only know that Lifeblog can be used with non-Typepad services and software because I looked at the Wikipedia page. Where’s the Nokia-run Lifeblog community site with forums and Nokia employees chiming in with news and assistance for users trying to get Lifeblog working? There’s not even anything like the list on the Wikipedia page anywhere at nokia.com. In the case of Wordpress (the default option for blogging on one’s own hosting at this point), there are no Nokia Lifeblog plugins listed on the official Wordpress plugins site (wordpress.org/extend/plugins/ and the only Wordpress plugin available at all (the one linked from the Wikipedia page) was released more than a year ago and support, such as it is, seems to be being handled in the comments section of a blog post (Post to WordPress Blogs from Nokia Lifeblog). About half of the comments are from people saying that they’re not able to get it working.

That’s not the plugin author’s fault, by the way. He’s an individual, not receiving any recognition or help from the Nokia for the plugin work that they should be supporting wholeheartedly. What a thankless job that’s got to be.

If anyone with decision-making power at Nokia is listening: you should immediately start a crash program to raise Lifeblog’s profile, make it easier to use Lifeblog to post to blogs hosted by as many of the major service providers as possible, and pay the salaries of some developers within each community to produce plugins for at least the most commonly used blogging tools.

The idea of Lifeblog is great but it seems to be mostly gathering dust.


Update (several hours later)

I’ve just discovered Nokia Share Online. Share Online also happens to be a top-level menu item within the Applications folder on my newly-firmware-updated N95. Clicking on it takes me to a menu that offers me icons for three service providers Flickr, MySinaBlog, and Vox (another SixApart service). Next to each is the phrase “Ready for activation”.

Accessing the Options menu while inside the Applications/Share online folder gives me a contextual menu that includes options for “Add new account” and “add new provider”.

Share Online is currently at version 3.0 (released October 5th 2007 and last updated on January 25th 2008) as a Nokia Beta Labs project (list of Nokia Beta Labs apps). At least one person asked (in the comments on the Oct. 5th Nokia Beta Labs blog post Share Online 3.0 launched at Nokia Beta Labs, tell us what you think!) for a comparison of Share Online to Lifeblog but didn’t seem to get an official response.

Now I’m wondering whether development of Nokia Lifeblog will continue or if it’s already dead in the water (seems to be the case) and anyone who wants to blog from their phone is supposed to use Nokia Share Online.

  1. For the record, the PC software bundled with the A1000 sucks/ed, but I still miss the touchscreen, the better voice quality when using speaker phone, and the ability to switch to speaker immediately once a call has been initiated rather than having to wait several seconds until the speaker option shows up at the bottom right of the phone’s screen. Obviously, though, I care more about the camera resolution and the ability to take surprisingly good video than about having a touchscreen. []
  2. I discovered later that this would require a separate download from the Nokia site. []