{"id":413,"date":"2009-05-17T23:54:41","date_gmt":"2009-05-18T04:54:41","guid":{"rendered":"http:\/\/mikeconley.ca\/blog\/?p=413"},"modified":"2023-12-20T16:25:20","modified_gmt":"2023-12-20T21:25:20","slug":"summer-work-week-1","status":"publish","type":"post","link":"https:\/\/mikeconley.ca\/blog\/2009\/05\/17\/summer-work-week-1\/","title":{"rendered":"Summer Work:  Week 1"},"content":{"rendered":"<p>For this summer, the Computer Science Department at UofT has hired me to continue my work on the <a href=\"https:\/\/stanley.cdf.toronto.edu\/drproject\/csc49x\/olm_rails\">OLM project<\/a>.\u00a0 Click on that link, or check out <a href=\"http:\/\/mikeconley.ca\/blog\/2009\/03\/18\/olm-what-is-it\/\">my other post about OLM<\/a> to see what it&#8217;s all about.<\/p>\n<p>I just finished my first week of work, and it finished with a long weekend.\u00a0 Not bad.<\/p>\n<p>And I&#8217;ve got a great team &#8211; I&#8217;m working with <a href=\"http:\/\/www.jerboaa.org\/\">Severin Gehwolf<\/a> and Nelle Varoquaux, both excellent thinkers, programmers, and collaborators.\u00a0 Severin is a UofT student like myself, and Nelle has flown in specially from France (!) to work with us.\u00a0 They&#8217;re great, and we&#8217;re going to get a lot done.<\/p>\n<p>So what have we to show for our first week of work?<\/p>\n<p>Well for starters, <a href=\"https:\/\/stanley.cdf.toronto.edu\/drproject\/csc49x\/olm_rails\/wiki\/schema_diagram\">we&#8217;ve gutted the entire database schema of OLM<\/a>.\u00a0 We started right from the bottom, and worked our way through every component of the database, trying to figure out what we could cut, trim, expand, and refactor.<\/p>\n<p>And there was plenty to do.\u00a0 This version of OLM has been in the works for a while now, and there have been plenty of awesome people working on it &#8211; but there&#8217;s been a variety of Ruby\/Rails\/JavaScript experience, and the cracks show.<\/p>\n<p>I, myself, came into this project with no Rails experience whatsoever, and while I think I now more or less get the drift, I&#8217;m still by no means an expert.\u00a0 Anyhow,\u00a0 I&#8217;m looking at my old code too, and kind of grimacing.<\/p>\n<p>But the ideas are all there.\u00a0 It&#8217;s like a big hunk of marble that a whole lot of people gnawed and chiseled at for a little bit, trying to make a sculpture.\u00a0 After the big DB schema refactor, I think the whole team can sort of see the rough form of what this thing is trying to become, and now we just need to carve it out.\u00a0 Luckily, instead of a few hours per week like the last few semesters, we get a full summer to focus on it.<\/p>\n<p>So, with the DB refactor done, the first thing has been to redesign the models\/controllers to play nice with our new database tables.\u00a0 It was scary, because after the refactor, everything broke &#8211; but we&#8217;re working on it, and it&#8217;s slowly starting to come back.<\/p>\n<p>We&#8217;ve also decided to switch the file storage back-end.\u00a0 Up until now, we were using Ruby to organize a file system back-end to do simple versioning of submitted files.\u00a0 One of our goals this summer, is to build an abstraction layer that will allow us to choose different options for this versioned storage back-end.\u00a0 In particular, we aim to support Subversion.\u00a0 That&#8217;s right &#8211; a web-based Subversion front-end that supports commits, and catches (but doesn&#8217;t resolve) conflicts.\u00a0 It&#8217;s a fun thought.<\/p>\n<p>I have a feeling this is going to be a very interesting part of our project, and I&#8217;ll probably report on it more as it develops &#8211; but as it stands, it&#8217;s still being conceived on wipe-boards and scrap paper.<\/p>\n<p>Anyhow, I&#8217;ll try to keep this blog up to date with what we&#8217;re doing.\u00a0 Or maybe I&#8217;ll keep <a href=\"http:\/\/olmonrails.wordpress.com\/\">this blog<\/a> up to date.\u00a0 I&#8217;m conflicted.<\/p>\n<p>Who knows, maybe this will be my last blog post of the summer.\u00a0 I won&#8217;t lie &#8211; after working 8 hours on a computer, the last thing I want to do is come home and write a blog post.\u00a0 If anything, my posts will probably wait until the weekends.<\/p>\n<p>But we&#8217;ll see.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For this summer, the Computer Science Department at UofT has hired me to continue my work on the OLM project.\u00a0 Click on that link, or check out my other post about OLM to see what it&#8217;s all about. I just finished my first week of work, and it finished with a long weekend.\u00a0 Not bad. [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[5,44,68,162,79],"tags":[1205,84,230,231,86,87,229,67],"class_list":["post-413","post","type-post","status-publish","format-standard","hentry","category-computer-science","category-internet","category-javascript","category-ruby-on-rails-technology","category-technology","tag-computer-science","tag-olm","tag-online-marking","tag-refactor","tag-ruby","tag-ruby-on-rails","tag-subversion","tag-uoft"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/prmTy-6F","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/comments?post=413"}],"version-history":[{"count":2,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/413\/revisions"}],"predecessor-version":[{"id":3246,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/413\/revisions\/3246"}],"wp:attachment":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/media?parent=413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/categories?post=413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/tags?post=413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}