Downloads
Course downloads
Diagnostic quiz: diagnostic_quiz.txt
Assignments
- Assignment 0: e168-assignment0-jgn-1.0.000.zip
- Assignment 1: e168-assignment1-jgn-1.0.000.zip
- Assignment 2: e168-assignment2-jgn-1.1.001.zip
- Assignment 3: e168-assignment3-jgn-1.0.004.zip
- Assignment 4: e168-assignments4and5-jgn-1.0.004.zip
Lecture Slides
NOTE: The lectures slides are white on black. If you really want black on white (for printing) let me know and I will start doing that.
NOTE: The ZIP file contains the HTML lectures, which included embedded Ruby (using JRuby, a version of Ruby written in Java). To my knowledge, this only works on Firefox. It is completely self-contained, and does not depend on the Ruby installed on your system.
- 3-Sep-2009, Hour 1: lecture01a.pdf
- 3-Sep-2009: Hour 2: lecture01b.zip
- 10-Sep-2009: Both hours: lecture02.zip
- 17-Sep-2009: Both hours: lecture03.zip
- 24-Sep-2009: Both hours: lecture04.zip
- 1-Oct-2009: Hour 1: lecture05a.zip
- 1-Oct-2009: Hour 2: lecture05b.pdf
- 8-Oct-2009: Both hours: lecture06.pdf
- 15-Oct-2009: Both hours: lecture07.pdf
- 22-Oct-2009: Both hours: lecture08.pdf
- 29-Oct-2009: Both hours: lecture09.pdf
- 5-Nov-2009: Both hours: lecture10.pdf
- 12-Nov-2009: Both hours: lecture11.pdf
- 19-Nov-2009: Both hours: lecture12.pdf
Examples:
- For Lecture 6, on migrations, models, and associations
- For Lecture 8, “Child-Care Coop”
- For Lecture 9, on controllers and views
- Child-Care Coop w/ controllers and views: e168-ccc2-jgn-1.0.000.zip
- Demystifying erb: e168-tiny-erb-jgn-1.0.000.zip
- For the “Clearance” screencast
- Child-Care Coop w/clearance: e168-ccc2-with-clearance-jgn-1.0.000.zip
- For Lecture 12, “Ajax”
- Ajax examples: e168-ajax-jgn-1.0.000.zip
- About counter_cache, and pre-calculating aggregations with a callback
Do we need a username/password for these downloads? Thanks
Yes - I will e-mail it to everyone this evening.
The "3-Sep-2009, Hour 2" link does not work. I changed it to http://e168f09.plugh.org/extras/downloads/lecture01b.zip and that seems to work.
@Ron Newman
I think I just fixed it.
When I loaded the lecture1b slides on each of my four browsers (on MacOS X Leopard 10.5.9, and tried to execute the embedded JRuby interpreter, here's what I got:
Firefox 3.5.2: works as expected
Camino 1.6.9: works as expected
Opera 10.00: at first seems to work as expected -- but then, it often erases all of the output a few seconds after displaying it, reverting to the interpreter window's original contents
Safari 4.0.3: org.jruby.exceptions.RaiseException: :2: unknown type of %string%23 A version of XMP that provides some flexibility for display
So I guess JRuby is not very portable?
@Ron Newman
Well, as I said in lecture, I wrote it for Firefox, and didn't really look at other browsers. IE won't run it, because it doesn't like to load .jar files from disk. If you can get it to run better on Opera and Safari, I'll take fixes, but I think Firefox is ubiquitous for developers.
It is fairly tricky code, because there is a lot of JavaScript to manage both HTML Slidy (the W3C slide package) and the JRuby. Among other things, the JavaScript prepends and appends extra Ruby code before and after what gets executed. Look in support/additional/ruby-source.html -- all that is identified by the JavaScript, and then gets serialized into a URL # anchor through a frameset . . . I had to write my own xmp (which might be in the index for Programming Ruby).
Now that I understand the JRuby internals better, I would probably do the whole thing in a different way.
Thanks. Not complaining at all, just observing and curious about what I saw.
Will the lecture notes for lecture 3 be posted in advance of lecture?
I just posted them: http://e168f09.plugh.org/extras/downloads/
@john Thanks!
Can you add lectures 5a and 5b to this list? Thanks.
@Ron Newman
Fixed. I also updated the dates, which were wrong.
The second migrations example zip file link has a couple of digits swapped!
@B Ruml
Mo' betta?
I hope you can put up the "RESTful client" example too. That went by far too fast for me to try to take notes.