var data = [
    { date: new Date(2009, 2, 6, 6, 44, 42), lines: 483, comment: "Initial checkin for the iPhone port of Time Map.  This doesn't do anything yet; it only shows a scrollable night time image." },
    { date: new Date(2009, 2, 6, 6, 51, 6), lines: 483, comment: "Added the PCH, which apparently isn't what I thought it was." },
    { date: new Date(2009, 2, 6, 10, 37, 47), lines: 483, comment: "Updated svn:ignore list." },
    { date: new Date(2009, 2, 6, 10, 42, 15), lines: 483, comment: "Added code that generates the daytime image using xplanet." },
    { date: new Date(2009, 2, 7, 4, 23, 15), lines: 524, comment: "Added the day image to the project and implemented scrolling, zooming, and rotation on the main window." },
    { date: new Date(2009, 2, 10, 5, 43, 35), lines: 548, comment: "Reduced the size of the map image to make it display on the device. Implemented alpha compositing but it doesn't do anything useful yet." },
    { date: new Date(2009, 2, 10, 16, 28, 7), lines: 568, comment: "Modified the map generator to create a night time image.  Changed the image rendering code to mask and composite the night and day images." },
    { date: new Date(2009, 2, 10, 17, 11, 33), lines: 578, comment: "Fixed memory leaks." },
    { date: new Date(2009, 2, 10, 17, 59, 10), lines: 605, comment: "Refactored the map compositing code and made the shadow reflect the current time.  Also changed the mask generator to make a shadow mask for 03/11." },
    { date: new Date(2009, 2, 11, 16, 54, 27), lines: 705, comment: "Added code to rescale the image after a pan/zoom.  The map now starts zoomed out and the dynamically generated image is placed above it." },
    { date: new Date(2009, 2, 12, 15, 4, 50), lines: 706, comment: "Keep a copy of the day and night image around so they don't have to be reloaded from disk.  Not sure if it actually helps performance." },
    { date: new Date(2009, 2, 12, 17, 33, 0), lines: 712, comment: "Increased the size of the day and night images so the map can now be zoomed to 4x." },
    { date: new Date(2009, 2, 13, 5, 14, 37), lines: 734, comment: "Made the flip side appear with the correct orientation." },
    { date: new Date(2009, 2, 13, 9, 16, 9), lines: 802, comment: "Made flipping work a lot better.  Also made the app delegate load the main and flip side views directly instead of going through the root view.  The code for the root view is still here but it is no longer being used." },
    { date: new Date(2009, 2, 13, 11, 33, 13), lines: 864, comment: "Added a navigation controller and table to the config page." },
    { date: new Date(2009, 2, 13, 19, 27, 32), lines: 1001, comment: "Added a custom table cell that displays a switch.  Also added a City List row and disabled selection on Clouds and Night Map." },
    { date: new Date(2009, 2, 13, 19, 31, 13), lines: 1000, comment: "Removed an unneeded property." },
    { date: new Date(2009, 2, 14, 7, 45, 48), lines: 1162, comment: "Added a default settings file.  Wrote code to copy it to Documents and read its values to set the switch state.  Also removed more references to the root view controller." },
    { date: new Date(2009, 2, 14, 9, 28, 3), lines: 972, comment: "Removed the root view controller." },
    { date: new Date(2009, 2, 14, 11, 45, 4), lines: 1113, comment: "Changed the flip side to use a tab bar instead of a nav hierarchy. Also improved the status bar animation during flips." },
    { date: new Date(2009, 2, 15, 18, 15, 19), lines: 1388, comment: "Filled in the city list screen a bit.  Added a table to hold the cities as well as another view for selecting cities.  Also changed the appearance of the reverse side from black to the default blue/gray." },
    { date: new Date(2009, 2, 17, 15, 16, 23), lines: 1642, comment: "Made the city list editor a proper navigation controller." },
    { date: new Date(2009, 2, 17, 17, 30, 20), lines: 1763, comment: "Added a script to parse a file containing timezone names and output a plist.  Imported the resulting file into the project and used it as a data source for the timezone picker." },
    { date: new Date(2009, 2, 18, 14, 54, 47), lines: 1797, comment: "Tightened the layout of the Manual Entry page.  Reduced the font size and adjust the component widths of the picker to make the text fit more nicely." },
    { date: new Date(2009, 2, 18, 19, 23, 1), lines: 1970, comment: "Implemented a cell with editable text for the Manual Entry screen." },
    { date: new Date(2009, 2, 19, 13, 30, 21), lines: 1965, comment: "Made the Cancel button work on the City Search page." },
    { date: new Date(2009, 2, 19, 13, 49, 22), lines: 1988, comment: "Select America/Los_Angeles by default." },
    { date: new Date(2009, 2, 19, 19, 42, 50), lines: 2038, comment: "Added syntax validation to the Manual Entry screen." },
    { date: new Date(2009, 2, 19, 22, 29, 25), lines: 2058, comment: "Added code to download and parse the city database and fill in the city list table on the search page." },
    { date: new Date(2009, 2, 20, 13, 34, 0), lines: 2247, comment: "Added a custom view for table cells that represent cities.  Extended the city database parsing code to extract more information.  Extended PList.py to handle unicode." },
    { date: new Date(2009, 2, 20, 15, 10, 47), lines: 2247, comment: "Fixed corruption and memory leaks." },
    { date: new Date(2009, 2, 21, 4, 56, 19), lines: 2370, comment: "Added notifications so that the AddCityViewController can find out when a city has been added." },
    { date: new Date(2009, 2, 21, 6, 37, 40), lines: 2370, comment: "Code cleanup." },
    { date: new Date(2009, 2, 21, 12, 58, 36), lines: 2385, comment: "Created a small list of default cities.  Made the cities appear on the City List screen." },
    { date: new Date(2009, 2, 21, 15, 4, 18), lines: 2482, comment: "Changed the City List screen to use a nav controller to make it easier to add the detail pages later." },
    { date: new Date(2009, 2, 21, 15, 10, 53), lines: 2488, comment: "Made the City class generate more graceful context output if there's no country or admin1." },
    { date: new Date(2009, 2, 21, 16, 55, 0), lines: 2558, comment: "Added code to save the city list to disk after adding a city." },
    { date: new Date(2009, 2, 22, 18, 10, 2), lines: 2627, comment: "Added the ability to edit the city list.  Also fixed a minor inconsistency with the Add screen removal animation." },
    { date: new Date(2009, 2, 23, 18, 17, 12), lines: 2733, comment: "Added the ability to edit an entry in the city list." },
    { date: new Date(2009, 2, 24, 13, 37, 30), lines: 2769, comment: "Implemented search." },
    { date: new Date(2009, 2, 24, 16, 7, 10), lines: 2821, comment: "Removed the search bar background so that the rounded table cell corners are visible." },
    { date: new Date(2009, 2, 25, 15, 23, 13), lines: 2823, comment: "Increased the number of cities to 10,000.  Also fixed minor layout issues in the city list." },
    { date: new Date(2009, 2, 25, 17, 6, 44), lines: 2854, comment: "Fixed up the search bar.  The Search button has been renamed Return and it no longer disables on empty input.  Removed the Cancel button. Made filtering occur upon keypress." },
    { date: new Date(2009, 2, 26, 18, 40, 29), lines: 2862, comment: "Worked around a weird problem on the device where the flipside view wouldn't be laid out properly the first time you use it." },
    { date: new Date(2009, 2, 27, 4, 33, 2), lines: 2951, comment: "Made the city editor actually save the new values." },
    { date: new Date(2009, 2, 27, 6, 58, 34), lines: 2964, comment: "Found a better way to fix the flip side layout problem that works in the simulator too." },
    { date: new Date(2009, 2, 27, 7, 46, 4), lines: 2969, comment: "Created icons for the Add and Edit buttons." },
    { date: new Date(2009, 2, 27, 8, 42, 19), lines: 2988, comment: "Fixed a bug where editing a city will clear the Country and Admin1 fields." },
    { date: new Date(2009, 2, 27, 17, 10, 4), lines: 3105, comment: "Added the local time to the city list." },
    { date: new Date(2009, 2, 28, 5, 9, 42), lines: 3134, comment: "Added a timer that fires every minute to update the times in the city list." },
    { date: new Date(2009, 2, 28, 10, 17, 21), lines: 3134, comment: "Fixed a minor label misalignment." },
    { date: new Date(2009, 2, 28, 10, 19, 49), lines: 3321, comment: "Improved search performance by caching intermediate results." },
    { date: new Date(2009, 2, 28, 12, 24, 7), lines: 3330, comment: "Fixed a bug where the search cell won't get redrawn when the table updates.  This was leaving rectangular corners on the bottom of the cell when all of the cities had been filtered out." },
    { date: new Date(2009, 2, 28, 13, 56, 19), lines: 3331, comment: "Added alternate names for the cities." },
    { date: new Date(2009, 2, 29, 18, 34, 3), lines: 3444, comment: "Made filtering occur in a separate thread to reduce latency when searching for a city." },
    { date: new Date(2009, 2, 30, 8, 49, 49), lines: 3464, comment: "Moved the Manual Entry option to the bottom and prevent the display of cities when there's no filter string." },
    { date: new Date(2009, 2, 30, 16, 27, 51), lines: 3463, comment: "Removed a debug log message." },
    { date: new Date(2009, 2, 31, 13, 56, 58), lines: 3660, comment: "Changed the manual entry page to use the navigation control for timezone selection instead of the picker." },
    { date: new Date(2009, 2, 31, 16, 49, 36), lines: 3703, comment: "Made the country and region names editable." },
    { date: new Date(2009, 2, 31, 16, 50, 58), lines: 3703, comment: "Removed the section header for manual entry." },
    { date: new Date(2009, 2, 31, 17, 55, 50), lines: 3688, comment: "Fixed a problem where the timezone area and location screens were being inset too much." },
    { date: new Date(2009, 2, 31, 18, 31, 25), lines: 3663, comment: "On the manual entry screen, renamed the Done button to Save.  Also changed the edit city screen to explicitly save via the Save button instead of doing it when the user returns to the city list." },
    { date: new Date(2009, 3, 1, 14, 0, 40), lines: 3724, comment: "Removed the time and day of week from the City List cell when it's being edited.  Also removed a debug print statement that got left in the manual entry controller." },
    { date: new Date(2009, 3, 1, 15, 2, 19), lines: 3743, comment: "Implemented applicationWillTerminate: and made it deallocate the members since dealloc() isn't getting called." },
    { date: new Date(2009, 3, 1, 15, 52, 18), lines: 3753, comment: "Made the city search always search from the beginning of the string. Also fixed an inset problem on the city search page." },
    { date: new Date(2009, 3, 3, 4, 38, 10), lines: 3790, comment: "Moved the minute timer to the app delegate.  This fixes a problem where the city list table would never be released because of a mutual retain between the view controller and the timer.  It makes more sense in the delegate anyway." },
    { date: new Date(2009, 3, 3, 10, 52, 21), lines: 3822, comment: "Fixed a bunch of memory leaks." },
    { date: new Date(2009, 3, 3, 13, 0, 10), lines: 4029, comment: "Implemented an asynchronous renderer.  The front panel UI no longer blocks while it's rendering." },
    { date: new Date(2009, 3, 3, 16, 48, 14), lines: 4022, comment: "Fixed a problem where the static image wouldn't render properly if you zoom out near the edge of the map.  The root cause was that there's no good notification that tells us when the view finishes scrolling after a zoom." },
    { date: new Date(2009, 3, 4, 14, 21, 34), lines: 4114, comment: "Remember the current map position and restore it when we relaunch." },
    { date: new Date(2009, 3, 4, 15, 16, 27), lines: 4131, comment: "Added code to save the static image to disk whenever it's updated. The image itself isn't used yet..." },
    { date: new Date(2009, 3, 4, 15, 23, 53), lines: 4136, comment: "Fixed the map compositing code, which didn't account for the 11-degree offset in the images created by xplanet." },
    { date: new Date(2009, 3, 4, 17, 58, 44), lines: 4151, comment: "Made the maps update every minute." },
    { date: new Date(2009, 3, 5, 8, 53, 59), lines: 4168, comment: "Made the new static image fade in.  Also show the last saved static image immediately upon load." },
    { date: new Date(2009, 3, 5, 13, 6, 20), lines: 4166, comment: "Removed a debug print statement." },
    { date: new Date(2009, 3, 5, 13, 7, 9), lines: 4182, comment: "Reset the minute timer when the application becomes active." },
    { date: new Date(2009, 3, 5, 16, 21, 53), lines: 4216, comment: "Made the Settings switchs save their values.  Also refactored a lot of code." },
    { date: new Date(2009, 3, 6, 5, 50, 56), lines: 4278, comment: "Added the ability to turn off the night time image." },
    { date: new Date(2009, 3, 6, 18, 59, 28), lines: 4414, comment: "Added markers to denote the cities." },
    { date: new Date(2009, 3, 8, 16, 31, 19), lines: 4528, comment: "Changed the terminator mask image to cover only a quadrant of the earth.  We now create the full image by flipping, rotating, and inverting the partial image." },
    { date: new Date(2009, 3, 8, 18, 35, 8), lines: 4528, comment: "Added a high-resolution version of the night time image." },
    { date: new Date(2009, 3, 8, 18, 49, 15), lines: 4528, comment: "Added code to crop and crush the mask image.  This should have gone in two checkins ago." },
    { date: new Date(2009, 3, 10, 15, 28, 45), lines: 4783, comment: "Added the ability to detect taps on the city markers.  Also split the marker functionality into new Marker and Marker Manager classes." },
    { date: new Date(2009, 3, 11, 9, 26, 45), lines: 4883, comment: "Added an overlay showing the name and local time of a city that is tapped.  Also checked in a change to the Xcode project file that should have been committed before." },
    { date: new Date(2009, 3, 11, 10, 23, 1), lines: 4948, comment: "Animated the city name/time overlay when it is shown or hidden.  Moved the overlay code from the marker manager into the marker." },
    { date: new Date(2009, 3, 11, 11, 39, 30), lines: 4982, comment: "Added highlighting for the selected city.  Also show the top/bottom clip images if the city exceeds the map's latitude limits." },
    { date: new Date(2009, 3, 11, 12, 28, 18), lines: 4996, comment: "Made the overlay appear above the markers." },
    { date: new Date(2009, 3, 12, 7, 11, 18), lines: 4997, comment: "Fixed a reference count bug that prevented the city markers from being deallocated when the marker manager was destroyed." },
    { date: new Date(2009, 3, 12, 7, 11, 51), lines: 5006, comment: "Changed the city marker overlay to show the day of the week in addition to the time." },
    { date: new Date(2009, 3, 12, 13, 54, 23), lines: 5037, comment: "Made the city marker overlay update the time every minute." },
    { date: new Date(2009, 3, 12, 15, 19, 25), lines: 5109, comment: "Changed the overlay behavior so that the overlay is dismissed by tapping the currently-selected city instead of tapping off a city. Made the main view remember the overlay that is displayed when it flips back from the settings screen.  Fixed a few memory leaks." },
    { date: new Date(2009, 3, 12, 15, 23, 58), lines: 5108, comment: "Fixed a memory leak." },
    { date: new Date(2009, 3, 13, 15, 15, 33), lines: 5200, comment: "Added settings and table cells for configuring the time and day formats.  These aren't hooked up yet." },
    { date: new Date(2009, 3, 14, 14, 44, 2), lines: 5591, comment: "Added controls for setting the day and time formats.  These are persistent but they don't do anything yet." },
    { date: new Date(2009, 3, 15, 13, 32, 55), lines: 5637, comment: "Made the city list and main view update the time format when the user changes it." },
    { date: new Date(2009, 3, 15, 18, 18, 0), lines: 5661, comment: "Hooked up the Day of Week preference so that it's reflected in the displayed day/time strings." },
    { date: new Date(2009, 3, 16, 18, 43, 8), lines: 5838, comment: "Added code to download the cloud image from the server periodically." },
    { date: new Date(2009, 3, 17, 5, 33, 55), lines: 5845, comment: "Fixed a bug where the cell type wouldn't be set correctly when the table goes into editing mode.  Also moved some methods around." },
    { date: new Date(2009, 3, 17, 11, 58, 44), lines: 5916, comment: "Added code to render the cloud image." },
    { date: new Date(2009, 3, 17, 13, 59, 55), lines: 5919, comment: "Made the Flip button look like the standard info button.  Also made the map update when a new cloud image is downloaded." },
    { date: new Date(2009, 3, 18, 18, 35, 6), lines: 5922, comment: "Improved performance by giving the cloud fetcher its own operation queue.  Also moved the code that set the initial static image to below the scroll view setup.  Changing the scroll view parameters caused the DidScroll method to run, which cleared the static image." },
    { date: new Date(2009, 3, 19, 17, 54, 54), lines: 5946, comment: "Moved rendering of the scrolling image into its own thread.  This improves performance when loading the main view." },
    { date: new Date(2009, 3, 22, 13, 59, 27), lines: 5947, comment: "Rewrote the main view so that it uses tiled high-resolution images instead of generating screnn-sized high-res images on demand." },
    { date: new Date(2009, 3, 22, 18, 21, 39), lines: 5971, comment: "Improved startup performance by saving the cached image as raw data. This way we don't have to decompress it when the application starts. To do: reduce memory footprint." },
    { date: new Date(2009, 3, 26, 17, 54, 16), lines: 5971, comment: "Fixed punctuation." },
    { date: new Date(2009, 3, 26, 18, 2, 26), lines: 6337, comment: "Made a ton of improvements to the memory footprint.  Changes include:    - Moved image loading functions to the map renderer.    - Serialized map rendering and cloud image manipulation.    - Broke up the large day and night images into quadrants.    - Changed animation code so that we no longer require separate upper     and lower images." },
    { date: new Date(2009, 3, 28, 16, 20, 27), lines: 6404, comment: "Greatly improved the memory footprint by implementing a custom view that draws the CGImage manually." },
    { date: new Date(2009, 3, 28, 16, 47, 24), lines: 6404, comment: "Increased the size of the targets on the front panel to make them easier to hit." },
    { date: new Date(2009, 4, 1, 5, 42, 7), lines: 6404, comment: "Fixed a bug in the mask generator.  Not sure how it ever worked.  Also uncommented code in build_deps.sh and added gen_maps.sh to it." },
    { date: new Date(2009, 4, 4, 17, 18, 56), lines: 6607, comment: "Changed the rendering code to be much more careful about memory usage. It now renders into preallocated scratch buffers whenever possible. Everything else is a bit of a mess now though..." },
    { date: new Date(2009, 4, 5, 7, 0, 5), lines: 6709, comment: "Added a synchronization mechanism to make sure that rendering and drawing don't happen at the same time." },
    { date: new Date(2009, 4, 5, 17, 19, 53), lines: 6839, comment: "Moved the terminator construction code into an NSOperation object. Now it syrnchonizes with the renderer and uses the same buffers." },
    { date: new Date(2009, 4, 6, 16, 16, 22), lines: 6789, comment: "Synchronized the cloud image saver with the renderer.  updateMap() should be fully-functional now.  Memory usage peaks at 16MB." },
    { date: new Date(2009, 4, 6, 17, 47, 38), lines: 6797, comment: "Fixed two bugs.  An interface change in the image loading function threw an exception when the image could not be loaded.  Also, a mistake in the renderer completion callback released the active renderer when canceled renderer completes." },
    { date: new Date(2009, 4, 8, 11, 21, 36), lines: 6694, comment: "Reimplemented code to cache the map and display it immediately upon load.  Also fixed a few bugs in the synchronization mechanism." },
    { date: new Date(2009, 4, 8, 12, 24, 26), lines: 6704, comment: "Added code to save the last cloud update time.  This had gotten removed somehow." },
    { date: new Date(2009, 4, 8, 12, 51, 20), lines: 6717, comment: "Fixed an annoyance on physical devices where the clouds wouldn't update for a long time because we lose the tmp directory when we install a new binary." },
    { date: new Date(2009, 4, 8, 12, 58, 39), lines: 6717, comment: "Changed the cache counter from 100 to 2." },
    { date: new Date(2009, 4, 8, 14, 15, 3), lines: 6717, comment: "Added an image view that shows a downsampled day image.  This is a placeholder that is displayed during the first run while the high-resolution image is rendered.  Also checked in some old changes that were made to the map generation script." },
    { date: new Date(2009, 4, 8, 15, 19, 43), lines: 6721, comment: "Made the map update every five minutes." },
    { date: new Date(2009, 4, 8, 17, 45, 41), lines: 6727, comment: "Added an activity meter that displays while a render is in progress. Also added day_dark_mask.png, which I had forgotten to check in earlier." },
    { date: new Date(2009, 4, 8, 19, 50, 20), lines: 6739, comment: "Moved the activity indicator to the center of the screen and made it bigger." },
    { date: new Date(2009, 4, 9, 9, 13, 16), lines: 6739, comment: "Updating some files that I missed when I checked in the fix to change the activity indicator position." },
    { date: new Date(2009, 4, 9, 9, 16, 31), lines: 6806, comment: "Show the activity indicator only when the render will result in a user-visible change.  As a side-effect, this reduces rendering when we don't really need to.  Also fixed a bug in the cloud code that caused the image to be downloaded from the server on every render." },
    { date: new Date(2009, 4, 9, 11, 20, 4), lines: 6783, comment: "Make sure the map updates when the application wakes up.  Also disable the timer so that we won't be rendering while we're sleeping." },
    { date: new Date(2009, 4, 9, 11, 55, 51), lines: 6783, comment: "Modified the city list generation code to output a full list as pickled data.  Also strip out the popuplation data while we're at it." },
    { date: new Date(2009, 4, 9, 19, 10, 26), lines: 6781, comment: "Changed filtering code so that it no longer ignores diacritics. Hopefull it'll still work well enough." },
    { date: new Date(2009, 4, 9, 19, 11, 14), lines: 6781, comment: "Make the alternate names lower case to aid in case-insensitive search later." },
    { date: new Date(2009, 4, 12, 14, 44, 39), lines: 6788, comment: "Added code to generate and use masks for the entire year.  Also added the SystemConfiguration framework which will soon be used by the remote query code." },
    { date: new Date(2009, 4, 15, 8, 33, 12), lines: 6919, comment: "Changed the search code to query the server for the city list." },
    { date: new Date(2009, 4, 15, 11, 29, 23), lines: 6897, comment: "- Removed the Manual Entry option.  - Display a footer if we've received the maximum number of results   (100).  - Add an activity indicator to the search bar that spins when a search   is in progress.  - Clear the search results after a city is selected." },
    { date: new Date(2009, 4, 15, 11, 55, 28), lines: 6896, comment: "Fixed a bug in the visible cell update code that could cause the cells to be displayed in the wrong mode." },
    { date: new Date(2009, 4, 16, 10, 9, 31), lines: 6994, comment: "Added a setting to remember the last screen we were on.  This way we can restore the state the next time the app starts." },
    { date: new Date(2009, 4, 16, 10, 37, 39), lines: 6997, comment: "Made the overlay cycle through the cities that fall within the tap threshold instead of showing only the first one." },
    { date: new Date(2009, 4, 16, 12, 49, 4), lines: 7035, comment: "Added a property that remembers which overlay was visible." },
    { date: new Date(2009, 4, 16, 16, 21, 21), lines: 7094, comment: "Take away the keyboard when the Manual Entry view disappears.  Also improve event delivery for the tab control and city list." },
    { date: new Date(2009, 4, 16, 16, 26, 28), lines: 7094, comment: "Swapped the Region and Country cells." },
    { date: new Date(2009, 4, 16, 16, 32, 3), lines: 7094, comment: "Renamed Night Map to City Lights." },
    { date: new Date(2009, 4, 16, 17, 26, 12), lines: 7089, comment: "Moved all of the \"back\" buttons to the left side of the nav bar." },
    { date: new Date(2009, 4, 16, 17, 54, 57), lines: 7104, comment: "Changed the TextEditCell notification so that it fires on every keypress.  Also fixed a bug in the manual entry validator that didn't catch missing city names." },
    { date: new Date(2009, 4, 16, 17, 56, 27), lines: 7105, comment: "Changed the City Name validator to check for nil strings." },
    { date: new Date(2009, 4, 17, 15, 20, 55), lines: 7194, comment: "Added explanatory text for the Day of Week and Relative day format options." },
    { date: new Date(2009, 4, 18, 16, 1, 20), lines: 7403, comment: "Made the table scroll to the field being edited." },
    { date: new Date(2009, 4, 18, 16, 25, 57), lines: 7419, comment: "Improved the text on the network alert popup." },
    { date: new Date(2009, 4, 18, 16, 36, 31), lines: 7438, comment: "Added an alert that displays when the cloud layer is turned on." },
    { date: new Date(2009, 4, 18, 18, 16, 15), lines: 7438, comment: "Set the default city list.  Decreased the keypress timer on the search page to 0.5s.  Reordered some files in the project file." },
    { date: new Date(2009, 4, 19, 17, 20, 43), lines: 7438, comment: "Minor adjustments to the vertical position of the secondary line." },
    { date: new Date(2009, 4, 19, 17, 22, 22), lines: 7447, comment: "Prevent autorotation when the flip side is visible." },
    { date: new Date(2009, 4, 19, 17, 29, 26), lines: 7494, comment: "Made the search bar the first responder when the search screen loads." },
    { date: new Date(2009, 4, 19, 17, 53, 10), lines: 7513, comment: "Added a button to launch the Time Map website." },
    { date: new Date(2009, 4, 19, 17, 56, 14), lines: 7513, comment: "Removed some unneeded stuff from the Add City nib." },
    { date: new Date(2009, 4, 19, 18, 2, 49), lines: 7513, comment: "Adjusted spacing on the time and day format cells." },
    { date: new Date(2009, 4, 19, 18, 52, 11), lines: 7518, comment: "Use the network activity indicator when we're doing a query over the network." },
    { date: new Date(2009, 4, 19, 19, 2, 40), lines: 7518, comment: "Adjusted the secondary row position again, this time to prevent the descenders from being truncated." },
    { date: new Date(2009, 4, 20, 14, 13, 49), lines: 7518, comment: "Fixed a bug that caused cities beyond the edge of the map to place their markers in the wrong hemisphere." },
    { date: new Date(2009, 4, 20, 14, 31, 28), lines: 7512, comment: "Fixed a crash that occurred upon shutdown after editing a city." },
    { date: new Date(2009, 4, 20, 14, 32, 59), lines: 7512, comment: "Fixed a few lines that prevented the app from installing on my iPhone." },
    { date: new Date(2009, 4, 20, 14, 44, 44), lines: 7514, comment: "Fixed a bug where the network activity indicator sometimes didn't turn off." },
    { date: new Date(2009, 4, 20, 15, 35, 50), lines: 7518, comment: "Added a message saying that there are no results when there are no results." },
    { date: new Date(2009, 4, 20, 16, 25, 10), lines: 7521, comment: "Added the locale and format parameters to the query.  They're not used by the back-end yet." },
    { date: new Date(2009, 4, 22, 8, 20, 40), lines: 7521, comment: "Fixed whitespace." },
    { date: new Date(2009, 4, 22, 8, 22, 20), lines: 7521, comment: "Added icons for the tab bar items." },
    { date: new Date(2009, 4, 22, 9, 56, 7), lines: 7521, comment: "Added an application icon." },
    { date: new Date(2009, 4, 22, 10, 23, 41), lines: 7521, comment: "Changed the default city list and put the cities in alphabetical order." },
    { date: new Date(2009, 4, 22, 10, 37, 26), lines: 7521, comment: "Add new cities to the front of the list instead of the back.  This makes it easier to see that something has changed." },
    { date: new Date(2009, 4, 22, 11, 2, 56), lines: 7522, comment: "Changed the wording on the cloud and network alerts.  Increased the city filter sleep and timeout values." },
    { date: new Date(2009, 4, 22, 11, 10, 6), lines: 7522, comment: "Moved the code that shows the keyboard to viewWillLoad().  This seems to make it appear sooner." },
    { date: new Date(2009, 4, 22, 11, 50, 51), lines: 7522, comment: "Added iTunes artwork." },
    { date: new Date(2009, 4, 22, 12, 12, 59), lines: 7522, comment: "Made a new directory for the iPhone port of Time Map." },
    { date: new Date(2009, 4, 22, 12, 14, 56), lines: 7522, comment: "Relocate the iPhone files into their own directory." },
    { date: new Date(2009, 4, 22, 12, 40, 29), lines: 7522, comment: "Renamed time_map to time_map_dashboard." },
    { date: new Date(2009, 4, 22, 12, 42, 20), lines: 7522, comment: "Updated the make script to reflect the new name and renamed \"dashboard_images\" to \"artwork\"." },
    { date: new Date(2009, 4, 22, 14, 43, 55), lines: 7538, comment: "Commented out performance testing log messages." },
    { date: new Date(2009, 4, 22, 14, 45, 7), lines: 7538, comment: "Changed the version string to 0.99.99.0." },
    { date: new Date(2009, 4, 22, 14, 45, 26), lines: 7538, comment: "Changed the base OS version to 2.0." },
    { date: new Date(2009, 4, 22, 15, 1, 36), lines: 7539, comment: "Fixed a bug in the code that detects the network connection.  It should check network reachability first." },
    { date: new Date(2009, 4, 22, 15, 16, 8), lines: 7539, comment: "Made a tags directory." },
    { date: new Date(2009, 4, 22, 15, 17, 32), lines: 7539, comment: "Tagging the first release candidate for 1.0." },
    { date: new Date(2009, 4, 22, 17, 22, 8), lines: 7539, comment: "Changed the background color to transparent to prevent a red fringe from appearing during the \"wake up\" animation." },
    { date: new Date(2009, 4, 23, 15, 41, 35), lines: 7810, comment: "Added an option to render a low-quality map.  This reduces the memory footprint by about 4.7MB." },
    { date: new Date(2009, 4, 23, 18, 5, 20), lines: 7860, comment: "Switch the rendering mode to low quality when we receive a memory warning.  Unfortunately, this triggers all the time on the iPhone." },
    { date: new Date(2009, 4, 23, 19, 29, 22), lines: 7883, comment: "Load the quadrant images as 5 bit/channel raw images to save memory. This reduces the footprint by about 1.2MB." },
    { date: new Date(2009, 4, 24, 4, 24, 35), lines: 7884, comment: "Turned off the code that automatically degrades the map quality when memory pressure is high." },
    { date: new Date(2009, 4, 24, 4, 50, 6), lines: 7884, comment: "Added a splash screen." },
    { date: new Date(2009, 4, 24, 4, 54, 34), lines: 7893, comment: "Removed the placeholder text when we're editing a city." },
    { date: new Date(2009, 4, 24, 5, 24, 32), lines: 7893, comment: "Bumped the version number to 0.99.99.1.  Also added the iTunes artwork back in." },
    { date: new Date(2009, 4, 24, 5, 24, 58), lines: 7893, comment: "Tagged 0.99.99.1." },
    { date: new Date(2009, 4, 24, 16, 29, 53), lines: 7893, comment: "Fixed compile errors under iPhone SDK 3.0." },
    { date: new Date(2009, 4, 24, 16, 32, 46), lines: 7893, comment: "Removed the underscore from the bundle identifier." },
    { date: new Date(2009, 4, 25, 16, 18, 24), lines: 7904, comment: "Fixed a display problem on 3.0.  The background of the search bar was visible even though we overrode drawRect()." },
    { date: new Date(2009, 4, 25, 16, 20, 0), lines: 7904, comment: "Added Entitlements.plist and an Ad Hoc configuration." },
    { date: new Date(2009, 4, 25, 16, 20, 30), lines: 7904, comment: "Added the Entitlements file, which I forgot in the last checkin." },
    { date: new Date(2009, 4, 25, 16, 27, 20), lines: 7904, comment: "Bumped the version number to 0.99.99.2." },
    { date: new Date(2009, 4, 25, 16, 27, 49), lines: 7904, comment: "Tagged 0.99.99.2." },
    { date: new Date(2009, 4, 26, 14, 0, 10), lines: 7925, comment: "Added a cell for submitting feedback." },
    { date: new Date(2009, 4, 26, 14, 4, 21), lines: 7925, comment: "Removed iTunesArtwork and renamed the Release configuration to App Store." },
    { date: new Date(2009, 4, 26, 14, 51, 38), lines: 7925, comment: "Bumped the version number to 1.0.0.0.  Changed the App Store configuration to use the new App Store provisioning profile." },
    { date: new Date(2009, 4, 26, 14, 55, 15), lines: 7925, comment: "Tagging 1.0.0.0." },
    { date: new Date(2009, 4, 29, 4, 44, 11), lines: 7943, comment: "Made the view appear and disappear notifications work more consistently.  This fixes a crash on iPhone OS 3.0 where the manual entry keyboard notification didn't get unhooked because of a missing notification." },
    { date: new Date(2009, 4, 29, 4, 56, 21), lines: 7943, comment: "Bumped the version string to 1.0.1.0." },
    { date: new Date(2009, 4, 29, 4, 56, 47), lines: 7943, comment: "Tagged 1.0.1.0." },
    { date: new Date(2009, 4, 29, 5, 5, 2), lines: 7943, comment: "Reverted to 1.0.0.0.  Apparently I can't change the version number while the app is in review." },
    { date: new Date(2009, 4, 29, 5, 5, 37), lines: 7943, comment: "Removed the 1.0.1.0 tag.  We're not going to use it right now." },
    { date: new Date(2009, 4, 30, 17, 25, 1), lines: 7943, comment: "Removing the old tag for 1.0.0.0." },
    { date: new Date(2009, 4, 30, 17, 25, 50), lines: 7943, comment: "Retagged 1.0.0.0 to include the bug fix that caused a crash on iPhone OS 3.0." }
];
