Brian's 2005 Weekly Log

see also:

Week 1: January 22 to January 28, 2005
Goal Actual
Write up a list of project goals -- high level goals for the project Done: see the goals page
Write up a to-do list -- lots possible things to do next Started: see the to-do list page
Start keeping a time log, to track of how much time I spend working Done: made a daily timesheet template for myself and started filling them out every day
Do 20 hours of work, on any items I feel like from the to-do list Done. Did 22 "billable hours" of work.
+ Set up initial web site.
+ Added content to a half dozen pages.
+ Set up CSS style sheet.
+ Set up server-side includes for header and footer.
+ Tested for valid XHTML and CSS.
+ Spent 8 hours doing accounting work, to figure out annual rates of return on my investments from 1996 to 2004, and figure out how much money is currently in the virtual openagenda "account" at the bank of Brian.
Spend more time writing than I spend reading Done. Barely read at all.
Go to bed by midnight every night Done.
Do not reinstall civilization! Done.
Week 2: January 29 to February 4, 2005
Goal Actual
Make a backup disc Done.
Work on the blue-sky page Did lots of work on it. It's not quite finished, but it's far enough along to give a good sense of what I have in mind.
Continue to average 20 hours per week, working on any items I feel like from the to-do list Done. Did 22.75 "billable hours" of work.
+ Spent about 10 hours working on the blue-sky page.
+ Spent a little time looking at Lotus Agenda, and spent 4 hours talking and exchanging email with Chao, about collaborative content management software.
+ Did a little work on the openness survey page.
+ Did a little work on cleaning up CSS styles, improving accessibility, etc.
+ Did a little experimental JavaScript coding, working on a "click-to-edit" demo on "The Hobbit" booklist page.
Lunch meeting with Chao on Monday about Agenda and collaborative content management Done. Had a good conversation. Seems like there may be substantial overlap between the projects I'm working on and what Chao is working on.
Go to bed by midnight every night, and do not reinstall civilization Done.
Week 3: February 5 to February 11, 2005
Goal Actual
Continue work on the blue-sky page Did a little more work on it. I feel good about where it is now, so it's time to move on to other tasks.
Continue to average 20 hours per week, working on any items I feel like from the to-do list Done. Did 20 "billable hours" of work.
+ Did some more accounting and posted donation and expense summaries.
+ Created a new glossary page and started populating it.
+ Started a list of non-profit ogranizations.
+ Started a list of cost-benefit estimates.
+ Did some work on the navigation bar, although it could still use some work.
+ Read more about the Creative Commons licenses, and switched over to using their Public Domain Dedication.
+ Finished reading Chapter 1 of Global Crises, Global Solutions.
+ Started writing to some experimental JavaScript code to test out ideas from the blue-sky page.
+ Read the Apache license and adopted it for the JavaScript code.
Dinner Wednesday with Chao and Marty to talk about project ideas Done. Good conversation.
Ping Jeffrey about Zope/Plone, blue-sky features, and gas tax stuff Exchanged email. Need to follow up next week.
Go to bed by midnight every night, and do not reinstall civilization Almost. Stayed up until 1:00 on Thursday, but was otherwise a good kid.
Week 4: February 12 to February 18, 2005
Goal Actual
Continue work on the experimental JavaScript code. Done. The code is off to a good start. There's 1,800 lines of code now, if you count liberally. Features include:
+ Basic data model layer: Items, Attributes, Kinds, Pages, Sections, Queries
+ Basic query support: Queries for all items of a kind, or for specific items
+ Basic presentation layer: PageView and SectionView code
+ Basic section layouts: Table and Outline code
+ Basic item editing: Editing affordances in Table layouts
+ List of coding standards and example file
Continue to average 20 hours per week, working on any items I feel like from the to-do list Done. Did 24.25 "billable hours" of work.
+ Spent most of my time programming, working on the blue-sky codebase.
+ Went for a walk with Nick and Katie and got their ideas and advice about the openagenda project and the blue-sky coding project.
+ Made some minor additions to the glossary, and the lists of organizations and estimates.
Follow-up with Jeffrey about the gas tax stuff. Done. He's going to send me his gas tax archive files.
Go to bed by midnight every night. Done.
Week 5: February 19 to February 25, 2005
Goal Actual
Continue work on the JavaScript code. Done. We're now up to 2,900 lines of code, counting liberally.
+ Added new section layouts: Detail layout and Bar Chart layout
+ Added nav bar with menu of pages: You can now have more than one page
+ Editing in table: Improved look an feel (tabbing, skipping cells, etc.)
+ Creating new items: Now you can create new items in table view
+ Clean-up: Did a lot of refactoring and code clean-up work. Added Util.assert and started using assertions.
Work half of my normal work week. (Holiday on Monday with Patricia, and Mom is coming into town on Friday.) Ended up working my normal hours. Did 23.25 "billable hours" of work.
+ Spent most of my time programming, working on the blue-sky codebase.
+ Fixed the CSS stylesheet so that the openagenda sites looks the same in IE as it does in Firefox.
+ Talked with Eric on the phone Monday.
+ Did some reading: Douglas Crockford's JavaScript pages, Phillip Eby's OSAF Spike prototype, JavaScript getter and setter methods, Subversion, etc.
Go to bed by midnight every night. Done.
Week 6: February 26 to March 4, 2005
Goal Actual
Take the week off. Spend time with my mom, who is in town for a visit. Done.
Also: Had lunch on Friday with Brian Totty. Exchanged mail with Chao. 2 hours total
Week 7: March 5 to March 11, 2005
Goal Actual
Continue work on the experimental JavaScript code. Done. We're now at 3,400 lines of code, counting liberally.
+ Table editing: Made the arrow keys work (like the Tab and Return keys), and fixed other bugs.
+ JavaDoc: Started converting all my comments into JavaDoc format.
+ Error handling: Cleaned up error handling code, added assert statements, and installed an error-reporting textarea.
+ Observable items: Started a big refactoring based on items and queries being observable.
+ File-based sample data: Started converting the sample-data file from JavaScript into a dead-ascii format.
+ Stevedore metaphor: Started a big refactoring to move from a singleton Repository instance to a cascade of pluggable "stevedore" instances.
+ Item detail pages: Added item detail pages, so we now have #page and #item pages.
Continue to average 20 hours per week. Done. Did 23.75 "billable hours" of work.
+ Spent most of my time programming, working on the blue-sky codebase.
+ Exchanged mail with Chao, and had a long phone call on Wednesday.
+ Borrowed Katie's copy of "JavaScript: The Definitive Guide", and started browsing through it.
+ Spent 6 hours doing gas tax work.
Send out the annual gastax.org mailing. Not quite. Exchanged mail with Jeffrey, and sent mail to Alan and Jon. Unpacked the files Jeffrey sent me, read through the e-mail archives, and updated the summary spreadsheet. Installed Thunderbird and set it up to check the gastax account. Did not actually send out the annual odometer-check e-mail. Need to do that next week.
Go to bed by midnight every night. Done.
Week 8: March 12 to March 18, 2005
Goal Actual
Continue work on the Blue-sky JavaScript code. Done. We're now at about 4,100 lines of code, counting liberally (but no longer counting the datastore).
+ File-based datastore: Finished converting the sample-data file from JavaScript code into a JSON format.
+ Stevedore metaphor: Continued on the refactoring to move from a singleton Repository instance to a cascade of pluggable "stevedore" instances.
+ XMLHttpRequest and POST: Read about XMLHttpRequest and HTTP POST. Wrote 20-lines of PHP code to act as a simple "server", and got the client and server code happily talking to each other.
+ Persistent data-store: Got everything working together, so now for the first time the client code is saving changes to the server and loading data from the server. It's now a real wiki-style web-based app, rather than a client-side demo!
+ Query code: Made it possible to have queries that ask for only the items that are in both (Category A) AND (Category B).
+ Performance: Made some performance improvements. There are some more easy things to do to improve performance, sometime when I have time.
+ Bug fixing: Fixed some bugs having to do with key codes and character escaping.
Continue to average 20 hours per week. Done. Did 29 "billable hours" of work.
+ Spent most of my time programming, working on the blue-sky codebase.
+ Spent 1/2 hour doing gas tax work.
+ Spent a couple hours reading about open sources licenses, and decided to switch from an Apache license to a Public Domain Dedication
+ Watched Jon Udell's JotSpot screencast. Read about JotSpot. Logged on to Chao's nextsmallthing.jot.com site and worked on drafting an "elevator pitch" for the Blue-Sky project.
Send out the annual gastax.org mailing. Nope. Still haven't heard back from Alan. Next week I'll go ahead and send the mailing anyway.
Meet with Chao and Brian Totty on Friday. Done. Met with Chao and Brian Totty for 5 1/2 hours. Gave them a demo of the Blue-Sky prototype, and had a great conversation about other project ideas.
Go to bed by midnight every night. Done.
Week 9: March 19 to March 25, 2005
Goal Actual
Continue work on the Blue-sky JavaScript code. Nope. No coding this week. Spent all my time doing gastax work, getting a Subversion repository set up, and doing other project infrastructure stuff.
Continue to average 20 hours per week. Done. Did 30.25 "billable hours" of work.
+ Renamed project from "Blue-Sky" to "OpenRecord".
+ Created the openrecord.org web site, moved the blue-sky spec from the openagenda site to the openrecord site, and added a half dozen other pages to the new openrecord site.
+ Spent a lot of time reading about Subversion, SSH, PuTTY, TortoiseSVN, BerlioOS, DOM, AJAX, JavaScript interfaces, etc.
+ Installed the Subversion client, TortoiseSVN, and PuTTY.
+ Got an account with BerliOS, set up a Subversion repository, and imported the baseline OpenRecord code.
+ Checked in Chao's MultiLineTextView code.
+ Set up mailing lists for the openrecord project: openrecord-dev and openrecord-svn.
+ Created a BerliOS openrecord project page, and filed the project in their Trove listings.
+ Exchanged 40 mail messages with Chao and a few with Brian Totty, and had a long phone conversation with Chao on Monday.
+ Did a little reading about "Contributor License Agreements".
+ Spent 9.75 hours doing gas tax work.
Send out the annual gastax.org mailing. Done.
+ updated the gastax.org "About us" page
+ read about TerraPass and the Better World Club
+ exchanged mail with Jon and Alan Field
+ wrote the annual newsletter and sent it out
+ sent out annual odometer reading request mail
+ did a little more accounting work
Go to bed by midnight every night. Done.
Week 10: March 26 to April 1, 2005
Goal Actual
Continue work on the OpenRecord JavaScript code. Did a little coding. Hope to do much more next week.
+ Read about JavaScript prototype-based inheritance, and created an abstract superclass called View that the other view classes can inherit from.
+ Did a little bug fixing.
+ Researched line-ending issues, and replaced all the \r\n line endings with \n line endings.
+ Finished converting to JavaDoc style comments everywhere.
+ Started converting the view code from using a getElementById() style to a createElement() style.
Continue to average 20 hours per week. Done. Did 29 "billable hours" of work.
+ Spent 10 hours on gastax work.
+ Spent about 8 hours coding.
+ Learned about Apache mod_rewrite directives, and set up .htaccess files for the openrecord.org and openagenda.org web sites, so that they have shorter, better URLs.
+ Added a bookmarks page to the openrecord site.
+ Talked on the phone with Mignon. She's interested in working on the OpenRecord project, and we talked about where to start.
+ Added Chao and Mignon to the OpenRecord group at BerliOS, so that they can check code into the repository.
+ Exchanged 20 mail messages with Chao and Mignon.
Follow up on the gastax.org mailings. Done.
+ Sent out annual bills and voting ballots.
+ Fixed the gastax.org URLs, using Apache mod_rewrite directives in the .htaccess file.
+ Did a big overhaul of the gastax.org web site.
Go to bed by midnight every night. Done.
Week 11: April 2 to April 8, 2005
Goal Actual
Continue work on the OpenRecord JavaScript code. Did a little coding. More than zero, but less than I'd hoped too.
+ Re-wrote the SectionView display code, and continued overhauling the other View classes.
+ Read about event handling, and improved the event handling code.
+ Changed all the files names to match the JavaScript class names.
+ Made TextView automatically grow as you type more text.
Continue to average 20 hours per week. Done. Did 22.5 "billable hours" of work.
+ Spent 1 hour on gastax work.
+ Spent about 9 hours coding.
+ Did some more work on the bookmarks page.
+ On the DST hike on Saturday, talked with Mimi a little about tag-based categorization vs. attribute-based systems.
+ Read over the "addendum agreement" that Mignon is going to sign with DigitalPersona regarding contributing to OpenRecord.
+ Sent mail to Mitch and Katie to give them the URL of the new openrecord.org site.
+ Exchanged a few dozen e-mail messages with Chao, Mignon, Katie, Mitch, and Brian Totty.
+ Wrote up some ideas about the client-server API and posted them to the dev list.
+ Wrote up an idea about item ordering in query result sets, and posted that to the dev list.
Follow up with gastax.org work, if necessary. Done. Responded to a few mail messages, and did a little related bookkeeping.
Maybe meet up with Mignon on Thursday. Done. Mignon came up here for the afternoon. I gave her a demo of what the current code does, and we talked about all sorts of things: feature ideas, data model issues, who the intended user is, different open source licenses, JavaScript, PHP, HTTP, Apache, Eclipse, Subversion, etc.
Go to bed by midnight every night. Pretty much. Just stayed up a little too late one night.
Week 12: April 9 to April 15, 2005
Goal Actual
Continue work on the OpenRecord JavaScript code. Only did about 5 hours of actual coding.
+ Read about JsUnit and set up our first unit tests.
+ Wrote a unit test that calls JsLint, and cleaned up all the code so that it meets JsLint standards.
Continue to average 20 hours per week. Done. Did 27 "billable hours" of work.
+ Wrote up some ideas about the data model and posted them to the dev list.
+ Got set up with Instant Messaging: installed Trillian and registered a username with AOL.
+ Long phone call with Chao on Monday, and exchanged a couple dozen e-mail messages with Chao, Mignon, and Mimi.
+ Entered bugs and features and tasks into the BerliOS tracking tools.
+ Exchanged mail with Douglas Crockford about using the jslint.js code.
+ Read about Apache, PHP, burst, JUnit, JsUnit, UUIDs, and JavaScript ints and floats.
+ Installed Apache and PHP on my desktop computer, so that I can run tests locally instead of having to FTP files to the openrecord.org server.
Follow up with gastax.org work, if necessary. Done. Almost no work needed this week.
Go to bed by midnight every night. Done.
Week 13: April 16 to April 22, 2005
Goal Actual
Continue work on the OpenRecord JavaScript code. Did 19.5 hours of actual coding. I think the last time I spent that much of my week coding was back at week eight.
+ Worked exclusively on implementing the new data model, as described in my post to the dev list last week: ideas about the data model. The data model is now about 2,000 to 2,600 lines of code, depending what you count.
Continue to average 20 hours per week. Done. Did 24.5 "billable hours" of work.
+ Spent 19.5 hours coding.
+ Spent 1 hour on gas tax work.
+ Spent 1.5 hours on the phone and exchanging e-mail.
+ Spent 2 hours reading about JCR and MusicBrainz.
Follow up with gastax.org work, if necessary. Done. Not much work needed.
Go to bed by midnight every night. Pretty much. Just stayed up a little too late on Thursday.
Week 14: April 23 to April 29, 2005
Goal Actual
Continue to average 20 hours per week. Done. Did 27 "billable hours" of work.
+ Spent 17.5 hours coding.
+ Spent almost no time on gas tax work.
+ Spent 5 hours on Monday meeting with Chao and Mignon.
+ Spent 2 hours reading about (JCR, JSR-170, and Jackrabbit) and (RDF, Jena, and RDF frameworks for PHP and JavaScript).
+ Spent almost no time on the phone or exchanging e-mail
Continue work on the OpenRecord JavaScript code. Done. Had another good week -- spent most of my time coding.
+ Worked exclusively on the new data model.
+ Added observer code to the data model.
+ Added lots of data model unit tests, and fixed the code so that it passes the unit tests.
+ Did some JavaScript timing measurements, and experiments with floating point precision.
Follow up with gastax.org work, if necessary. Done. Just needed to send a few follow-up messages.
Meet with Chao and Mignon to talk about project goals, release planning, metrics, etc. Done. Had a good meeting. Talked about high-level goals, Extreme Programming, the new data model, JCR and RDF, projects that OpenRecord might be used for. Came up with some "user stories" for our initial release.
Go to bed by midnight every night. Done.
Week 15: April 30 to May 6, 2005
Goal Actual
Work half my normal hours, and then leave on vacation mid-week. Done. Did 16 "billable hours" of work.
Meet with Mignon on Sunday and try doing pair programming. Done. Worked together to get the data model to pass all its unit tests.
Meet with Chao and Mignon on Monday. Done.
+ Settled on a list of tasks and user stories for the 0.1 release.
+ Prioritized tasks, and came up with estimates for the high priority tasks.
+ Split up tasks, and each signed up for some.
+ Spent some time talking about the feature list, the data model API, an XP-style "metaphor" to use for OpenRecord, how to include OpenRecord views on non-OpenRecord web pages, interoperability, etc.
+ Also had some follow-up phone conversations with Chao, talking about refactoring the TablePlugin, the design for the login/authentication, etc.
Make a backup disk. Done.
Continue work on the OpenRecord JavaScript code. Done. Pair-programming with Mignon on Sunday, plus some data model re-naming work on Tuesday.
Follow up with gastax.org work, if necessary. Done. Deposited all of this year's contributions.
Go to bed by midnight every night. Done.
Week 16: May 7 to May 13, 2005
Goal Actual
Away on vacation all week! Done!
Week 17: May 14 to May 20, 2005
Goal Actual
Continue to average 20 hours per week. Done. Did 21 "billable hours" of work.
+ Spent 9.5 hours coding.
+ Spent 1.25 hours reading other people's code.
+ Spent 6 hours on Monday meeting with Chao and Mignon.
+ Spent 2 hours on gastax work
+ Spent 1.5 hours on phone calls, IM, and e-mail
Continue work on the OpenRecord JavaScript code. Done. Had a successful week coding.
+ Switched all the view code over to use the new data model.
+ Added some error checking and unit tests to the data model. Data model now throws exceptions if you try to edit without being logged in.
+ Wired up Chao's sign-in/sign-out UI to talk to the data model login/logout API.
+ Wired up BigLumpVirtualServer to save changes to the server, and to save and load user passwords.
+ Added support for "provisional items".
+ Checked in a copy of JsUnit to the third party tools directory of our repository, and changed our unit tests to run against that copy.
Follow up with gastax.org work, if necessary. Done. Got mail from Alan saying our deposits have now been received by Fidelity. Tallied up all the votes and updated the accounting spreadsheets. Sent Alan mail with the voting results and info about how much we owe to the different charities we fund.
Meet with Chao and Mignon on Monday. Done. Had a good meeting.
+ Got a demo of Mignon's new UI for assigning items to categories.
+ Reviewed the list of tasks we need to do for the 0.1 release.
+ Reviewed the additional tasks that Chao had added to our task tracking list.
+ Looked at current bugs and talked about what's worth fixing.
+ Got Chao's machine set up to run unit tests.
+ Resolved to add JsUnit to the third party tools directory in our repository.
+ Talked about coding conventions, and resolved to keep some and drop others.
+ Talked about JSLint, and resolved to keep the JSLint unit tests for now.
+ Talked about transitive attribute relationships, and resolved to ignore them for now. Resolved to only support single-level category queries.
Go to bed by midnight every night. Done.
Week 18: May 21 to May 27, 2005
Goal Actual
Continue to average 20 hours per week. Done. Did 30.75 "billable hours" of work.
+ Spent 20.5 hours doing programming (15.5 solo, and 5 hours pair programming).
+ Spent 8.25 hours meeting with people, or on the phone or IM.
+ Spent 2 hours on e-mail, task-tracking, and admin stuff.
Meet with Chao on Monday. Done. Met for 2 hours, and then did pair programming for 5 hours.
+ Talked about the list of UI questions we want to ask Mimi about.
+ Talked about various design issues: queries, authentication, bi-directional references.
+ Talked about some example documents and use cases.
+ Spent 5 hours doing pair programming on the LoginView.
Meet with Chao and Mimi on Thursday. Done. Met for 4 hours.
+ Talked about the data model design.
+ Talked about the relative merits of tags, categories, and kinds.
+ Talked about view-based schema vs. kind-based schema vs. attribute-based schema.
+ Talked about lots of particular UI issues we're currently running into.
Continue work on the OpenRecord JavaScript code. Done. Spent over 20 hours coding, which is probably more than in any other week since about week 8.
+ Lots of work on LoginView: SuggestionBox UI, md5 password hash, separated LoginView from RootView code, etc.
+ Changed the BigLumpVirtualServer into the DeltaVirtualServer: now we only save incremental changes.
+ Got rid of the "Save" button: now we automatically save changes as you make them.
+ Read about UUIDs and GUIDs, wrote JavaScript code to generate UUIDs, and replaced old integer ids with new UUIDs.
Follow up with gastax.org work, if necessary. Nothing I needed to do.
Go to bed by midnight every night. Almost. Stayed up too late on Thursday, but was otherwise good.
Week 19: May 28 to June 3, 2005
Goal Actual
Continue to average 20 hours per week. Done. Did 26.5 "billable hours" of work.
+ Spent 16.25 hours doing programming (11.75 solo, and 4.5 hours pair programming).
+ Spent 5.75 hours meeting with people.
+ Spent 4.5 hours on the phone, IM, e-mail, and admin.
+ Finished reading Extreme Programming Explained, by Kent Beck
Meet with Mignon on Sunday. Done. Met for 5.75 hours.
+ Talked about UUID generation -- issues and alternatives.
+ Talked about UI problems and ideas.
Meet with Chao and Mignon on Monday. Done. Met for 4.5 hours. Chao wasn't available, so Mignon and I did pair programming.
+ Worked on UUID generation code for "version 1" UUIDs.
+ Added a "New Page" button to the Navbar, and wrote the code to make it work.
+ Discovered problems with calling PHP scripts on Mignon's Apache server, and spent a while looking into that.
Continue work on the OpenRecord JavaScript code. Done. Spent 16.25 hours programming.
+ Worked with Mignon to add the "New Page" feature.
+ Refactored navbar code out of RootView and into its own view class.
+ Refactored the code for doing lint tests, and improved how we report the lint test error messages.
+ Created an "Expected Data Type" attribute, as well as a bunch of Data Type items, like "Text" and "Number".
+ Added expected data types to lots of attributes in the repository.
+ Updated the book-list example items so that each book's "author" and "publisher" are references to other items, not just text strings.
+ Changed the TextView SuggestionBox code so that it takes advantage of the new expected data type information.
Follow up with gastax.org work, if necessary. Haven't heard back from Alan. Need to ping him again next week.
Go to bed by midnight every night. Almost. Just stayed up too late on Wednesday.
Week 20: June 4 to June 10, 2005
Goal Actual
Continue to average 20 hours per week. Done. Did 28.25 "billable hours" of work.
+ Spent 5.75 hours doing programming (2.5 solo, and 3.25 hours pair programming).
+ Spent 7 hours meeting with people.
+ Spent 4.25 hours on the phone, IM, and e-mail.
+ Spent 3.25 hours on admin stuff: release planning, task tracking, meeting agenda, status report.
+ Spent 8 hours working on a first draft of a contributor agreement.
Maybe meet with Mignon on Sunday. Done. Met for 3.25 hours. Did pair programming working on time-based UUIDs.
Meet with Chao and Mignon on Monday. Done. Met for 5.5 hours.
+ Did a wrap-up of Iteration #1 (the May iteration).
+ Planned goals and tasks for Iteration #2 (the June iteration).
+ Discussed the plan for using UUIDs, and talked about how to represent queries.
Continue work on the OpenRecord JavaScript code. Done, but only for a few hours, because I had to spend so much time this week on the contributor agreement.
Ping Alan about gastax.org work. Done. Got a quick reply, and sent him the Excel accounting spreadsheet.
Go to bed by midnight every night. Done.
Week 21: June 11 to June 17, 2005
Goal Actual
Continue to average 20 hours per week. Done. Did 28.75 "billable hours" of work.
+ Spent 19.25 hours doing programming (14.25 solo, and 5 hours pair programming).
+ Spent 4 hours meeting with people.
+ Spent 4.5 hours on the phone, IM, and e-mail.
+ Spent 1 hour on admin stuff: meeting prep & status report.
Meet with Chao and Mignon on Monday. Done. Met for 9 hours.
+ Talked for an hour about the contributor agreement, open source licenses, and intellectual property rights.
+ Spent 5 hours doing pair programming (mostly working with Chao on adding a new Date data type and doing some JSON file format clean up, but also a little work with Mignon on extracting userstamps and timestamps from UUIDs.)
+ Roger came over after work and we gave him a demo. Then all went out to dinner and talked about the project, and then came back and talked about JavaScript and Java and thin-client vs. thick-client, etc.
Continue work on the OpenRecord JavaScript code. Done. Spent 19.25 hours programming.
+ Worked with Chao on adding a new Date data type.
+ Changed the JSON file format so that we save each group of records in the context of a transaction.
+ Went through the whole JSON repository file and converted all the old ids to new time-based UUIDs.
+ Got deletion code working again, and updated Votes and Ordinals to use UUIDs.
+ Added new attributes and categories for keeping track of view layout info.
+ Added initial support for bi-directional references ("Connection" Entries).
+ Did some refactoring so that the axiomatic items and entries now live in their own JSON file.
Follow up with the gastax.org work if necessary. Nope, didn't do any gastax work this week.
Go to bed by midnight every night. Done.
Week 22: June 18 to June 24, 2005
Goal Actual
Continue to average 20 hours per week. Done. Did 26.75 "billable hours" of work.
+ Spent 16 hours doing programming (12.5 solo, and 3.5 hours pair programming).
+ Spent 1.5 hours meeting with people.
+ Spent 3.25 hours on the phone, IM, and e-mail.
+ Spent 1 hour on admin stuff: meeting prep, sys-admin, & status report.
+ Spent 2.75 hours looking into open source license agreements.
+ Spent 2.25 hours on gas tax work.
Meet with Chao and Mignon on Monday. Done. Met for 5 hours. Mignon wasn't available, so Chao and I met.
+ Did pair progamming, and got bi-directional references working in the UI.
+ Talked about all the new code in the past week, and got Chao to demo several new features for me.
+ Did a little planning about upcoming work, and talked about a couple design questions.
+ Talked about open source licenses and the contributor agreement.
Continue work on the OpenRecord JavaScript code. Done. Spent 16 hours programming.
+ Worked with Chao on getting bi-directional references working in the UI.
+ Got transactions correctly wrapped around code that deals with provisional items.
+ Moved over to storing the user and password info into the main repository file (instead of a separate file).
+ Set things up so that one server can serve N pages, where each page has its own repository file.
+ Changed repository format so that data types are identified by UUID, not by string token.
+ Changed repository format so that plugin views are identified by UUID, not by string token.
+ Changed view code to use bi-directional connections between Categories and Items, and between Sections and Queries and Layout Data Items.
Follow up with the gastax.org work. Done.
+ Exchanged mail with Alan.
+ Closed out the 2004 tax year -- did final accounting work and posted the Excel spreadsheet on the web site.
+ Made some other year-end updates on the web site, and sent out year-end summary mail to the gas tax members.
Work on figuring out our open source license. Done.
+ Read about fair use, and stumbled on the "O'Reilly Policy on Re-Use of Code Examples from Books".
+ Read about open source licenses, including the MIT/X11 license and the modified-BSD license.
+ Exchanged mail with the Software Freedom Law Center (SFLC) at softwarefreedom.org. Unfortunately they're not available to help us, although they did offer a few suggestions in their e-mail.
+ Exchanged mail with Ted Leung, and made tentative plans to meet up next month.
Go to bed by midnight every night. Almost. Just stayed up too late on Monday.
Week 23: June 25 to July 1, 2005
Goal Actual
Continue to average 20 hours per week. Done. Did 29 "billable hours" of work.
+ Spent 20.75 hours doing programming (all solo, no pair programming).
+ Spent 4.75 hours meeting with Chao.
+ Spent 2.5 hours on e-mail and IM.
+ Spent 1 hour on admin stuff: meeting prep, sys-admin, & status report.
Maybe meet Mignon on Monday. Nope, didn't end up meeting with Mignon on Monday. But did meet with Chao for most of Friday:
+ Talked about the three different demos we may be doing in July, and what features we want to add/change before giving demos.
+ Tested concurrent use of the dogfood site, which worked smoothly.
+ Decided not to start using the dogfood site until the August iteration, so for July we'll just keep using the release_planning.txt file.
+ Talked about some simple ideas for standardizing how we use the CSS file.
+ Talked about UI design issues for focus, selection, tabbing, deletion, etc.
+ Talked about observer/observable architecture, and how to wire up various parts of the UI.
+ Talked about where to use drag-and-drop in the UI.
+ Talked about having an "authoring" mode instead of the current "edit" mode, and being able to edit table contents whenever you're logged in.
+ Talked about hiding the internal axiomatic system items for most users.
Continue work on the OpenRecord JavaScript code. Done. Spent 20.75 hours programming
+ Simplified code required to create a new HTML document (and corresponding repository).
+ Changed existing HTML docs (and their repositories) to use unique UUIDs, and set things up so we no longer hard-code the home page for the doc.
+ Added axiomatic items and attributes for Person, Tag, etc.
+ Cleaned-up axiomatic items: created bi-directional connections for category relationships, and created inverse attributes for the axiomatic attributes.
+ Cleaned-up repository format: made generated comments more readable and more useful.
+ Created a prototype of the OpenRecord dogfood site.
+ Learned how to use the Venkman profiler, did some performance testing and tuning.
+ Created the QueryRunner class, and refactored everything to use it.
+ Wired up Navbar to use observer/observable mechanism to do auto-refresh.
+ Cleaned up code base: created util directory, created Uuid.js, changed all private instance variables to use a "._" prefix, etc.).
Go to bed by midnight every night. Done.
Week 24: July 2 to July 8, 2005
Goal Actual
Continue to average 20 hours per week. Done. Did 24.5 "billable hours" of work.
+ Spent 12.5 hours doing programming (all solo, no pair programming).
+ Spent 1.5 hours meeting with Marty.
+ Spent 4 hours on e-mail and IM.
+ Spent 1 hour on admin stuff: meeting prep, task tracking, closing iteration #2.
+ Spent 4.75 hours reading about JavaScript and about AJAX tools, apps, and libraries.
+ Spent 0.75 hours on gastax work.
Meet with Chao and Mimi on Thursday evening. Nope, postponed this meeting until next Tuesday.
Met with Marty on Friday. Gave him a demo, talked about the project, and discussed different options for things he could work on.
Sent mail to Alan Durning about finding a new home (or maybe a NEW home) for the gastax project.
Read through lots of AJAX blog entries, and looked at tools, apps and libraries. Added some stuff to our bookmarks page. Exchanged e-mail and IM messages with Chao about drag-and-drop libraries, and what to do about incompatibility problems between OpenRecord and the libraries for "prototype" and "script.aculo.us".
Continue work on the OpenRecord JavaScript code. Done. Spent 12.5 hours programming
+ Did some clean-up work -- renaming things, grouping code into appropriate sub-directories, improving the appendNewElement utility method, etc.
+ CSS work -- worked on having a consistent pattern for how we relate View code to CSS classes, and made different CSS classes for different types of entries (Dates, Numbers, Text, etc.)
+ Changed the "Edit" button into a "Show Tools" button, and made edit mode be the default whenever you're logged in.
+ Experimented with making a bookmarklet that can bootstrap OpenRecord into any non-OpenRecord web page. Worked on trying to get an OpenRecord view to display in a MediaWiki page. Read about JavaScript security features.
Go to bed by midnight every night. Stayed up late on Monday, but it was worth it -- watched "Street Fight", a documentary about Cory Booker
Week 25: July 9 to July 15, 2005
Goal Actual
Did 9 "billable hours" of work.
+ Spent 7.25 hours meeting with people.
+ Spent 1.75 hour on admin stuff: meeting prep and status report.
Meet with Chao, Marty, and Mignon on Monday. Done.
+ Got a demo of Chao's cool new drag-and-drop stuff.
+ Closed iteration #2, and reviewed tasks for iteration #3.
+ Talked about problems embedding OpenRecord content in MediaWiki pages.
+ Talked about upcoming demos.
+ Talked about Marty perhaps starting on writing a server.
+ Talked with Mignon about Ordinals and getting reorderBetween() working.
+ Worked on debugging TablePlugin with Chao.
Meet with Chao and Mimi briefly on Tuesday. Done.
+ Talked with Chao about drag-and-drop code.
+ Talked with Mimi about our CSS stylesheet.
+ Talked with Chao and Mimi about UI design.
Take Tuesday through Friday off, for my 40th birthday and a camping trip. Done!
Week 26: July 16 to July 22, 2005
Goal Actual
Continue to average 20 hours per week. Did 20.75 "billable hours" of work.
+ Spent 12.25 hours doing programming (all solo, no pair programming).
+ Spent 5 hours meeting with people.
+ Spent 2.5 hours on phone, e-mail, and IM.
+ Spent 1 hours on admin stuff: to-do list and status report.
Meet with Chao and Mignon on Monday. Done.
+ Resolved not to set up a "dogfood" site to track the project, because it wouldn't be a good example of a target use case.
+ Talked about design issues that came out of showing the dashboard prototype to Mitch -- DateRange, icons in suggestion box, end-of-day tickler scripts.
+ Talked about different ways we might work with Wikipedia -- as a separate Wiki-almanac site run by the Wikimedia Foundation, as a MediaWiki extension within Wikipedia, as an independent site that "wraps" Wikipedia, as a bookmarklet triggered extension to Wikipedia, etc.
+ Talked about who our first outside users should be, and when we'll be ready for them.
+ Talked about the pros and cons of starting off with a single-user product that uses "file:"-based access, versus waiting to release until we have a server component and can support multi-user collaboration.
+ Talked about supporting IE as well as Firefox, and the pros and cons of starting on that now versus waiting until later.
+ Talked about when to start actively inviting other programmers to join the project.
Continue work on the OpenRecord JavaScript code. Done. Spent 12.25 hours programming
+ Created a DateValue.js class that supports fuzzy partial dates like "1944".
+ Looked at the dojo tools for packaging code, but then just wrote some simpler OpenRecordLoader.js that loads the dozens of JavaScript files required to launch an OpenRecord page.
+ Cleaned up the UUIDs used for the new "Not Lozenge" attribute.
+ Added support for saving changes to the repository when a document is loaded from a "file:///" type URL. Built our local-save implementation on top of code from the GTDTiddlyWiki project.
Go to bed by midnight every night. Done.
Week 27: July 23 to July 29, 2005
Goal Actual
Continue to average 20 hours per week. Did 20.5 "billable hours" of work.
+ Spent 14.5 hours doing programming (all solo, no pair programming).
+ Spent 2.25 hours meeting with people.
+ Spent 2.75 hours on phone, e-mail, and IM.
+ Spent 1 hour on admin stuff: to-do list and status report.
Ping Brian Totty and see about meeting up. Done. Haven't heard back yet. Need to try him again next week.
Maybe meet with Mignon on Monday. Done.
+ Talked about patterns for implementing inheritance in JavaScript.
+ Talked about implementing some notion of "interfaces" in JavaScript.
+ Talked about different ways of doing testing of the model code.
+ Talked about ideas for better names for various classes in the model code.
+ Experimented with using objects as the keys for hash tables.
Continue work on the OpenRecord JavaScript code. Done. Spent 14.5 hours programming
+ Made it possible to create new repositories that start with zero items in them.
+ Added a primitive CSV import feature to TablePlugin.
+ Added drag-and-drop re-ordering for the Navbar menu items.
+ Added drag-and-drop re-ordering for table column headers.
+ Made lozenge text not wrap from one line to the next.
Go to bed by midnight every night. Almost. Just stayed up too late on Wednesday.
Week 28: July 30 to August 5, 2005
Goal Actual
Continue to average 20 hours per week. Did 26.25 "billable hours" of work.
+ Spent 5.75 hours doing programming (all solo, no pair programming).
+ Spent 7 hours harvesting sample data for demo documents.
+ Spent 4.75 hours on sys-admin, getting the new demo machine set up.
+ Spent 5.25 hours meeting with people.
+ Spent 2.75 hours on phone, e-mail, and IM.
+ Spent 0.75 hours on meeting preperation.
Ping Brian Totty and see about meeting up. Nope, haven't done this yet. Next week.
Meet with Chao and Mignon on Monday. Done.
+ Talked about different types of demo repositories we might want to make.
+ Talked about what the agenda should be for our demo on August 18.
Continue work on the OpenRecord JavaScript code. Done. Spent 5.75 hours programming
+ Did some debugging and bug fixing.
+ Did some profiling and made significant performance improvements.
Got the new demo machine (Dell Inspiron 9300) and did lots of sys-admin to get it set up as a demo/development machine.
+ Installed and configured: Firefox, jEdit, TortoiseSVN, Apache, PHP, SmartFTP, Windows XP updates, printer drivers.
Go to bed by midnight every night. Done.
Week 29: August 6 to August 12, 2005
Goal Actual
Continue to average 20 hours per week. Did 30.75 "billable hours" of work.
+ Spent 4.25 hours doing programming (all solo, no pair programming).
+ Spent 8.25 hours working on sample data for demo repository.
+ Spent 12 hours on meeting preperation: making slides, doing demo practice, etc.
+ Spent 0.5 hours on sys-admin, getting demo stuff set up.
+ Spent 2 hours meeting with people.
+ Spent 2.5 hours on phone, e-mail, and IM.
+ Spent 1.25 hours on admin stuff: status report and web site updates.
Ping Brian Totty and see about meeting up. Done. Haven't heard back.
Maybe meet with Mignon on Monday. Done. Worked on importing sample data for demo repository: tuscany.html and museum.html
Work on creating demo repositories, and writing up overview documents. Done.
+ More improvements to the code for doing CSV import.
+ Finished creating the museum.html demo repository.
Attended talk by Jimmy Wales at OSAF. Chatted with Mitch and Ross Mayfield about wiki tools for structured content.
Go to bed by midnight every night. Done.
Week 30: August 13 to August 19, 2005
Goal Actual
Continue to average 20 hours per week. Did 25.25 "billable hours" of work.
+ Spent 4 hours doing programming (all solo, no pair programming).
+ Spent 3.25 hours making demo repositories.
+ Spent 7.5 hours on demo preperation and practice.
+ Spent 6.25 hours meeting with people and giving demos.
+ Spent 1.75 hours on sys-admin and admin stuff.
+ Spent 1.25 hours on phone, e-mail, and IM.
+ Spent 1.25 hours reading.
Created demo repositories: tobacco.html and open_agenda.html
Met with Chao and Mignon on Monday.
+ Looked at demo repositories.
+ Walked through demo agenda.
Coding
+ Numbers are now presented with commas, and parsed for commas.
+ Drag and drop lozenges now does move instead of copy.
+ Modest performance improvements.
+ Minor clean-up work.
+ Met with Mitch on Thursday: showed the demo, and talked about Wikipedia, web-based peer-production, structured content on wikis, etc.
+ Met with Mimi Thursday: showed the new demo repositories, talked about date ranges and UI design.
+ Met with Marty Friday: showed the new demo repositories, showed off new features, talked about where we are and where we're going.
Read about KendraBase, Personendata, delicious director, Wikidata, Erik Moller.
Go to bed by midnight every night. Done.
Week 31: August 20 to August 26, 2005
Goal Actual
Did 9 "billable hours" of work.
+ Spent 7 hours meeting with people and giving demos.
+ Spent 1.5 hours on e-mail.
+ Spent 0.5 hours on admin stuff and meeting prep.
Attend BarCamp on Saturday. Done. BarCamp was great.
+ Met SocialText's Jon Prettyman and chatted with him for a bit.
+ Met Rowan Nairn. Got a demo of his app, and showed him OpenRecord.
+ Met Alex Russell. Got his feedback about the OpenRecord licensing issues. Learned more about Dojo and JotSpot.
Meet with Ted Leung on Monday. Done. Met with Ted and Chao. Gave Ted a demo. Got Ted's advice about licensing issues. Learned more about Apache.
Also met with Chris Messina on Tuesday. Learned more about the foundation he's thinking of starting, but it doesn't look like that will be a near-term solution to our licensing needs.
Update task list. Done.
Play civilization. Done. Played it for couple days and then deleted it.
Week 32: August 27 to September 2, 2005
Goal Actual
Average 20 hours per week. Did 20.25 "billable hours" of work.
+ Spent 12 hours programming (and looking at code libraries).
+ Spent 6 hours meeting with people.
+ Spent 1.25 hours on admin stuff: task-tracking, filing, and status reports.
+ Spent 1 hour on e-mail.
Meet with Rowan, Mignon, and Chao on Saturday. Done. Had a good meeting.
+ Rowan is interested in collaborating on OpenRecord after he gets back from traveling.
+ Talked about tools/libraries we could use for the server/data-store.
+ Talked about what features and use cases we're interested in (e.g. single-site vs. many sites).
+ Talked about how we do task-tracking and planning, and about extreme-programming/agile-programming.
+ Talked about data model features, RDF, UI features, etc.
Meet with Mignon on Monday. Done. Spent the day coding.
Catch up some on e-mail. End the week with less than 70 messages in my inbox. Done. Down to 45 messages in my inbox.
Start coding again. Done. Spent 10.25 hours coding.
+ UUIDs: moved from using strings for UUIDs to UUID objects, and did lots of clean-up
+ Started experimenting with the Dojo package system.
+ Wrote some tests to look at performance impact for different styles of method declaration.
Go to bed by midnight every night. Done.
Week 33: September 3 to September 9, 2005
Goal Actual
Take time to deal with identity-theft incident. Done. Spent 9.5 hours on identity-theft damage control. Filed police report, filed FTC report, ordered credit reports, filled out ID Theft Affidavit, etc.
Work a little less than normal. Done. Did 11 "billable hours" of work.
+ Spent 4.5 hours programming (2.5 solo, 2 hours pair programming).
+ Spent 3.75 hour on e-mail and phone calls.
+ Spent 2 hours meeting with people.
+ Spent 0.75 hours on sys-admin, admin stuff, and grant research.
Maybe meet with Mignon on Tuesday. Done. Spent the day programming. Worked on converting our code to use the Dojo package system, and debugged problems with the file IO code for using absolute paths on Windows machines.
Attended the Socialtext Wiki Wednesday gathering, gave a demo of OpenRecord, and saw other cool demos.
Go to bed by midnight every night. Done.
Week 34: September 10 to September 16, 2005
Goal Actual
Average 20 hours per week. Done. Did 28.5 "billable hours" of work.
+ Spent 9.25 hours programming.
+ Spent 16 hours meeting with people.
+ Spent 1.25 hours on admin stuff: meeting prep and status report.
+ Spent 2 hours on e-mail and phone calls.
Meet with Mignon and Chao on Monday. Met with Mignon. Walked through the to-do list items. Talked about the UUID API, the data model API, and the plugin API. Talked about the Dojo package system. Talked about UI design issues.
Continue work on the OpenRecord JavaScript code. Done. Spent 9.25 hours coding.
+ Ported code to the Dojo package system: UUIDs, DateValue, and Lint code.
+ UUID code: added unit tests, fixed bugs, added methods, and did fit-and-finish work.
Met with Marty and Jason on Friday. Gave a demo of OpenRecord. Got a demo of Marty's IM tool, and a demo of Jason's clipping tool. Talked about ways to collaborate.
Attended SuperHappyDevHouse #4 on Friday.
+ Talked with Alex Russell and the Dojo folks. Asked lots of questions.
+ Saw demo by Crispin Perdue of interactivewebpages.com.
+ Saw Dojo demo by Alex.
+ Saw Renkoo demo by Dylan Schiemann.
+ Gave demos of OpenRecord to Alex and Scott of Jotspot.
Go to bed by midnight every night. Nope. Stayed up too late on Wednesday.
Week 35: September 17 to September 23, 2005
Goal Actual
Average 20 hours per week. Done. Did 22.5 "billable hours" of work.
+ Spent 20 hours programming.
+ Spent 1 hour meeting with people.
+ Spent 1 hour on admin stuff: to-do lists and status reports.
+ Spent 0.5 hours on e-mail.
Meet with Mignon on Monday. Done. Talked through issues involved in loading plugin views.
Send follow-up mail to Scott at Jotspot. Done.
Continue work on the OpenRecord JavaScript code. Done. Spent 20 hours coding.
+ Converted item.addEntry() to take "named parameter" style arguments.
+ Ported all of our code over to use Dojo package system and Dojo-style namespaces.
+ Created the orp.lang package, and cleaned up the code for assert(), assertType(), isString(), etc.
Make a backup disk. Done.
Go to bed by midnight every night. Done.
Week 36: September 24 to September 30, 2005
Goal Actual
Average 20 hours per week. Done. Did 20 "billable hours" of work.
+ Spent 9.25 hours programming.
+ Spent 1 hour on admin stuff: to-do lists, organizing my files.
+ Spent 3.25 hours writing up notes about data model issues, coding conventions, etc.
+ Spent 2 hours reading about web hosting plans offered by different companies.
+ Spent 2 hours reading: Apache Incubator, MediaWiki, JotSpot, QuickBase, DataWeb, etc.
+ Spent 2.5 hours on e-mail.
Meet with Mignon on Monday. Done. I worked on the Dojo conversion and Mignon worked on the plugin framework.
Continue work on the OpenRecord JavaScript code. Done. Spent 9.25 hours coding.
+ Converted our code away from our homegrown utility functions, over to the corresponding Dojo APIs: event registration, file IO, language extensions.
+ More error handling work on the UUID code.
Go to bed by midnight every night. Nope. Stayed up too late on Tuesday and Wednesday.
Week 37: October 1 to October 7, 2005
Goal Actual
Average 20 hours per week. Done. Did 26.5 "billable hours" of work.
+ Spent 11 hours programming.
+ Spent 8 hours meeting with people.
+ Spent 6.5 hours on e-mail.
+ Spent 0.75 hours reading.
+ Spent 0.25 hour on admin stuff: status report.
Meet with Jeffrey on Saturday. Done.
+ Talked about the Data Model API.
+ Talked about alternative data structures for representing bi-directional connections.
+ Talked about Times and TimeSpans, and whether time is "of the essense" vs. just another attribute.
+ Brainstormed about possible names for the "archive" module.
+ Talked about datastore options: MySQL, Jackrabbit, text files, etc.
+ Talked about when/where to have November programming retreat week.
+ Talked about web hosting options.
+ Talked about how to write CSV export code, and process for signing up for tasks.
Meet with Mignon on Monday. Done.
+ Talked about how we want the plugin loader to work.
+ Talked about when/where to have November programming retreat week.
+ Got advice from Binky about web hosting options.
+ Wrote code.
Follow up about programming retreat week. Done. Talked to Jeffrey, Mignon, Binky, Marty. Chose house and set tenative dates.
Follow up about the Dojo foundation and the contributor license agreements. Done. Sent mail to Alex, and follow up mail to Dojo committers.
Do more research about switching to a new web hosting company. Done. Did a little reading. Sent mail to Eric and Nick, asking for advice.
Continue work on the OpenRecord JavaScript code. Done. Spent 11 hours coding.
+ Took code from the model directory and split it into model, archive, and storage.
+ Did clean-up and refactoring work on the archive and storage code.
+ Moved UUID code from util directory into a new uuid directory.
+ Wrote code to augment bi-directional connection entries with twin ProxyEntry objects, and cleaned up data model API.
Go to bed by midnight every night. Done.
Week 38: October 8 to October 14, 2005
Goal Actual
Average 20 hours per week. Done. Did 20 "billable hours" of work.
+ Spent 10.25 hours programming.
+ Spent 3.5 hours meeting with people.
+ Spent 4.5 hours on e-mail.
+ Spent 1 hour on admin stuff: status report and to-do list.
+ Spent 0.75 hours on sys-admin.
Meet with Mignon on Monday. Done.
+ Planned out how the plugin system should work.
+ Talked about different in-memory representations for bi-directional connections.
+ Wrote code.
Post to the Dojo list about using "debugAtAllCosts". Done. Turned out we just needed to upgrade to a current version of the Dojo library. I did that, and "debugAtAllCosts" is working splendidly now. Also posted some questions about different ways to use dojo.event.connect().
Continue work on the OpenRecord JavaScript code. Done. Spent 10.25 hours coding.
+ Finished the code to augment bi-directional connection entries with twin ProxyEntry objects.
+ Ported our code from dojo-0.1.0 to dojo-rev1759.
+ Improved OpenRecordLoader.js so that it loads Dojo and plays nicely with "debugAtAllCosts".
+ Experimented with different ways to use dojo.event.connect().
+ Cleaned up some old orp.util cruft.
Go to bed by midnight every night. Pretty much. Just stayed up a little late Thursday.
Week 39: October 15 to October 21, 2005
Goal Actual
Average 20 hours per week. Done. Did 22 "billable hours" of work.
+ Spent 6.5 hours programming.
+ Spent 9.75 hours meeting with people.
+ Spent 1.75 hours on meeting preparations.
+ Spent 3 hours on e-mail and IRC.
+ Spent 0.75 hour on admin stuff: status report and to-do list.
+ Spent 0.25 hours on sys-admin.
Meet with Mignon on Monday. Done.
+ Brainstormed about how to pass arguments using dojo.connect, and picked one solution.
+ Came up with a plan about how to track dojo changes, and where dojo should live in our SVN tree.
+ Brainstormed about how to overcome obstacles to make getDirList work in both file: and http: mode.
+ Wrote code.
Meet with Marty on Tuesday to talk about data model questions. Done. Met with Marty and Jason. Got feedback and advice about lots of data model design questions.
Meet with Adina and Peter on Friday. Done. Talked about different ways we might collaborate.
Continue work on the OpenRecord JavaScript code. Done.
+ finished replacing calls to orpBindAsEventListener with dojo.event.connect
+ added an orp.lang.bind function
+ added an orp.dom package
+ cleaned up our old references to dojo-0.1.0
+ updated ItemView from DOM level 0 to DOM level 2
+ worked on the Data Model API, and unit tests for the Data Model
Go to bed by midnight every night. Stayed up too late several times this week.
Week 40: October 22 to October 28, 2005
Goal Actual
Average 20 hours per week. Done. Did 20.75 "billable hours" of work.
+ Spent 4.5 hours programming.
+ Spent 2.25 hours meeting with people.
+ Spent 11 hours on e-mail and IRC.
+ Spent 0.25 hours on admin stuff: weekly status report.
+ Spent 1 hour on sys-admin: installing Ant and Java.
+ Spent 1.75 hours reading about Dojo, Googlebase, Sparrow, etc.
Meet with Mignon on Monday. Done.
+ Talked about design ideas for a file-based server. (Sent mail to Rowan later in the week, with a summary of the ideas.)
+ Talked about recent news: Dojo, Keith, meeting with Adina and Peter, etc.
+ Worked on our unit test framework.
Continue work on the OpenRecord JavaScript code. Worked on our unit test framework. Installed Java and Ant, and got the Dojo unit tests to run. Wrote one new Dojo-style unit test that uses jum to test the OpenRecord code.
Go to bed by midnight every night. Doh. Stayed up too late a couple nights. Got sucked into The Time Traveler's Wife, by Audrey Niffenegger.
Week 41: October 29 to November 4, 2005
Goal Actual
Work 10 to 20 hours. Done. Did 21.25 "billable hours" of work.
+ Spent 6.5 hours programming.
+ Spent 4.5 hours meeting with people.
+ Spent 4.75 hours on e-mail and IRC.
+ Spent 2 hours on admin stuff: status report, to-do list, contributor license agreements.
+ Spent 1.25 hours reading about Sparrow, Dojo, Joi Ito, etc.
+ Spent 2.25 hours on demo preparation: practice, demo repository improvements.
Meet with Mignon on Monday. Done.
+ Signed Dojo CLAs, and talked about the week's news.
+ Coded.
Attend Wiki Wednesday at Socialtext. Done.
+ Met lots of people: Ken, Ingy, Seb, Jonas, Po, Weiwen...
+ Talked with Ken and Ingy about Sparrow and OpenRecord.
+ Gave a demo of OpenRecord, with lots of questions and discussion.
Attend the Creative Commons fundraiser on Thursday. Done.
+ Got to hear Lawrence Lessig talk about the problem of islands of open content, and the need for interoperable licenses and federation.
+ Introduced myself to Joi Ito and hit him up for advice about licensing.
Mail our Contributor License Agreements to Dojo. Done.
Continue work on the OpenRecord JavaScript code. Done.
+ Worked on storage code: debugging and refactoring.
+ Finished conversion to new data model API.
+ Added unit tests to check for errant package dependencies.
Go to bed by midnight every night. Stayed up too late a couple nights.
Week 42: November 5 to November 11, 2005
Goal Actual
Work about 10 hours. Done. Did 12.25 "billable hours" of work.
+ Spent 3.5 hours programming.
+ Spent 5.25 hours on e-mail and IRC.
+ Spent 1.75 hours meeting with people.
+ Spent 0.5 hours on admin stuff.
+ Spent 1.25 hours reading: Dabble, Ning, dojo-interest, Metaweb, etc.
Meet with Mignon on Monday. Done.
+ Talked about the week's news.
+ Looked over the to-do list.
+ Coding and debugging -- mostly looking into getting our unit tests to run with both JSUnit and Dojo's jum setup.
Attended the "tech friends" dinner on Wednesday, and met some interesting people, including a couple people from Metaweb who are interested in semi-structured wiki content.
Do a bunch of chores -- get new tires, file more identity theft paperwork, visit the doctor, make arrangements about moving Grammie's furniture, etc. Done.
Week 43: November 12 to November 18, 2005
Goal Actual
Spend the week at our "programming retreat" at the Sea Ranch. Done. The "programming retreat" went well. Eight of us came, and I think it was fun and productive for most people. I didn't get much real work done, but I did introduce Chao to the Dojo toolkit, and Jeffrey and Jason to the OpenRecord code. Did 7.75 "billable hours" of work.
+ Spent 3.5 hours programming.
+ Spent 2.5 hours on web site updates (and e-mail).
+ Spent 0.75 hours meeting with people.
+ Spent 0.75 hours reading and playing with Google Base.
+ Spent 0.25 hours on status report.
Continue work on the OpenRecord JavaScript code. + Replaced our old MD5 library with dojo.crypto.MD5, after spending some time figuring out that dojo.crypto.MD5 was broken and applying a patch.
+ Did some pair programming with Jeffrey to fix a bug in DateValue.
Week 44: November 19 to November 25, 2005
Goal Actual
Take most of the week off. Have Thanksgiving. Done. Did 1.75 "billable hours" of work.
+ Wrote the methods world.importItem() and world.importEntry(), for the plugin loader to use.
Week 45: November 26 to December 2, 2005
Goal Actual
Return to normalcy. Close. Did 14.5 "billable hours" of work.
+ Spent 5.75 hours programming.
+ Spent 6.25 hours on e-mail, IRC, and IM.
+ Spent 1.25 hours reading (mostly dojo-interest).
+ Spent 0.75 hours on admin (status report + setting up a dojo server account).
+ Spent 0.5 hours on gas tax admin.
+ Corresponded with ttrenka about the dojo MD5 implementations.
+ Fixed view code to do lazy creation of layout-data items.
+ Did more clean-up work on the data model (cleaned up both API provided and API used).
+ Spent too much time on IRC (dojo office hours, etc) and mailing lists.
Week 46: December 3 to December 9, 2005
Goal Actual
Work 20 hours. Spend at least 10 hours coding. Did 21.75 "billable hours" of work. Ended up not spending much time coding, and instead getting involved in the dojo Grid-Data-Provider design discussion.
+ Spent 5.25 hours programming (2.75 solo and 2.5 pair programming).
+ Spent 5.5 hours on e-mail, IRC, and dojo bug trac.
+ Spent 2.5 hours meeting with people.
+ Spent 2 hours on admin and sys-admin stuff (status report, installing software, getting accounts, etc.)
+ Spent 4 hours reading: mostly ng-dhtml, dojo-interest, #dojo.
+ Spent 2.5 hours working on the Dojo GridWidget design wiki page.
Meet with Mignon on Monday. Done.
+ Talked about dojo, SVN, MD5 code, plugin work left to do, etc.
+ Pair programming - got the create_new_plugin.html page working!
Went out to lunch on Wednesday with a bunch of dojo people: Josh, Brad, Michael, Alex, exists@gmail
Continue work on the OpenRecord JavaScript code. Did a little. Got the create_new_plugin.html page working. Worked on some proposed API design for a dojo.data package.
Go to bed by midnight every night. Failed completely. Stayed up way too late on Tuesday, working on the GridWidget stuff, which threw off my schedule for the rest of the week. Need to do better next week.
Week 47: December 10 to December 16, 2005
Goal Actual
Work 20 hours. Did 21.5 "billable hours" of work.
+ Spent 10.25 hours programming (8.25 solo and 2 pair programming).
+ Spent 1.75 hours on e-mail and IRC.
+ Spent 5.25 hours meeting with people, and on demo prep and practice.
+ Spent 1.75 hours on admin and sys-admin stuff (status report, installing software)
+ Spent 2.5 hours reading: mostly ng-dhtml, dojo-interest, #dojo.
Meet with Mignon on Monday. Done.
+ Talked about recent news (dojo lunch last week, tracker.jot.com, etc.)
+ Closed Iteration #7 (November) and opened Iteration #8 (December). Updated to-do list.
+ Fixed some kinks with the create_new_plugin.html page, and made a couple example plugins.
Ping Keith and Rowan. Done. Hopefully Keith and I will get together next week.
Continue to be involved in the dojo.data design. Done. Wrote up some example code and posted it to the dojo developer list: dojo.data example code ideas.
Went down to JotSpot in Palo Alto on Thursday and gave a demo of OpenRecord to a half dozen people.
Continue work on the OpenRecord JavaScript code. Done.
+ wrote example code for dojo.data package
+ fixed the UUIDs used in create_new_plugin.js
+ made a HelloWorld plugin, and a DetailWithAttributionPlugin
+ moved util/XmlConvertor to transcribers/XmlImporter
Go to bed by midnight every night. Did better than last week. Just stayed up too late a couple nights.
Week 48: December 17 to December 23, 2005
Goal Actual
Take most of the week off. Work a little bit. Did 26.5 "billable hours" of work.
+ Spent 13 hours programming.
+ Spent 8.25 hours on e-mail, IRC, and wiki updates.
+ Spent 3.75 hours reading: ng-dhtml, dojo-interest, #dojo, XForms, Dabble, Apache Incubator re: Zimbra.
+ Spent 1.5 hours on admin and sys-admin stuff (status report, Firefox 1.5 upgrade, installing software (Komodo, Visual Studio Editor))
Worked on the OpenRecord JavaScript code:
+ converted OpenRecord to use dojo-0.2.0
+ converted orp.uuid to dojo.uuid
+ converted orp.lang to dojo.lang, and improved type checking methods
Exchanged lots of e-mail:
+ Rowan, Keith, Alex, Dylan
+ ng-dhtml: data-provider meeting, data-provider design, apache/zimbra, dojo.uuid code
Week 49: December 24 to December 30, 2005
Goal Actual
Take most of the week off. Work a little bit. Did 5.25 "billable hours" of work:
+ read dojo mailing lists
+ sent mail to Tom about dojo.uuid code and to Jason about YU
+ set up new skinner@dojotoolkit.org mailing address, and moved old subscriptions to it

2005 total: 1,022.25 "billable hours" (946.5 on openrecord, 33.75 on gastax, 42 on openagenda (Charity Scorecard))