Archive for April, 2008

Week 2 Homework

Tuesday, April 8th, 2008

Hey everyone, here is the week 2 homework. Try to mix up your usages of eval and don’t forget about define_method. Good luck!

This homework is due Friday April 18th.

More Detailed Topic Overview

Saturday, April 5th, 2008

Here is a more detailed list of the topics that we’ll be discussing. I hope to cover all of these topics before the class is over. We may cover more material depending on how fast the class goes. Please leave comments or email me about things you’d like to discuss but don’t see in the list!

Metaprogramming

  • Open Classes
  • Singleton Methods
  • eval_*, define_method
  • DSLs
  • include, extend
  • method_missing
  • inherity
  • const_missing
  • method_added
  • singleton_method_added

Concurrency

  • Threading
  • Forking
  • Locking
  • Timeouts
  • Interprocess Communication
  • Multiprocess Synchronization
  • Producer-Consumer

Network Programming

  • Sockets
  • net/(http,smtp,ftp)
  • Distributed Ruby

Patterns in Ruby

  • Template
  • Adapter
  • Factory
  • Decorator
  • Observer

Alternate Ruby Implementations

  • JRuby
  • Ruby 1.9
  • Rubinius

Packaging and Extending Ruby

  • Building Ruby gems
  • hoe
  • sow
  • Ruby Inline
  • Traditional Extensions
  • Extending with Java
  • Publishing Gems

Slides for Week 2

Wednesday, April 2nd, 2008

Here are the Week 2 slides.

Week 1 Homework and Slides

Tuesday, April 1st, 2008

Here are the Week 1 Slides.

Here is the Week 1 Homework. After you complete the homework, run ‘rake package’ and email me the generated gem under pkg. Or just zip up the directory and send me the zip file.

Send the homework to aaron.patterson@gmail.com. This homework is due April 11, 2008.

Class Books

Tuesday, April 1st, 2008

All of these books are recommended but not necessarily required.  If you have the Pickaxe, you probably won’t need the Ruby Way, and vice-versa.