Important announcement: Amy’s section tonight cancelled!

Posted by amy in Announcements No Comments »

Hi Sectionites:
I apologize, but I will have to cancel section tonight, as I have a 100 degree fever and cannot walk. I will offer an online section tomorrow night instead.

Please email me and choose your preferred time, if you have a preference.:
thursday 5 pm
thursday 8 pm

If a huge number of you can’t make it at all on Thursday night, I could do a section over the weekend instead.

Amy

Decent book by Eldon Alameda: Practical Rails Projects

Posted by john in Ruby on Rails No Comments »

I’ve been paging through a new book, Practical Rails Projects, by Eldon Alameda, and so far, I’m pretty impressed.

Here are some of the highlights so far:

Chapters 2, 4, and 5: Creating an “interesting” app, leveraging a similar knowledge base to what you are learning in this course. Going through these chapters could lock in what you’ve learned. One thing I like here is that he uses the standard vocabulary of Rails, and doesn’t slow down a whole lot: It’s pretty lean.

Chapter 3: Adapting the acts_as_authenticated plugin to an existing app.

Chapter 6: Adding a REST (web services) interface. Good discussion of using the curl application to test it. Up-to-date account of authentication issues with REST and acts_as_authenticated

Chapter 7: Adding graphics: charts and (my favorite) sparklines.

Then it really gets interesting, as there is a whole chapter studying the code organization of Typo (best blogging software for Rails, though abandoned by many because WordPress is so dominant with its useful plugins, mindshare, etc.).

All that is just in the first third of the book. I will likely review this on my blog in a few weeks; stay tuned. [Amazon]

Assignment 5 and Final Project

Posted by john in Announcements No Comments »

Assignment 5 and the description of the Final Project are ready: http://e168f07.7fff.com/private/assignments/

A few highlights:

Due dates –

Dec. 9: Due date for final project proposal if not based on ChildCare Co-op. The instructions in the download provide information on this. The key is that your project should be similar in complexity to ChildCare Co-Op, and the proposal should be similar to the writeup for ChildCare Co-Op (http://e168f07.7fff.com/assignments/assignments-4-5-and-6-overview/).

Dec. 16: Due date for Assignment 5.

Dec. 19: Due date for an additional “feature” if you choose to extend ChildCare Co-op but want to do something besides the choices for additional features.

Jan. 19: Due date for final project. Super “drop dead” due date: Jan. 21. If for some reason you have thoughts of an extension, remember to review the rules for “EXT” grades, and keep in mind that there is a lot of red tape around dates, getting signatures, etc. (http://extension.harvard.edu/2007-08/register/policies/grades/)

For assignment 5, your task is to write some missing controller actions and make dynamic some views that are currently “static” (just raw HTML with canned non-dynamic data). There is a rather long discussion of all of the controllers and what needs to be done for each one.

In the e-mail to the group I included a URL to a “reference” implementation. I will provide that in lecture if for some reason you’re reading this but didn’t get the e-mail.

Note as well that I added some validations and convenience methods to the models, so you will probably want to use the ones that come with this download rather than relying on the models you created for Assignment 4.

The download also includes the way we wrote the original associations, as well as solutions for the finders. Note that the tests for many of the finders allow for multiple solutions, so in some cases you will see multiple solutions inside of an Array (in lib/finders.rb).

There will be a few tweaks forthcoming: A very few tests, and I want to fix the stylesheets for IE; otherwise, this is the blueprint for the rest of your work for the semester.

Enjoy!

Amy’s guide to plugins

Posted by john in Ruby on Rails No Comments »

Folks,

Check out Amy’s guide to choosing and using plugins: http://www.thirdbit.net/articles/2007/11/19/amy’s-guide-to-choosing-and-using-rails-plugins-with-bonus-checklist/

Windows dev tools I actually use

Posted by john in Technology No Comments »

Tracey wrote me and reminded me to send along the information regarding how I can right-click on a folder and get a command prompt with that folder as the default directory.

It is a Windows XP “power toy” which you can obtain here:

http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx

You can download all of the power toys, or get them separately. The one that does that bit is “Open Command Window Here” in the right sidebar.

There is a similar tool for the Mac (open source), though the last time I checked it wasn’t as easy as the Windows one — perhaps by now Apple has integrated such functionality into the Finder. No idea about Linux; maybe it’s in Gnome by now. Enlighten me. Also: If you have Cygwin (a bit on this below) you can also do “Bash prompt here” — see http://www.mindview.net/Etc/Cygwin/BashHere.

Other tools I genuinely use:

For Unix emulation: Cygwin. This is a no-brainer. I put the Cygwin bin/ directory into my Windows PATH so that I can use commands like “tail -f”. It also comes with ssh. Intrepid souls can also set up an ssh server (sshd) on their Windows machine. I can’t provide help for your install of this, but I find it very useful (just for example, there have been times when I’ve needed to commit files into source control from my office machine; I’ve ssh’d in from home, done the commit, and have then sync’d from home; not sure how I would do that otherwise). When I need X-Windows, I use the version with Cygwin (it works fine, but you have to understand X-Windows).

Also, regarding ssh: When I’m scripting ssh, I use Cygwin’s ssh. However, for routine command shell tasks, I use putty. A nice trick with putty is to install sshd on your machine, and then ssh to your own machine (127.0.0.1) to get a command shell. They you get the superior clipboard control provided by putty, even with a DOS box. I also use their other tools, such as Pageant (quite heavily), which provides for ssh-agent handling. If you’re a heavy TortoiseSVN user and have been using ssh for repository access, note that TortoiseSVN has its own version of putty’s plink, which will not bring up an empty DOS window when you sync. (If you know what I’m talking about, you are very annoyed by this). There is documentation in TortoiseSVN for using their tweaked version of plink.

VNC: TightVNC. For viewing VNC, I use RealVNC. (VNC is for remote control like Citrix. TightVNC can run over ssh. We use it in the office for usability testing [so we can watch people being tested.].)

For getting diffs between file versions: I use WinMerge. If you put a shortcut to the WinMerge .exe in your “Send To” directory, you can right click on two files and then send them both to WinMerge which will show you the differences.

For source control, I use subversion and TortoiseSVN. I have a system at home running Linux that runs the subversion server, and I pretty much save everything of value there.

Emacs: I use GNU Emacs. Others prefer XEmacs.

Vi: When I need the vi editor on Windows, I install vim via Cygwin.

Encryption: I keep all system passwords in encrypted files using SDM. I check the encrypted password files into source control. I don’t write down the passwords to the SDM files.

Database access: For MySQL, I use the MySQL Query Browser, which is actually pretty terrible and ridden with subtle inconveniences. I occasionally use Toad. When I’m doing heavy Oracle work, I tend to use Benthic’s Golden and PLEdit, but you have to pay for it. Golden is “just right” as a tool for writing raw SQL. If someone could do a perfect clone of Golden for MySQL, I would probably pay $75 for it.

For routine FTP, Filezilla. For SCP, WinSCP (or scp under Cygwin when it needs to be scripted).

Screenshots: I have started using Jing from Techsmith, though it is a memory hog and still buggy (it’s beta software). I created a couple of screencasts with Jing. For more complicated screencasts, I have a paid license for BB Flashback, which I really like quite a bit. I use ImageMagick to hack images.

Let’s see, what else? Music players: I use WinAMP, MusicMatch (I used to subscribe to their streaming service), iTunes, etc. When I need to remove DRM from an iTunes download . . . Oops, I would never do that!

PDFs: I can’t live without PDFCreator, which gives you a printer driver so you can “print to PDF.”

Firefox add-ons: Adblock Plus (crucial: I don’t really care about looking at ads, but I despise waiting around for a page because it is stuffed with Flash: Adblock Plus turns that off and really speeds things up); ColorZilla; CSSViewer; DOM Inspector; Live HTTP Headers; Operator; PasswordMaker (creates a hash based on a secret you know and a domain for which you want a password: Means that you only have to know one password); Web Developer; Broadband Meter and Diagnostics.

Web-based tools: GMail, Google Reader (I used to use Bloglines), Google Docs; del.icio.us (and my links are here); TourFilter; LinkedIn.

Review of Pro Active Record

Posted by john in Ruby on Rails, Announcements No Comments »

I wrote a review for my blog of the new book Pro Active Record; the review is here: http://7fff.com/2007/11/09/pro-active-record-book-review/

I can recommend it to students who have done lots of relational and/or another ORM framework, but it might be tough-going for beginners, and, as I say in the review, it has gaps.

Meanwhile, the other day I skimmed Beginning Rails by Hardy, et al., also on APress, and it’s surprisingly good, at least in the bits I focused on. I haven’t looked closely at the sections on ActiveRecord, but if anyone is reading it, I’d be curious to know what you think.

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Login