Aug 122012
 

I’m playing around with one of my other domains, RabbitTales.com, and seeing if I might be able to turn it into something useful.

One of the core technologies I’m investigating is the use of a REALLY cools site for those who like to read, OpenLibrary.org.  In finding my way around it I decided to try to get a developer instance of the software running.  However, it currently is only supported on Ubuntu 10.04 or 10.10.  Given that those are getting a little long in the tooth, I decided to see if I can get it running on Ubuntu 12.04.  It appears that I have had some success although the testing has been limited to getting the site up and running.  I haven’t tried to do much to it.

The only gotcha that I have found so far is that Python 2.7 supplies the “importlib” module and the OpenLibraries bundle also provides an implementation which causes a conflict.  Once found a workaround is fairly simple and follows.

Following the instructions at http://code.openlibrary.org/bootstrap.html on Ubuntu 12.04.

$ git clone git://github.com/internetarchive/openlibrary.git
$ cd openlibrary
$ sudo ./scripts/install_dependencies.sh

Here is where the fun begins.  The following will fail:

$ make bootstrap
** setting up virtualenv **
mkdir -p var/cache/pip
virtualenv --no-site-packages env
The --no-site-packages flag is deprecated; it is now the default behavior.
New python executable in env/bin/python
Installing distribute.............................................................................................................................................................................................done.
Installing pip...............done.
./env/bin/pip install --download-cache var/cache/pip http://www.archive.org/download/ol_vendor/openlibrary.pybundle
Downloading/unpacking http://www.archive.org/download/ol_vendor/openlibrary.pybundle
Downloading openlibrary.pybundle (25.5Mb): 25.5Mb downloaded
Storing download in cache at ./var/cache/pip/http%3A%2F%2Fwww.archive.org%2Fdownload%2Fol_vendor%2Fopenlibrary.pybundle
Downloading/unpacking Sphinx
Running setup.py egg_info for package Sphinx
no previously-included directories found matching 'doc/_build'
Downloading/unpacking Pygments
Running setup.py egg_info for package Pygments
Downloading/unpacking kombu
Running setup.py egg_info for package kombu
Downloading/unpacking Genshi
Running setup.py egg_info for package Genshi
warning: no previously-included files found matching 'doc/2000ft.graffle'
warning: no previously-included files matching '*' found under directory 'doc/logo.lineform'
Downloading/unpacking Babel
Running setup.py egg_info for package Babel
Downloading/unpacking py
Running setup.py egg_info for package py
Downloading/unpacking python-dateutil
Running setup.py egg_info for package python-dateutil
Downloading/unpacking importlib
Running setup.py egg_info for package importlib
Traceback (most recent call last):
File "<string>", line 14, in <module>
File "/home/viz/src/openlibrary/env/build/importlib/setup.py", line 6, in <module>
raise Exception("importlib is included in Python 2.7 and newer for 2.x")
Exception: importlib is included in Python 2.7 and newer for 2.x
Complete output from command python setup.py egg_info:
Traceback (most recent call last):

File "<string>", line 14, in <module>

File "/home/viz/src/openlibrary/env/build/importlib/setup.py", line 6, in <module>

raise Exception("importlib is included in Python 2.7 and newer for 2.x")

Exception: importlib is included in Python 2.7 and newer for 2.x

----------------------------------------
Command python setup.py egg_info failed with error code 1 in /home/viz/src/openlibrary/env/build/importlib
Storing complete log in /home/viz/.pip/pip.log
make: *** [venv] Error 1
$

Now some surgery is required.  Make sure you path includes the env/bin directory from the build.  In my case, this is /home/viz/src/openlibrary/env/bin/.

$ export PATH=`pwd`/env/bin:${PATH}

Now we need to remove the importlib from the python build and complete the building of venv.  Basically, we are in the middle of the ‘make venv’ build step that is documented on the web page above.

$ virtualenv --no-site-packages env
$ env/bin/pip install var/cache/pip/http%3A%2F%2Fwww.archive.org%2Fdownload%2Fol_vendor%2Fopenlibrary.pybundle
$ rm -rf env/build/importlib/
$ env/bin/pip install env/build/*
$ make install_solr
$ make setup_coverstore
$ make setup_ol

Start the softtware

$ ./scripts/solr.sh start
$ make run

Running OpenLibrary this way will monopolize the window.  So the following commands will need to be in a new window.  Remember to set your PATH in the new window.

$ make load_sample_data
$ ./scripts/solr.sh stop

Terminate the make run.

$ ./scripts/solr.sh start
$ make run

Same caveat above applies about monopolizing the window.

The instructions talk about how to run the website properly.  For me, this is fine for now.

Aug 072012
 

sdTime version 1.3.0 is now available through the Mac App Store.

For those who have already purchased sdTime, this update is free.

New in 1.3.0:

  • Customizable fonts
  • Analog clock can now:
    • Be placed on the desktop, always on top, float as a window.
    • Display the GMT offset.
  • Table View:
    • Option to resize columns to fit contents.
    • Menu selection to display all columns.
  • Minor bug fixes.
Jul 222012
 

I have done some testing of sdTime 1.2.0 and 1.3.0 on Mac OS X 10.8 GM release provided to developers.  Both releases function as expected.

A note on time zone abbreviations:

Some of the time zone abbreviations have changed in Mac OS X 10.8.  Users will see these new abbreviations when they run sdTime on Mac OS X 10.8.  This is expected behavior.

Did I see a mention of sdTime 1.3.0?

Yes.  I am finalizing sdTime 1.3.0 and I’m planning on submitting it to the Mac App Store in the next few days.  It will hopefully be available by early August.  Stay tuned for the announcement and the new features.

[Update: Aug 2, 2012... v1.3.0 is still "Waiting For Review." - Article originally published on July 22, 2012.]

Jun 222012
 

sdTime version 1.2.0 is now available through the Mac App Store.

For those who have already purchased sdTime, this update is free.

New in 1.2.0:

  • Table View now has support for custom location colors.
  • Planning View – A new view that allows you to quickly see the date and time in all locations in a group at a user specified date and time.
  • Analog View has a number of improvements:
    • Aesthetically improved scaling from small to full screen with proportionate increases in the size of the hands and the fonts.
    • A number of new options:
      • Arabic numerals (1, 2, 3, 4, …)
      • Roman numerals (I, II, III, IIII, …)
      • Transparency
      • Contextual menu for location selection and options
      • Ability to display date, location, group, and time zone abbreviation on clock face.
      • AM/PM indicator on clock face
      • AM/PM color swapping
      • Solid clock face or transparent clock face
      • Dots for hour markers
Jun 132012
 

Something that a lot of people don’t realize is that, by the political time zone definitions, time zones range from GMT-11:00 to GMT+14:00.  That means, for one hour each day there are three active dates on the globe as shown by this screen capture.   Neither American Samoa (Pago Pago) nor the Line Islands (Kiritimati) observe Daylight Savings Time.

Officially the time zones range from GMT-12:00 to GMT+14:00.  If I’m reading the IANA database correctly Kwajalein was the last location to use the GMT-12:00 designation, and it swapped to GMT+12:00 in 1993. The IANA database information can be found at http://www.iana.org/time-zones.

The above screen shot was taken using the “Planning View” that is part of sdTime 1.2.0 which was just submitted to the Mac App store.  Watch this space (or your App Store Updates) for availability of 1.2.0.