<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.extremist.software/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=199.241.202.20</id>
	<title>Noisebridge - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.extremist.software/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=199.241.202.20"/>
	<link rel="alternate" type="text/html" href="https://wiki.extremist.software/wiki/Special:Contributions/199.241.202.20"/>
	<updated>2026-04-05T18:17:45Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Category:Events&amp;diff=33601</id>
		<title>Category:Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Category:Events&amp;diff=33601"/>
		<updated>2013-08-14T01:21:31Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: /* Recurring Events edit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Note that this page uses transclusionContent between the &amp;quot;onlyinclude&amp;quot; tags below will be pushed to the main page --&amp;gt;&lt;br /&gt;
Official, Semi-Official, one-off and other events at the Noisebridge space.&lt;br /&gt;
&lt;br /&gt;
=Event Calendar=&lt;br /&gt;
Not all events make it onto this calendarMany events only make it to the Discussion or Announcements [[Mailinglist | mailing lists]], [[IRC]] or in person at [[:Category:Meeting_Notes | Tuesday meetings]]. Best of all, Noisebridge is about people getting together at the space in San Francisco to do stuff..like in person. Some events just happen. Pay attention!&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to host an event yourself, we recommend involving at least one Noisebridge member, and have advice on  [[Hosting_an_Event|hosting an event]] at Noisebridge.&lt;br /&gt;
&lt;br /&gt;
View the  [https://www.google.com/calendar/embed?src=1uesj915rces4cbmcr8j3sg8t0%40group.calendar.google.com&amp;amp;ctz=America/Los_Angeles Google Calendar].&lt;br /&gt;
&lt;br /&gt;
To post Google Calendar entries for your event or to gain access to do so for yourself, ask on the noisebridge-discuss mailing list.&lt;br /&gt;
&amp;lt;!-- Items inside this &amp;quot;onlyinclude&amp;quot; tag will be pushed to the main page --&amp;gt;&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
=== Upcoming Events &amp;lt;small&amp;gt;[https://www.noisebridge.net/index.php?title=Category:Events&amp;amp;action=edit&amp;amp;section=2 edit]&amp;lt;/small&amp;gt; ===&lt;br /&gt;
&amp;lt;!-- Please read our &amp;quot;Hosting an Event&amp;quot; page and possibly follow some of the guidelines there before posting your event herehttps://www.noisebridge.net/wiki/Hosting_an_Event --&amp;gt;&lt;br /&gt;
&amp;lt;!-- It&#039;s smart to add in a link to a wiki page with more information about your even, and a way to contact the event organizer(s)Thanks! --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*{{event&lt;br /&gt;
|time         = Thursday, August 15, 6:30pm&lt;br /&gt;
|title        = March Against Monsanto&lt;br /&gt;
|description  = Food Justice Organization. Meeting in Church classroom until 8pm.&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
*{{event&lt;br /&gt;
|time         = Sunday, August 25, 1:00pm&lt;br /&gt;
|title        = TOOOL SF Chapter Meeting&lt;br /&gt;
|description  = Learn the art of lock picking with [http://www.tooolsf.org TOOOL SF], the San Francisco chapter of The Open Organisation Of Lockpickers. Event ends around 5:00pm.&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
*{{event&lt;br /&gt;
|time         = Saturday September 21, 12:00pm&lt;br /&gt;
|title        = GodWaffleNoisePancakes&lt;br /&gt;
|description  = Noise and experimental music performance and vegan pancakes/waffles. Yum!! Show runs till 2pm&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
*{{event&lt;br /&gt;
|time         = Sunday, October 6, 11:00am&lt;br /&gt;
|title        = Arse Elektronika: ID/ENTITY (workshop day)&lt;br /&gt;
|description  = the [http://www.monochrom.at/arse-elektronika sex/tech conference] is returning to Noisebrige; event 11am-9pm&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
*{{event&lt;br /&gt;
|time         = Saturday, October 19, 7.15 pm&lt;br /&gt;
|title        = Noisebridge Lit Crawl event&lt;br /&gt;
|description  = an attempt at integrating Noisebridge into the semi-organized chaos that is the San Francisco Lit Crawl&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
*{{event&lt;br /&gt;
|time         = Sunday, October 20, 12:00pm&lt;br /&gt;
|title        = Noise Hack, all day&lt;br /&gt;
|description  = A day of building, soldering, and programming noise and music producing things. noisebridge.net/NoiseHack&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
*{{event&lt;br /&gt;
|time         = Sunday, October 27, 8.00 pm&lt;br /&gt;
|title        = Noise Jam&lt;br /&gt;
|description  = Fifth performance of the Noise Orchestra, a homegrown, rotating group of handmade, handwired, and hand-coded instruments. In the Hackatorium. www.noisebridge.net/NoiseJam&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
=== Recurring Events &amp;lt;small&amp;gt;[https://www.noisebridge.net/index.php?title=Category:Events&amp;amp;action=edit&amp;amp;section=3 edit]&amp;lt;/small&amp;gt; ===&lt;br /&gt;
&amp;lt;!-- Please read our &amp;quot;Hosting an Event&amp;quot; page and possibly follow some of the guidelines there before posting your event herehttps://www.noisebridge.net/wiki/Hosting_an_Event --&amp;gt;&lt;br /&gt;
&amp;lt;!-- It&#039;s smart to add in a link to a wiki page with more information about your even, and a way to contact the event organizer(s)Thanks! --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Large turnout events should be written in &#039;&#039;&#039;bold&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Monday ====&lt;br /&gt;
* &#039;&#039;&#039;19:30 - 22:00 [[Circuit Hacking Mondays]]&#039;&#039;&#039;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span style=&amp;quot;color:black&amp;quot;&amp;gt;(Early start of 3:00pm on Monday holidays.)&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;div style=&amp;quot;padding-left: 30px; max-width: 725px;&amp;quot;&amp;gt;- Learn to solder! And make cool things with electronics. [[User:maltman23|Mitch]], Rolf, [[User:Miloh|Miloh]], and others will bring kits to make cool, hackable things for all skill levels that you can bring home after you make them! Bring your own projects to hack! Bring things to fix! All ages. All welcome!&amp;lt;/div&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;19:00 - 22:00  [[Gamebridge|Gamebridge Unityversity]]&#039;&#039;&#039; Unity3D Game Development mentoring group is back now that [[Code Hero]] is in alpha.&lt;br /&gt;
&amp;lt;!-- 2013-02-02 * 19:00 [[Cook-in class]] Bring your ideas/food/appetite and try your hand at cooking--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;20:00 - 22:00 [[Frontend Web Development]]&#039;&#039;&#039; - &#039;&#039;&#039;On vacation until September 9!&#039;&#039;&#039; Learn HTML/CSS/JS. We&#039;ll cover the basics and then go in-depth on different topics every week. Recap of last week&#039;s material starts at &#039;&#039;&#039;19:30&#039;&#039;&#039;.&lt;br /&gt;
* [[House_Keeping#Trash_and_Recycling|Take Out the Trash Night]]&lt;br /&gt;
&lt;br /&gt;
==== Tuesday ====&lt;br /&gt;
* 15:00 - 17:00 [[Linux System Administration class]] meets in the Turing classroom. This is a change of format from the [[Linux System Administration Study Group]] An instructor presents a topic of Linux system administration. You can follow along if you bring your own Linux computer. Command-line skills are assumed. The focus is primarily on server systems, less on workstation problems.  &lt;br /&gt;
&amp;lt;!-- * &#039;&#039;&#039;18:00 [[Office Hours]]&#039;&#039;&#039; Have pressing questions about Noisebridge, or need help dealing with nonsense? Find [[user:flamsmark|Tom]] at the space or [https://foursquare.com/v/the-sycamore/4c253819c11dc9b634d82624 the Sycamore] for help before the meeting. --&amp;gt;&lt;br /&gt;
* 19:00 - 21:00 [[Advanced Python]] Slaying the web with Python 2.7 &amp;amp; 3.3. Instructed by Liz and Kellan in Turing.&lt;br /&gt;
* 17:00 - 19:00 &#039;&#039;&#039;*ix&#039;&#039;&#039; [[Linux.BSD.UNIX Open Learning and Hacking]] Learning by doing in Linux/OpenBSD/FreeBSD/Unix/Others in Turing.&lt;br /&gt;
* &#039;&#039;&#039;19:00 - 21:00 [http://www.railsschool.org Ruby and Rails class]&#039;&#039;&#039; - Seminar and workshop for learning everything about Ruby, Rails, and web application development (Church classroom).&lt;br /&gt;
* &#039;&#039;&#039;19:30 - 21:00 [[Light Patterns with LEDs and Arduino]]&#039;&#039;&#039; - Learn how to make light dance and do your bidding! We will make Arduino sketches to control multicolor LED pixels.&lt;br /&gt;
&amp;lt;!-- * 19:30 [[Spacebridge]] - Noisebridge&#039;s space program --&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;18:00 - 19:30 [[Rebase|Great Noisebridge Rebase of 2013!]]&#039;&#039;&#039; - Discussion and Proposal development regarding the ongoing Rebase initiative. Meet in the Hackitorium. The topic for 07.16.2013 is The Kitchen again but there should be time to discuss unrelated proposals also.&lt;br /&gt;
* &#039;&#039;&#039;20:00 [[Meetings|Noisebridge Weekly Meeting]]&#039;&#039;&#039; - Introducing new people and events to the space, general discussion, and decision making.&lt;br /&gt;
&lt;br /&gt;
==== Wednesday ====&lt;br /&gt;
&amp;lt;!-- On hiatus 2013-01-08 * 18:00 [[Replicator Wednesday|Replicator Wednesday]]! This event is on hiatus from Noisebridge until further notice.  New &amp;quot;series&amp;quot; starts January 9th! --&amp;gt;&lt;br /&gt;
* 16:00 - 18:00 Locks Sport. Picking, repining, etc. Try to bring your own picks. If not we will try to make some here. We will go on as long as people want to stick around.&lt;br /&gt;
* 18:00 - 20:00 [[Linux &amp;amp; BSDiscussion|Linux/BSDiscussion and Problem Solving]] - Linux/BSD meetup in the Turing classroom.&lt;br /&gt;
* 19:00 - 20:30 [[DreamTeam| Dream Team Neuro Hackery]] - EEG &amp;amp; sleep research / general interest neuroscience discussion - meeting in the Hackatorium.&lt;br /&gt;
* 19:00 - 21:00 [[PyClass]] - Intro to Python 7-9 in Church Classroom. Next Class starts on May 1, 2013.&lt;br /&gt;
* 19:30 - 22:00 [[BACE Timebank]] (2nd Wednesdays of the month) Next meeting at NB Library Wed July 10, 8pm - Help organize community mutual aid by trading in equal time credits To find out more and join go to [http://sfbace.org sfbace.org].&lt;br /&gt;
&lt;br /&gt;
==== Thursday ====&lt;br /&gt;
* [[House_Keeping#Trash_and_Recycling|Trash Night]]  - Take out the trash for Friday morning!&lt;br /&gt;
* &#039;&#039;&#039;20:00 [[Five Minutes of Fame]]&#039;&#039;&#039; - lightning talks every 3rd Thursday of the month&lt;br /&gt;
* 19:00 - 21:00 [[PWN|Post-Waste Nexus]] - Meets in Church. Join in to create a not-for-profit cooperative (from nothingness!) that utilizes consensus decision making to address the problems of e-waste. We intend to give out computers to our communities with free and open source software, and responsibly recycle the rest. Meets every Thursday EXCEPT for the 3rd Thursday (5MoF). Next meeting will be August 1, 2013. We will not meet July 25. kthx.&lt;br /&gt;
* 19:00 [[Tastebridge]] / [[Vegan Hacker]] Monthly Food Hacking, last Thursday of every month, 7pm http://www.veganhackersf.com&lt;br /&gt;
* 19:00 - 22:00 [[3D Thursday]] Weekly meetup (non-3rd-thursdays) at Noisebridge focusing on 3D Printers, CNC machines, FabLabs, and replicating machines of all kinds.&lt;br /&gt;
&amp;lt;!-- * 19:00 [[german_corner|German Corner]] Learn and practice speaking German --&amp;gt;&lt;br /&gt;
&amp;lt;!-- on hiatus? 2013-01-08 * 19:00 [[wearable fashion techies]] first meeting Nov 1st --&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;19:00 - 21:00 [[Letter Lovers]]&#039;&#039;&#039; - Learn &amp;amp; create calligraphy, lettering, fonts, handwriting, and all things letters.&lt;br /&gt;
* 20:00 [[Frontend_Web_Development#Lab|Frontend Web Development Lab]] - &#039;&#039;&#039;On vacation until September 12!&#039;&#039;&#039; Understand by doing! A recap of Monday&#039;s lecture in workshop form - and a good time for one-on-one help with the material.&lt;br /&gt;
&lt;br /&gt;
==== Friday ====&lt;br /&gt;
&lt;br /&gt;
* 16:00 - 22:00 [[FUN Tutoring]] @ [[CollaborationStation]]&lt;br /&gt;
&lt;br /&gt;
==== Saturday ====&lt;br /&gt;
&amp;lt;!-- 2013-02-02 * 18:30-20:30 Beginner [[French]] - Learn basic grammar and sentence structure. Classes meet in the Turing room --&amp;gt;&lt;br /&gt;
* 10:15 - 12:10 [[Juggling with Judy!]] Note: next class is scheduled for Saturday June 29th.  Attention juggling fans!  Judy will be at the 2013 World Juggling Day celebration Saturday June 15th at Ripley&#039;s Believe It Or Not Odditorium in San Francisco Fisherman&#039;s Warf - free event begins at 1.  Come check it out!  &lt;br /&gt;
* 12:00 - 18:00 &#039;&#039;&#039;[[modular|Modular and Analog Synth Workshop]]&#039;&#039;&#039; NEXT WORKSHOP TBA Learn the basics of analog synthesis on a modular synth with Douglas. we will meet in the church.&lt;br /&gt;
&lt;br /&gt;
==== Sunday ====&lt;br /&gt;
* 12:30 - 19:30 [[Dungeons and Dragons]] in Church, not currently looking for new players.&lt;br /&gt;
* 13:00 Lock Sport Collaboration: Come learn how to pick locks with the [http://www.tooolsf.org/ SF Bay Area chapter] of [http://toool.us/ TOOOL]. Sometimes at Noisebridge. Check the [http://www.tooolsf.org/meeting-announcements/ TOOOLSF announcements page] for details. &lt;br /&gt;
&amp;lt;!-- on hiatus, according to Mik: * 14:00 - 22:00 [[World of Darkness]] Looking to run a biweekly game at Noisebridge. Talk with Melissa if interested --&amp;gt;&lt;br /&gt;
* 14:00 [[BAHA]] - [http://baha.bitrot.info Bay Area Hacker&#039;s Association] - security meeting (2nd Sundays only)&lt;br /&gt;
* 15:00 [[Go]] - Playing of the Go board game. On nice days we often take the boards to Dolores Park and play there.&lt;br /&gt;
*16:00 [[Elements_of_Image_Making]] Bi-Weekly Analogue and DIY film making meetup/hangout/nerdout&lt;br /&gt;
* 18:00 [[Plan 9]] class &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Orphaned Events ===&lt;br /&gt;
These events appear to be dormant or extinct.&lt;br /&gt;
&lt;br /&gt;
* WED 20:00 - 22:00 [https://www.noisebridge.net/mailman/listinfo/zine ZinesFromOuterSpace] - A biweekly (once every 2 weeks or twice a month) meetup for zinesters / printing hackers / DIY publishers, and brainstorming session for the next chapter of [[zine | ZiP]]. Next meeting is 1/30/13, followed by another in mid-Feb (TBA).&lt;br /&gt;
* THU 19:30 [[Machine_Learning|Machine Learning]] come in and learn about statistical learning techniques.&lt;br /&gt;
* THU 18:00 - 21:00 &#039;&#039;&#039;[[Privacy Bay]]&#039;&#039;&#039; - A monthly meetup for Bay Area folks interested in privacy. Meets in Church on the last Thursday of the month.&lt;br /&gt;
* FRI 19:00 - 21:00 [[Anarchy_101|Anarchy 101]] - a class/seminar on what anarchy is and is not, and how it impacts us as individuals and as discrete groups.&lt;br /&gt;
* SUN 13:00 [[Songbridge]]: (Bi-monthly) Learn how to make and record music with a computerWe cover midi and vst as well as multi-track recordingBring your laptop.&lt;br /&gt;
* 20:00 - 22:00 [[Noise~_Wednesday | Noise~ Wed]] - Graphical media programming with Max/MSP/Jitter&lt;br /&gt;
&lt;br /&gt;
 *19:00 [[Tahoe-LAFS]] - Occasional meetup of users and/or developers of the Least Authority File System.&lt;br /&gt;
&lt;br /&gt;
* 14:00 - 16:00 Android Developer Support Group - Meet up with other app developers in the library for a lightly structured knowledge-share.&lt;br /&gt;
&lt;br /&gt;
=== Proposed Future Events and Classes ===&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Sound Science]] A potential monthly lecture/demonstration series on the little known science behind sound reproductionTopics to include: Transducer Physics(speakers and mics), Room Acoustics, Signal Path and Cabling,Loudspeaker design 101, Music Production Tips for Big Sound, and How to make a small system sound HUGEEach session to include hands on projects like making speakers from stuff lying around, Non-Newtonian bass monsters, and ez speaker mods for anyoneIf interested contact the new guy-&amp;gt; MattLong8 at gmail dot com, 805 four five three - six zero nine seven &lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Modular Synthesis]] a bi-weekly (or monthly) group devoted to modular synthesizers&amp;gt; workshop will include modular sound synthesis styles and techniques, a study of different modules and their functions, ie voltage controlled oscillator, voltage controlled filter, low frequency oscillator, envelope generator ect and how these modules interact with each other, what control voltage and triggers are..... as well as one on one time for each student with the modular, which is a 60 space large format Moog style modular synthesizer with big knobs and 1/4 jacks   including performance and other awesomeness by Douglas. contact Douglas at greenshoos at gmail dotcom&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[VideoHacking]] a weekly video/video art devoted hacker group, including experiments in the 3D vr realm...if interested contact julialc4@gmail.com&lt;br /&gt;
:Wednesdays at 21:00 [[Brewing Bridge]] - Malakkar Proposal: Learn how to make your drinks fun AND antibacterial, using yeastThis will be recurring if enough interest or need is presentAssociated items - what to do with brewing leftovers, and brewers sample hour, etc.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Fie: Failure is Eminent]] - [[User:MedianMajik|James]] wants to start a System Recovery class that will meet either bi-monthly or weekly for a couple hours to try various backup and recovery methods on drives and data.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[101 Introduction to Linux]] - [[User:MedianMajik|James]] wants to start a 101 Introduction to Linux class where people can ask whatever questions they want and get them answered in 60 to 90 minutes Church would be the optimal location Looking for teachers.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Probability]] - Weekly probability study group based on [http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-041-probabilistic-systems-analysis-and-applied-probability-spring-2006/related-resources/ Fundamentals of Applied Probability Theory] by Al Drake&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Mandarin Corner|Mandarin]] - Learn or practice Mandarin, all levels. Also currently on hiatus. Get on the mailing list.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Movie Night!]] - [[User:ThOMG|Thom]] wants to build community through nerdy sci-fi! (+Bill+Ted+Excellence++) (how about a Friday hacker movie night? -[[User:Carl|Carl]])&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Introduction to the AVR Microcontroller]] - [[User:Mightyohm|Jeff]] and [[User:Maltman23|Mitch]] are planning an introductory class for people wanting to make cool projects with AVRs.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Basic Chemistry Lab Techniques]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Cuddle Puddle for the Economy]] - Stress-hacking with informal massage exchange.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Milk and Cookies]] - Come read your favorite selections out loudWith Milk and Cookies (and yeah, probably beer too).&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Processing Workshop 2]] - [[User:Scmurray|Scott]] is interested in teaching this, and is busy thinking about what, where, when, why, and how.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;:  [[Hack your Hardware]] -- We call BS on &amp;quot;no user-serviceable parts inside&amp;quot;&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Homebrew Instruction Class]] - The Wort (pt 1/3)&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Trip to Shooting Range]] - Field trip to a shooting range, to shoot guns Express interest at [[Trip to Shooting Range]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Surface Mount Soldering Workshop]] - Learn how to solder cicuits with small surface mount parts [[User:maltman23|Mitch Altman]] and Martin Bogomolni and others will show their tricks [[User:maltman23|Mitch]] will bring hackable kits that uses surface mounts for you to solder&amp;lt;-YES!(mattlong8 at gmail dot com)&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Locksport and Lockpicking]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Version control tutorial]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Foreign language learning for rocket scientists]] - I&#039;m near-native (fool people when I try) in (French and) Japanese, and a pro trans/terpreter and will share my shortcuts (skill-order, vocab, speed/articulation, translation≅grammar)No expertise on tonal languages yet..so if you know how to remember tones or how tone-sandhi interacts with speed and/or how nuances of speaker attitude are expressed in them (what we do with rythm/inflection/sentence-intonation and stress in Eng., and with particles and ??? in e.gCantonese) please chime in or call me (415-608-0564) so I can convey your wisdom[also looking for a from-scratch Arabic partner]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Getting started with Arduino]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Distributed Databases]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Node.js Beginners Session]] - Interested in learning about Node.js? I amMaybe these guys want to teach it: http://www.meetup.com/Joyent-Cloud-User-Group/events/81311542/&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Scrum Club]] - I though I&#039;d test the waters and see if anyone was interested in a noisebridge scrum club details are here http://scrumclub.org/scrum-clubs/ if inturested hit me up twitter: @theabcasian, facebook: http://www.facebook.com/theabcasian&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[CNC Mill Workshop]] - Who wants to make stuff on the [[MaxNCMill]]?&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Math &amp;amp; Science Help]] - If you would like some math, science or engineering help, I&#039;m down to lend a hand.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Cyborg Group|Cyborg Group / Sensebridge]] - Work on projects like artificial senses Someone needs to lead this!&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[OpenEEG]] - Brain techHas historically met on Sundays, at the behest of interested parties.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Programming_for_Poets | Programming for Poets]] -  Gentle intro to programming using Processing&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[World Builders &amp;amp; Simgineers]] -  Work together to create a beautiful &amp;amp; open virtual world &amp;amp; platform.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[PlunderBridge]] -  Metal detecting, detector technology &amp;amp; treasure hunting expeditions.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Ruby Mining]] -  Ruby on Rails basics, interactive working group&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[MoinMoin Wiki]] -  MoinMoin Wiki (details see there)&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Noisebridge Fundraiser 2013]]&lt;br /&gt;
&lt;br /&gt;
= Past Events =&lt;br /&gt;
&lt;br /&gt;
===2013===&lt;br /&gt;
*{{event&lt;br /&gt;
|time         = Friday, August 9, 5:00pm&lt;br /&gt;
|title        = Noisebridge Party Setup&lt;br /&gt;
|description  = Volunteers will be preparing the space for Saturday&#039;s show.  There are no scheduled conflicts; you might be asked to move multiple times by someone pushing a broom and assembling a raised stage simultaneously.&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
*{{event&lt;br /&gt;
|time         = Saturday, August 10, 4:00pm&lt;br /&gt;
|title        = Noisebridge &amp;quot;______ the Bridge&amp;quot; Party&lt;br /&gt;
|description  =  &amp;lt;span style=&amp;quot;color:#ff00ff; background:##ff00ff&amp;quot;&amp;gt; a summer fundraising party for Noisebridge, which YOU are invited to!&amp;lt;/span&amp;gt;&lt;br /&gt;
|suggested donation = $10, but no one turned away for lack of funds&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
*{{event&lt;br /&gt;
|time         = Sunday, August 11, 2:00pm&lt;br /&gt;
|title        = Bay Area Hackers&#039; Association Meeting&lt;br /&gt;
|description  = Jon Callas presenting on [[BAHA/2013-08-11|Secure Communications, Privacy, Counter-Surveillance]].&lt;br /&gt;
|}}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Wednesday, May 22, 7.00 pm: Instructables Build Night&#039;&#039;&#039; - Bare Conductive, Instructables will supply Bare Conductive paint pens and pizza. Come experiment with the paint and post some Instructables. This is a FREE event.&lt;br /&gt;
&lt;br /&gt;
===2012===&lt;br /&gt;
* &#039;&#039;&#039;December 20, Thursday, 20:00 - 22:00 - [[5MoF|5 Minutes of Fame]]&#039;&#039;&#039; - Following up on its triumphant return in November, 5MoF is back with another showcase of lightning talks &amp;amp; other good stuff, with your host Sir Danny O&#039;Brien! Details TBA&lt;br /&gt;
*&#039;&#039;&#039;Tuesday Feb14th, 18:00 to 20:00&#039;&#039;&#039; ZiP MegaZine releases its inaugural issue with &#039;&#039;&#039;My Noisy Valentine&#039;&#039;&#039; Zine Release Microparty in the Noisebridge cafeFor more info follow [[zine | this]] link.&lt;br /&gt;
* &#039;&#039;&#039;Wednesday, Jan30, 20:00-22:00&#039;&#039;&#039; [[zine|ZiP]] meeting for zine-makers &amp;amp; others with an interest in printing &amp;amp; self-publishingThe meeting 1/30/13 is our first since mid-2012We plan to hold them regularly from now on at this time (Wednesday 8pm)This meeting will be informal &amp;amp; will probably take place in the printing/lasercutter area of the hackerspace.&lt;br /&gt;
&lt;br /&gt;
===2011===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;September 11th 14:00 to 17:00&#039;&#039;&#039; - The San Francisco Chapter of the Open Organisation Of Lockpickers and Bay Area Hacker&#039;s Association present a joint meeting on [https://secure.wikimedia.org/wikipedia/en/wiki/Locksport locksport]&lt;br /&gt;
*&#039;&#039;&#039;August 4, 7PM, Thursday&#039;&#039;&#039; - [http://zeidman.net Bob Zeidman] will be giving a talk on video games and intellectual property, hosted by TheMADEHe will also speak about IP infringement cases.&lt;br /&gt;
*&#039;&#039;&#039;August 9, 6:30PM, Tuesday&#039;&#039;&#039; - [http://www.meetup.com/makesf/events/26413241/ Make:SF] - Chris Jefferies will speak about the wireless sensor kit he is developing and we are bringing back our all star soldering kits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;April 13th, 19:00&#039;&#039;&#039; - Kombucha fermentation class with [[BioBridge]] &lt;br /&gt;
*&#039;&#039;&#039;April 7th, 20:00&#039;&#039;&#039; - [[In-Depth|Noisebridge: In-Depth]] Our monthly lecture and round tableThis month&#039;s speaker will be Aragorn! his lecture will be &amp;quot;Anarchism &amp;amp; technology: An unbridgeable chasm&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;April 4th, 20:00&#039;&#039;&#039; - Camp KDE PartyCome and meet part of the KDE North America community and get a quick overview of this year&#039;s [http://camp.kde.org/ Camp KDE] conferenceThere will be beer&lt;br /&gt;
*&#039;&#039;&#039;April 3rd, 16:00&#039;&#039;&#039; - NoiseCaching: Meet-up to build some geocaches, and talk about making geocoinsThen we&#039;ll head out to find some local caches and place caches we made[http://www.geocaching.com More info about Geocaching here]&lt;br /&gt;
* &#039;&#039;&#039;March 20th, 19:00&#039;&#039;&#039; [[Hack Politics]] meetup -- the first meetup to figure out how we in the hacker community can effectively mobilize and create meaningful change in these interesting times&lt;br /&gt;
* &#039;&#039;&#039;March 12th, 12:00-18:00 - Noisebridge Hackathon!&#039;&#039;&#039; Second Saturday Hackathon is a casual monthly event dedicated to working on the space or relevant projects and building community This is a great time to get feedback or help on any projects you have been considering that center around the space, culture, and infrastructure of Noisebridge You can also help with existing projects and find out ways to get involved.&lt;br /&gt;
* &#039;&#039;&#039;March 10, Thursday, 19:00 - Group Grammar Clinic&#039;&#039;&#039; - Church Classroom - Donations gladly accepted - A clinic for grammar and writing evaluationPlease bring your web/social or technical writing for us to evaluateBring your laptop as well Collaboration groupware possibly provided(Please suggest groupware software to use if you wish)Constructive feedback from other group members is encouraged so that this clinic is a group process- Facilitator: [[User:Owen|Owen]] (opietro@yahoo.com)&lt;br /&gt;
* &#039;&#039;&#039;March 9th, 20:00&#039;&#039;&#039; - Ferment and filter a mash! [[fermentation logs]]&lt;br /&gt;
&lt;br /&gt;
===2010===&lt;br /&gt;
* &#039;&#039;&#039;Sunday, August 22, 19:00 CLUB-MATE DROPOFF AND TASTING PARTY&#039;&#039;&#039; Nick Farr will be in town to drop off Club-Mate ordered by San Franciscans!&lt;br /&gt;
* &#039;&#039;&#039;June 5th, 12:00-19:00 - [[NoiseBridgeRehab]]&#039;&#039;&#039; - Help make the space more usable and accessible! Noisebridge needs your help!&lt;br /&gt;
* &#039;&#039;&#039;June 5th, 16:00-20:00 - [[Science For Juggalos]]&#039;&#039;&#039; - Science Fair in front of the Warfield Theater teaching magnetism to Juggalos&lt;br /&gt;
* &#039;&#039;&#039;June 6th, 15:00 - [[AVC Meetup]]&#039;&#039;&#039; - Entrepreneurial bonding &amp;amp; matchmaking&lt;br /&gt;
* &#039;&#039;&#039;June 9th, 21:00 - Your liver supports Noisebridge&#039;&#039;&#039; - Come to Elixir @ 16th &amp;amp; Guerrero anytime after 21:00 and drink, drink, drink! 50% of tips go to Noisebridge&lt;br /&gt;
* &#039;&#039;&#039;February 27th, 20:00 - [[Hacker EPROM]]&#039;&#039;&#039; - Noisebridge&#039;s first prom! Nice tie and a (robot) date requiredWe will have a DJ and punch.&lt;br /&gt;
* &#039;&#039;&#039;February 24th, 19:00, Wednesday - Joris Peels, of [http://www.shapeways.com Shapeways]&#039;&#039;&#039;, and expert on 3D printing, will give a [[ShaperwaysPresentation | talk and demonstration]] at Noisebridge!.&lt;br /&gt;
* &#039;&#039;&#039;February 23rd, 18:00 - Cleaning day&#039;&#039;&#039; - Come and help clean Noisebridge, because everyone loves a clean hack space.&lt;br /&gt;
* &#039;&#039;&#039;February 12th, 21:00 - visit from Steve Jackson&#039;&#039;&#039;Game designer [http://en.wikipedia.org/wiki/Steve_Jackson_%28US_game_designer%29 Steve Jackson], founder of Steve Jackson Games, will visit Noisebridge.&lt;br /&gt;
* &#039;&#039;&#039;January 27th, 18:00-20:00 - [[beatrixjar event|Circuit Bending Workshop]]&#039;&#039;&#039; - [http://www.beatrixjar.com/ Beatrix*JAR] (contact [[User:Gpvillamil|Gian Pablo]] for more info)&lt;br /&gt;
* &#039;&#039;&#039;January 27th, 20:00-22:00 - [[beatrixjar event|Circuit Bending Performance]]&#039;&#039;&#039; - [http://www.beatrixjar.com/ Beatrix*JAR] - &amp;quot;Celebrate a night of new sound that will change your idea of music forever!&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;January 25th, 19:30 - [[Bag Porn]]&#039;&#039;&#039; - What&#039;s in your bag?&lt;br /&gt;
* &#039;&#039;&#039;January 20th, 19:00-21:00 - [http://groups.google.com/group/bacat/about Bay Categories &amp;amp; Types]&#039;&#039;&#039; - Categories, monoids, monads, functors and more! Held in the Alonzo Church classroom.&lt;br /&gt;
* &#039;&#039;&#039;January 20th, 19:00 - [[User Experience Book Club SF]]&#039;&#039;&#039; - Our book this month is &amp;quot;A Theory of Fun for Game Design&amp;quot; by Raph Koster - http://is.gd/6sEqw (meets in Turing)&lt;br /&gt;
* &#039;&#039;&#039;January 21st, 20:00 - [[Five Minutes of Fame]]&#039;&#039;&#039; - Monthly set of lightning talks on diverse topics&lt;br /&gt;
* &#039;&#039;&#039;January 22nd, 17:00 - [[CleaningParty| Cleaning Party]]&#039;&#039;&#039; - Come help clean up Noisebridge! Awsum fun!&lt;br /&gt;
* ...January 14th,16th, and 17th 1:00- ??? Build Out day for kitchen/bathroom/laundry bring yourself and a good attitude, learn a few things as well&lt;br /&gt;
* &#039;&#039;&#039;January 15th, 18:00 - [[CNC_Mill_Workshop]]&#039;&#039;&#039; - Learn to use the CNC mill for 2D engraving and circuit board routing&lt;br /&gt;
* Thursdays 17:00 [[ASL Group|American Sign Language]] - Learn how to talk without using your voice (or just come chat in ASL)&amp;lt;small&amp;gt;[http://whenisgood.net/noisebridge/asl/generic click to reschedule]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2009===&lt;br /&gt;
* &#039;&#039;&#039;November 18th, 19:30&#039;&#039;&#039; - [[Dorkbot_2009_11_18|Dorkbot]]&lt;br /&gt;
* &#039;&#039;&#039;November 19th, 18:00&#039;&#039;&#039; - [[Mesh meetup]]&lt;br /&gt;
* &#039;&#039;&#039;November 19th, 20:00&#039;&#039;&#039; - [[Five Minutes of Fame]]&lt;br /&gt;
* &#039;&#039;&#039;November 20th, 18:00&#039;&#039;&#039; - Loud Objects [http://www.flickr.com/photos/createdigitalmedia/3428249036/ Noise Toy workshop].&lt;br /&gt;
* &#039;&#039;&#039;November 20th, 20:00&#039;&#039;&#039; - Performance by [http://www.loudobjects.com/ Loud Objects], (featuring Tristan Perich and Lesley Flanigan) and [http://www.myspace.com/jibkidder Jib Kidder].&lt;br /&gt;
:&#039;&#039;&#039;2009-11-05&#039;&#039;&#039; - [http://www.server-sky.com/ Server Sky presentation: Internet and Computation in Orbit] by Keith Lofstrom&lt;br /&gt;
:&#039;&#039;&#039;2009-11-05&#039;&#039;&#039; - [[Mesh meetup]]&lt;br /&gt;
:&#039;&#039;&#039;2009-11-02&#039;&#039;&#039; - [[French]] book club meeting to discuss  [http://www.amazon.com/exec/obidos/tg/detail/-/2842612892/ref=ord_cart_shr?_encoding=UTF8&amp;amp;m=ATVPDKIKX0DER&amp;amp;v=glance Une Si Longue Lettre]&lt;br /&gt;
: &#039;&#039;&#039; October 1st, 18:00&#039;&#039;&#039; - [[Wireless_Mesh_Network_Meetup | Mesh wireless meetup]]&lt;br /&gt;
: &#039;&#039;&#039; October 1st, 19:00&#039;&#039;&#039; - [http://groups.google.com/group/bacat Bay Area Categories and Types]&lt;br /&gt;
: &#039;&#039;&#039;2009-10-03&#039;&#039;&#039; [[Year 1 Open Hacker House]]&lt;br /&gt;
:&#039;&#039;&#039;Friday&#039;&#039;&#039;: [[CrazyCryptoNight]] - Discussion of cryptography for beginners through experts6-???&lt;br /&gt;
:&#039;&#039;&#039;Sunday&#039;&#039;&#039; : [[OpenEEG | OpenEEG Hacking]] Sundays, at 3-5pm.&lt;br /&gt;
:&#039;&#039;&#039;Monday&#039;&#039;&#039;: [[German]] - Learn German, all levels7pm beginners, 8pm advancedRSVP 24 hours in advance for the benefit of the instructorEvents ran May-November 2009Currently on Thursdays at 8Get on the mailing list.&lt;br /&gt;
:&#039;&#039;&#039;Tuesday&#039;&#039;&#039;: [[Haskell/Haschool]] - Learn Haskell with Jason Dusek 6PM - 7:30PM, from May until we&#039;re all experts.&lt;br /&gt;
:&#039;&#039;&#039;Wednesday&#039;&#039;&#039;: [[Adobe_Lightroom|Adobe Lightroom]] - Become a more organized photographerWeekly class (mostly held off site).&lt;br /&gt;
:&#039;&#039;&#039;Thursday&#039;&#039;&#039;: [[Professional VFX Compositing With Adobe After Effects]] - Taught by [[User:SFSlim|Aaron Muszalski]]7:30PM - 10PM, most Thursdays in May &amp;amp; June &amp;amp; ? (click through dammit)&lt;br /&gt;
:&#039;&#039;&#039;2009-09-17&#039;&#039;&#039;: [[Five Minutes of Fame]] 3D Edition&lt;br /&gt;
:&#039;&#039;&#039;2009-09-17&#039;&#039;&#039;: [[Wireless Mesh Network Meetup | Mesh wireless meetup]]&lt;br /&gt;
:&#039;&#039;&#039;2009-08-20&#039;&#039;&#039;: [[Five Minutes of Fame]] One Dee Edition&lt;br /&gt;
:&#039;&#039;&#039;2009-07-16&#039;&#039;&#039;: [[Five Minutes of Fame]] Zero Dee&lt;br /&gt;
:&#039;&#039;&#039;2009-07-02 - 2009-07-05&#039;&#039;&#039;: [http://toorcamp.org Toorcamp]&lt;br /&gt;
:&#039;&#039;&#039;2009-07-01&#039;&#039;&#039;: Noisedroid meeting to discuss location logging on Android platform (and other stuff too, I&#039;m sure)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-30&#039;&#039;&#039;: [[Powerbocking Class|Powerbocking class]]&lt;br /&gt;
:&#039;&#039;&#039;2009-06-30&#039;&#039;&#039;: &amp;quot;Suing Telemarketers for Fun and Profit&amp;quot; (Toorcamp talk preview)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-28&#039;&#039;&#039;: &amp;quot;Meditation for Hackers&amp;quot; (Toorcamp workshop preview)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-18&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-06-15&#039;&#039;&#039;: [[Eagle Workshop]]  Session two of the Eagle CAD workshop.&lt;br /&gt;
:&#039;&#039;&#039;2009-06-13&#039;&#039;&#039;: [[RoboGames 2009]] Noisebridge had a booth staffed by vounteers, great fun!&lt;br /&gt;
:&#039;&#039;&#039;2009-05-21&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-04-27&#039;&#039;&#039;: [[EagleCAD workshop]] -- learn to use this CAD tool for printed circuit board design&lt;br /&gt;
:&#039;&#039;&#039;2009-04-16&#039;&#039;&#039;: [[Five Minutes of Fame]] April showers &amp;amp; flowers edition&lt;br /&gt;
:&#039;&#039;&#039;2009-04-11&#039;&#039;&#039;: [[RFID Hacking]] weekend workshop  (this event moved from the original March date)&lt;br /&gt;
:&#039;&#039;&#039;2009-04-05&#039;&#039;&#039;: [[First aid and CPR class]] Learning how to not only not die, but also reduce scarring!&lt;br /&gt;
:&#039;&#039;&#039;2009-04-03&#039;&#039;&#039;: [[Sudo pop]] 2PM and onMaking the first batch of a Noisebridge label yerba mate-niated rootbrew, gratis and DIY&lt;br /&gt;
:&#039;&#039;&#039;2009-03-26&#039;&#039;&#039;: [[OpenEEG | OpenEEG Hacking]] first meet up for this new group: 8 pm&lt;br /&gt;
:&#039;&#039;&#039;2009-03-19&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-03-12&#039;&#039;&#039;: [[OpenBTS and GSM]] talk by David Burgess&lt;br /&gt;
:&#039;&#039;&#039;2009-02-14&#039;&#039;&#039;: [[Open Heart Workshop]] Valentine&#039;s Day blinkyheart soldering party! &lt;br /&gt;
:&#039;&#039;&#039;2009-02-13&#039;&#039;&#039;: [[Time-t_Party|&amp;lt;tt&amp;gt;time_t&amp;lt;/tt&amp;gt; Party]] to celebrate 1,234,567,890 since the Unix epoch.&lt;br /&gt;
:&#039;&#039;&#039;2009-02-09&#039;&#039;&#039;: [[Spanish learning at 8:30]]&lt;br /&gt;
:&#039;&#039;&#039;2009-02-05&#039;&#039;&#039;: [[PGP Key Workshop]]&lt;br /&gt;
:&#039;&#039;&#039;2009-01-31&#039;&#039;&#039;: [[Locksport and Lockpicking]]&lt;br /&gt;
&lt;br /&gt;
===2008===&lt;br /&gt;
:&#039;&#039;&#039;2008-12-27&#039;&#039;&#039;: [[25C3]] Chaos Computer Congress in Berlin&lt;br /&gt;
:&#039;&#039;&#039;2008-12-20 &amp;amp; 21&#039;&#039;&#039;: [[Creme Brulee]] Workshop on creating a french dessert, with bonus propane torch.&lt;br /&gt;
:&#039;&#039;&#039;2008-12-17 20:00&#039;&#039;&#039;: [[Machine Learning]] Birds-of-a-feather&lt;br /&gt;
:&#039;&#039;&#039;2008-11-24&#039;&#039;&#039;: [[Circuit Hacking Monday]] circuit design workshop&lt;br /&gt;
:&#039;&#039;&#039;2008-11-21, 7pm&#039;&#039;&#039;:[[Milk and Cookies]] -- [[User:Dmolnar|David Molnar]] hosts Milk and Cookies at 83CBring a short 5-7minute thing to read to othersBring a potluck cookie/snack/drink if you likeDavid will bring milk and cookies.&lt;br /&gt;
:&#039;&#039;&#039;2008-11-17, 7:30pm&#039;&#039;&#039;: [[Basic Bicycle Maintain]] - [[User:rubin110|Rubin]] and [[User:rigel|rigel]] hate it when we see a bike that isn&#039;t maintainedScreechy chains and clacking derailleur can go to hellBasic bike tune up, sharing the smarts on simple things you can do at home to make your ride suck a whole lot less.&lt;br /&gt;
:&#039;&#039;&#039;2008-11-16, 5:00pm&#039;&#039;&#039;: [[RepRap Soldering Party]] - help assemble RepRap!  RSVPs required on wiki! [[User:Adi|adi]]&lt;br /&gt;
:&#039;&#039;&#039;2008-11-16, 3:00pm&#039;&#039;&#039;: [[Oscilloscopes]] - Learn how to use this versatile tool to test electronic circuits Maximum 6 slots, please sign up ahead of time! [[User:dstaff|dstaff]]&lt;br /&gt;
:&#039;&#039;&#039;2008-10-31&#039;&#039;&#039;: [[Halloween Open House]] - NoiseBridge&#039;s own [[PPPC]] threw an awesome open house/halloween galaPost pictures if you got &#039;em!&lt;br /&gt;
:&#039;&#039;&#039;2008-10-25&#039;&#039;&#039;: [[Soldering Workshop]] and Pumpkin Hackin&#039; - Learn to solder for total newbies (or learn to solder better!), including surface mountAdditionally, carve your halloween pumpkins and enjoy some experimental pumpkin pie and/or soup.&lt;br /&gt;
:&#039;&#039;&#039;2008-10-07&#039;&#039;&#039;: (tuesday before meeting) - Etch a circuit boardI&#039;ll be trying a photo resist etching and a basic printed mask etchingThis is step 1/3 for a project called &amp;quot;annoying USB thingie&amp;quot; which will execute pre-defined keystrokes by sneaking a tiny USB dongle onto a victim^h^h^h^h^h buddy&#039;s computer.&lt;br /&gt;
:&#039;&#039;&#039;2008-09-13&#039;&#039;&#039;: [[Processing Workshop]] — Learn this very easy-to-use programming language! - [[Processing Workshop Report]]&lt;br /&gt;
:&#039;&#039;&#039;2008-02-16&#039;&#039;&#039;: [[Brain Machine Workshop|Brain Machine Making Workshop]]: Our first hardware sprint!&lt;br /&gt;
&lt;br /&gt;
[[Category:Top level]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=29369</id>
		<title>Backend web dev in Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=29369"/>
		<updated>2013-02-07T21:36:19Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.&lt;br /&gt;
&lt;br /&gt;
We meet Tuesdays 7pm-9pm in the Church room.  &lt;br /&gt;
&lt;br /&gt;
Approximately half of our lessons are on Ruby, and half Rails.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Ruby lessons, please have Ruby 1.9.3 installed on your machine.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Rails lessons, please follow this great, actively maintained Railsbridge guide -- http://installfest.railsbridge.org/installfest/installfest . Then create a blog app by completing this tutorial --  http://guides.rubyonrails.org/getting_started.html .  (we will build off the blog app extensively)&lt;br /&gt;
&lt;br /&gt;
Student, teachers, TA&#039;s needed and welcome!&lt;br /&gt;
&lt;br /&gt;
Join the google group here: https://groups.google.com/group/starmonkeys .  And visit our class website at http://www.railsschool.org .&lt;br /&gt;
&lt;br /&gt;
Use the google group or Discussion view of this page to ask questions or suggest ideas!&lt;br /&gt;
&lt;br /&gt;
And be sure to check out Jeremy&#039;s awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 2/5: Rails and TDD. Testing with RSPEC and Capybara&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
What is the concept of TDD and how does it work in Rails and Capybara.&lt;br /&gt;
&lt;br /&gt;
TDD -&amp;gt; Test-driven development. Capybara -&amp;gt; Capybara is an integration testing tool for rack based web applications.&lt;br /&gt;
&lt;br /&gt;
Briefly take a look at these links:&lt;br /&gt;
&lt;br /&gt;
About TDD - http://en.wikipedia.org/wiki/Test-driven_development&lt;br /&gt;
&lt;br /&gt;
What Capybara is - http://en.wikipedia.org/wiki/Capybara&lt;br /&gt;
&lt;br /&gt;
About Capybara - https://github.com/jnicklas/capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/rails-and-tdd-testing-with-rspec-and-capybara&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/29: Popular Alternative Rails Configurations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
What the rest of us use: Haml, Postgres, Rspec, and Plain Old Ruby Objects&lt;br /&gt;
&lt;br /&gt;
The Rails default stack is generally sound, but some of its choices are controversial. Let&#039;s look at what Steve Klabnik calls the &amp;quot;Prime stack,&amp;quot; the Rails stack preferred by many developers who are not DHH.&lt;br /&gt;
&lt;br /&gt;
Please read Steve&#039;s post http://words.steveklabnik.com/rails-has-two-default-stacks for background.&lt;br /&gt;
&lt;br /&gt;
We will play with Haml, Postgres (on Heroku), Rspec, and Plain Old Ruby Objects aka POROs (which may constitute a service layer).&lt;br /&gt;
&lt;br /&gt;
There will be Google Hangout in order to include people unable to make it to Noisebridge. Check the http://www.railsschool.org/l/popular-alternative-rails-configurations/whiteboard at 7pm Pacific for the Hangout link.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://www.railsschool.org/l/popular-alternative-rails-configurations&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/22: Ruby 2: The Wrath of Kwarg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first Ruby 2 release candidate is out, and the p0 is scheduled to ship in February. Let&#039;s play with it.&lt;br /&gt;
&lt;br /&gt;
You may want to install Ruby 2 before class.&lt;br /&gt;
&lt;br /&gt;
Check out http://rubysource.com/a-look-at-ruby-2-0/ for installation instructions and a review of the changes.&lt;br /&gt;
&lt;br /&gt;
We will also be on Google Hangouts in order to include people unable to make it to Noisebridge. Check the http://www.railsschool.org/l/ruby-2-the-wrath-of-kwarg/whiteboard at 7pm Pacific for the Google Hangout link.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://www.railsschool.org/l/ruby-2-the-wrath-of-kwarg&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/15: Creating a twitter clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Using rails to rapidly prototype twitter clone&lt;br /&gt;
&lt;br /&gt;
Rails is so convenient that you can create a small twitter clone in a couple hours. You need to have rails installed, and know some basics&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/creating-a-twitter-clone&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/8: Rails 4 New Features&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first Rails 4 release candidate is just around the corner, let&#039;s check it out.&lt;br /&gt;
&lt;br /&gt;
As for all our Rails lessons, please have completed http://guides.rubyonrails.org/getting_started.html in preparation, if you haven&#039;t already.&lt;br /&gt;
&lt;br /&gt;
You might enjoy scanning the draft Rails 4.0 Release Notes, http://edgeguides.rubyonrails.org/4_0_release_notes.html before class.&lt;br /&gt;
&lt;br /&gt;
We will also be on Google Hangouts in order to include people unable to make it to Noisebridge.  Check the Etherpad aka Whiteboard at http://www.railsschool.org/l/rails-4-new-features/whiteboard at 7pm Pacific for the Google Hangout link.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/rails-4-new-features&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/1/13: Catch-up Day III&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An opportunity for new students to get personal help in meeting the class pre-requisites.&lt;br /&gt;
&lt;br /&gt;
Relevant FAQ links&lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Ruby_lesson  &lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Rails_lesson&lt;br /&gt;
&lt;br /&gt;
For the first time ever, we&#039;re going to be on Google Hangouts in order to include people unable to make it to Noisebridge. Check the Etherpad aka Whiteboard (http://www.railsschool.org/l/catch-up-day-iii/whiteboard) at 7pm Pacific for the Google Hangout link.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/catch-up-day-iii&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/18: Challenging Facebook API using Koala&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Building an app using very convenient Koala gem to play with Facebook API.&lt;br /&gt;
&lt;br /&gt;
Using very convenient Koala gem to play with Facebook API. Let&#039;s build a fun app during the class. Think about what fun apps we can build during our lesson? For example I was thinking about 1. an app that likes random posts on your friends feeds. 2. Shows your most liked photos&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/challenging-facebook-api-using-koala&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/11: Backends for Mobile Apps&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use the Rails API gem to build a backend to support a mobile app.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
&lt;br /&gt;
The Rails API Gem by RailsCasts -&lt;br /&gt;
http://railscasts.com/episodes/348-the-rails-api-gem&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backends-for-mobile-apps&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/4: Improving UX and Performance with Turblinks and Pjax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Turbolinks and pjax are techniques that avoid page reloads when navigating a site.  &lt;br /&gt;
&lt;br /&gt;
Turbolinks can be added to an existing app with hardly any changes needed, and will be enabled by default in Rails 4.&lt;br /&gt;
&lt;br /&gt;
Pjax is used by Github, for example, to allow users to quickly navigate repositories.&lt;br /&gt;
&lt;br /&gt;
We will dust off our blog apps, turn on Turbolinks and observe the difference, then implement a little bit of pjax.&lt;br /&gt;
&lt;br /&gt;
Please make sure your blog app is functioning.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
http://railscasts.com/episodes/294-playing-with-pjax&lt;br /&gt;
http://railscasts.com/episodes/390-turbolinks&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/improving-ux-and-performance-with-turblinks-and-pjax&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/27: Backbone.js with Rails and creating an API for your app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementing hot frontend framework backbone.js in rails application. Creating API for your app. Homework -&amp;gt; Read: http://backbonejs.org/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backbone-js&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/20: Images: Instagram API with Ruby-On-Rails and Carrierwave gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure that you have Rails installed. Think about what kind of App we can build during our class with Instagram API&lt;br /&gt;
Also would be good if you create Amazon Simple Storage Service (Amazon S3) (aws.amazon.com/s3/)&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/instagram-api-with-ruby-on-rails&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/13: Bootstrapping a Fresh Rails App&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll take a break from our blogs and create a brand new app.&lt;br /&gt;
&lt;br /&gt;
The goal is to learn the little gotchas associated with starting new projects as well as tips for getting up and running quickly. &lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html in preparation.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/bootstrapping-a-fresh-rails-app&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/6: Refactoring existing code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to take a look at refactoring an existing Rails up. Learn how to improve your models, controllers and views.&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/refactoring-existing-code&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/30: Image Uploads in Rails with TDD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/image-uploads-in-rails-with-tdd&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/23:  Calculating π with Object-Oriented Ruby and Test-Driven Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use our favorite programming language to calculate one of our favorite irrationals.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need Rails for this class; it&#039;s Ruby-only. Just bring a laptop with Ruby 1.9. &lt;br /&gt;
&lt;br /&gt;
Suggested Preparation &lt;br /&gt;
&lt;br /&gt;
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html &lt;br /&gt;
&lt;br /&gt;
http://blog.teamtreehouse.com/an-introduction-to-rspec&lt;br /&gt;
&lt;br /&gt;
RSVP here- http://rails-school.heroku.com/lessons/calculating-with-object-oriented-ruby-and-test-driven-development&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/16:  How to prepare your Rails app for production&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By choosing to build your web app in Rails, countless choices have been made for you that give you the best chance of a successful launch. Nevertheless, there are some details you will need to take care of on your own.&lt;br /&gt;
&lt;br /&gt;
In this class, we will implement the minimum precautionary steps to ensure the performance and security of our Rails apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have completed the Getting Started guide at http://guides.rubyonrails.org/getting_started.html and be ready to hack on your blogs in class.&lt;br /&gt;
&lt;br /&gt;
Recommended reading&lt;br /&gt;
http://guides.rubyonrails.org/security.html&lt;br /&gt;
http://guides.rubyonrails.org/caching_with_rails.html&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/how-to-prepare-your-rails-app-for-production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/9: Sending email using background workers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this class we will show how to send email using Rails. We will also utilize delayed_job gem to handle the actual email sending in the background. &lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
ActiveMailer: http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
Delayed Job: https://github.com/collectiveidea/delayed_job&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/sending-email-using-background-workers&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/2: Etherpad Bots&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etherpads are the shared docs we take our class notes on. &lt;br /&gt;
&lt;br /&gt;
Read about Etherpads here: http://etherpad.org/ &lt;br /&gt;
&lt;br /&gt;
We will target an Etherpad-Lite instance using Ruby.  Visit https://github.com/jhollinger/ruby-etherpad-lite to get some ideas what might be possible.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/etherpad-bots&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/25: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a) bootstrapping your development environment - follow&lt;br /&gt;
http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b) setting up a basic blog application - follow&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.&lt;br /&gt;
This class will be a looser format than usual, so everyone, please&lt;br /&gt;
bring snacks! If there&#039;s interest, we will get beers at Shotwell&#039;s&lt;br /&gt;
afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day--2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/18: Roll-your-own Chat App with the Goliath web server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rails isn&#039;t perfect for interactive, real-time, scalable apps. Let&#039;s play with Goliath, a Ruby-based web server that is.&lt;br /&gt;
&lt;br /&gt;
This is Ruby-only class for which no Rails experience is required. &lt;br /&gt;
&lt;br /&gt;
However, please complete this small tutorial on EventMachine beforehand: http://rubysource.com/introduction-to-event-machine/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/roll-your-own-chat-app-with-the-goliath-web-server&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/11: Scraping and Parsing the Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last resort when there is no API, scraping and parsing isn&#039;t much fun, but Ruby&#039;s got some great tools to alleviate the pain.&lt;br /&gt;
&lt;br /&gt;
Please bring some sources you want to scrape as well as ideas for what to do with the scraped data. &lt;br /&gt;
&lt;br /&gt;
The homework is to complete this tutorial on regular expressions:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-regular-expressions/ &lt;br /&gt;
&lt;br /&gt;
Regular expressions are a must-know tool when you&#039;re parsing textual data:http://xkcd.com/208/ &lt;br /&gt;
&lt;br /&gt;
But they&#039;re not the right tool for every problem:http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html&lt;br /&gt;
&lt;br /&gt;
This class is Ruby-only.  New students that are Ruby newbies, please complete http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html before class.  You don&#039;t need to know Rails are have completed the Rails getting started guide before attending Ruby-only classes like this one.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/scraping-and-parsing-the-web&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/4: Hacking around Foursquare API with ruby&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lets learn how easy it is to use Foursquare API with ruby {should be easy:)}&lt;br /&gt;
&lt;br /&gt;
Homework: &lt;br /&gt;
&lt;br /&gt;
1. generate ideas about how to use foursquare API and what apps could be made with it. &lt;br /&gt;
We will decide what app we are going to build at the beginning of the class. &lt;br /&gt;
&lt;br /&gt;
2. Scan through Foursquare API documentation https://developer.foursquare.com/ to know what is possible and what is not&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/hack-with-foursquare-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/28 Class: Self-posting Novelty Twitter Accounts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create bots that make interesting tweets periodically&lt;br /&gt;
&lt;br /&gt;
The homework is just to come up with a fun and simple idea for the tweets you want your bot to post.   Also, register your novelty twitter username and a twitter app: http://dev.twitter.com .  And make sure you have a heroku account set up.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also have a Ruby 101 break-out group for people that are not ready to program twitter bots.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/self-posting-novelty-twitter-accounts&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/21 Class: Dive into ActiveRecord&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be taking a deeper look at what is ActiveRecord (since it&#039;s such a big part of Rails)&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_querying.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/association_basics.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_validations_callbacks.html&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/activerecord&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/14 Class: Twitter API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Playing with twitter API to build fun apps&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
Twitter API docs: https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/7 Class: Ruby, API&#039;s, and Gems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No Rails today; Ruby, Rest API&#039;s and Ruby Gems instead!&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/31 Class: Rails&#039; Asset Pipeline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll look closely at asset organization, compilation, and packaging, and also check out SCSS and Coffeescript.&lt;br /&gt;
&lt;br /&gt;
Required Viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Understanding the Asset Pipeline&#039;&#039; by RailsCasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/279-understanding-the-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/rails-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/24 Class: Fun with the Stripe payment API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll hook up Stripe&#039;s API in our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please sign up for Stripe ahead of time - https://manage.stripe.com/register&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a handy link to Stripe&#039;s API docs - https://stripe.com/docs&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How I Explained REST to My Wife&#039;&#039; by Ryan Tomayko&lt;br /&gt;
&lt;br /&gt;
http://tomayko.com/writings/rest-to-my-wife&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/fun-with-the-stripe-payment-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/17 Class: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a)  bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b)  setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.  This class will be a looser format than usual, so everyone, please bring snacks!  If there&#039;s interest, we will get beers at Shotwell&#039;s afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/10 Class: Continuous Integration with Travis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Intro to CI including configuring our apps to run on Travis-CI.&lt;br /&gt;
&lt;br /&gt;
Please bring a Rails app that you&#039;ve already pushed to Github.&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Continuous Integration&#039;&#039; by Martin Fowler&lt;br /&gt;
&lt;br /&gt;
http://martinfowler.com/articles/continuousIntegration.html&lt;br /&gt;
&lt;br /&gt;
RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/3 Class: Playing with APIs&lt;br /&gt;
&lt;br /&gt;
Where: 7pm-9pm Tuesday in the Church classroom&lt;br /&gt;
&lt;br /&gt;
What: Using the Twitter API in your Rails app&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
&lt;br /&gt;
https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/26 Class: Layouts and Rendering in Rails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeting as usual 7pm-9pm Tuesday in the Church classroom.&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce&lt;br /&gt;
how to organize layouts, partial, templates, etc in Rails.&lt;br /&gt;
&lt;br /&gt;
Homework:&lt;br /&gt;
1. http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html &lt;br /&gt;
3. Also prepare some questions!! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/19 Class: Test-Driven-Development and Sending Emails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.&lt;br /&gt;
&lt;br /&gt;
New students and others interested will have the option of learning Ruby 101 separately.&lt;br /&gt;
&lt;br /&gt;
Homework: First make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial.  Then get as far as you can in both of the following tutorials.  Don&#039;t worry if you don&#039;t finish them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Mailer Basics&#039;&#039; by RailsGuides&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Request Specs and Capybara&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/257-request-specs-and-capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/12 Class: Dissecting the request lifecycle with pry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s investigate the journey of a request through Rails with some help from the debugging tool pry.&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rails 3 in a Nutshell&#039;&#039; by O&#039;Reilly, Chapter 2, up to and including the &#039;&#039;&#039;Controller&#039;&#039;&#039; section&lt;br /&gt;
&lt;br /&gt;
http://ofps.oreilly.com/titles/9780596521424/rails.html&lt;br /&gt;
&lt;br /&gt;
Required viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pry with Rails&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/280-pry-with-rails&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry&lt;br /&gt;
&lt;br /&gt;
Notes- http://beta.primarypad.com/p/G86Niu6EXz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/5 Class: Ajax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to continue our discussion of using Rails&#039; Unobtrusive Javascript framework to add ajax interaction to our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html so we&#039;re all on the same page.&lt;br /&gt;
&lt;br /&gt;
Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/KjI5Ic2327&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/29 Class: Intro to Product Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There&#039;s more to building web apps than hacking code, like figuring out what problem you&#039;re solving and how you&#039;ll know when you&#039;ve solved it.  This class we&#039;ll look at Michael&#039;s website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.&lt;br /&gt;
&lt;br /&gt;
Homework is to think about these questions, or come up with your own:&lt;br /&gt;
* Who are the target users of the class website?&lt;br /&gt;
* What utility do they need out of the site to start using it right away?&lt;br /&gt;
* What features could be added to open up the site to a larger audience?&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QjFPw7bflF&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/22 Class: Authentication with the Devise gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .  Seriously!&lt;br /&gt;
&lt;br /&gt;
Enough talking about awesome Rails gems, let&#039;s use one in an app.  We&#039;re going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.&lt;br /&gt;
&lt;br /&gt;
We will also have a beginners&#039; group for folks needing help getting Rails set up or wanting to learn Ruby.&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QC7KG7aKVB&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/15 Class: Demo Day!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .&lt;br /&gt;
&lt;br /&gt;
This class we&#039;re going to start with a show-and-tell of projects we&#039;re working on or have recently completed.  The demos don&#039;t have to be Ruby- or Rails-related, but should be related to web programming in some way.  This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.&lt;br /&gt;
&lt;br /&gt;
Then we&#039;ll break up into two groups, one for beginners and one for more experienced students.&lt;br /&gt;
&lt;br /&gt;
Notes - http://openetherpad.org/xsy1zKhrbj&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/8 Class: topic is BLOGS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.  &lt;br /&gt;
&lt;br /&gt;
Please post some links here to your favorite blogs.  We&#039;ll take a look at some blog features and talk about how they might be implemented.&lt;br /&gt;
&lt;br /&gt;
Gabe&#039;s pick: http://www.overheardinnewyork.com/&lt;br /&gt;
&lt;br /&gt;
Notes: http://openetherpad.org/sIYNUEPzld&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/2 Class:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notes: http://piratepad.net/dJupUHZoOP&lt;br /&gt;
&lt;br /&gt;
[[Category:Ruby]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Rails]]&lt;br /&gt;
[[Category:Classes]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28824</id>
		<title>Backend web dev in Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28824"/>
		<updated>2013-01-14T19:02:22Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.&lt;br /&gt;
&lt;br /&gt;
We meet Tuesdays 7pm-9pm in the Church room.  &lt;br /&gt;
&lt;br /&gt;
Approximately half of our lessons are on Ruby, and half Rails.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Ruby lessons, please have Ruby 1.9.3 installed on your machine.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Rails lessons, please follow this great, actively maintained Railsbridge guide -- http://installfest.railsbridge.org/installfest/installfest . Then create a blog app by completing this tutorial --  http://guides.rubyonrails.org/getting_started.html .  (we will build off the blog app extensively)&lt;br /&gt;
&lt;br /&gt;
Student, teachers, TA&#039;s needed and welcome!&lt;br /&gt;
&lt;br /&gt;
Join the google group here: https://groups.google.com/group/starmonkeys .  And visit our class website at http://www.railsschool.org .&lt;br /&gt;
&lt;br /&gt;
Use the google group or Discussion view of this page to ask questions or suggest ideas!&lt;br /&gt;
&lt;br /&gt;
And be sure to check out Jeremy&#039;s awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/15: Creating a twitter clone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Using rails to rapidly prototype twitter clone&lt;br /&gt;
&lt;br /&gt;
Rails is so convenient that you can create a small twitter clone in a couple hours. You need to have rails installed, and know some basics&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/creating-a-twitter-clone&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/8: Rails 4 New Features&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first Rails 4 release candidate is just around the corner, let&#039;s check it out.&lt;br /&gt;
&lt;br /&gt;
As for all our Rails lessons, please have completed http://guides.rubyonrails.org/getting_started.html in preparation, if you haven&#039;t already.&lt;br /&gt;
&lt;br /&gt;
You might enjoy scanning the draft Rails 4.0 Release Notes, http://edgeguides.rubyonrails.org/4_0_release_notes.html before class.&lt;br /&gt;
&lt;br /&gt;
We will also be on Google Hangouts in order to include people unable to make it to Noisebridge.  Check the Etherpad aka Whiteboard at http://www.railsschool.org/l/rails-4-new-features/whiteboard at 7pm Pacific for the Google Hangout link.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/rails-4-new-features&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/1/13: Catch-up Day III&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An opportunity for new students to get personal help in meeting the class pre-requisites.&lt;br /&gt;
&lt;br /&gt;
Relevant FAQ links&lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Ruby_lesson  &lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Rails_lesson&lt;br /&gt;
&lt;br /&gt;
For the first time ever, we&#039;re going to be on Google Hangouts in order to include people unable to make it to Noisebridge. Check the Etherpad aka Whiteboard (http://www.railsschool.org/l/catch-up-day-iii/whiteboard) at 7pm Pacific for the Google Hangout link.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/catch-up-day-iii&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/18: Challenging Facebook API using Koala&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Building an app using very convenient Koala gem to play with Facebook API.&lt;br /&gt;
&lt;br /&gt;
Using very convenient Koala gem to play with Facebook API. Let&#039;s build a fun app during the class. Think about what fun apps we can build during our lesson? For example I was thinking about 1. an app that likes random posts on your friends feeds. 2. Shows your most liked photos&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/challenging-facebook-api-using-koala&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/11: Backends for Mobile Apps&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use the Rails API gem to build a backend to support a mobile app.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
&lt;br /&gt;
The Rails API Gem by RailsCasts -&lt;br /&gt;
http://railscasts.com/episodes/348-the-rails-api-gem&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backends-for-mobile-apps&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/4: Improving UX and Performance with Turblinks and Pjax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Turbolinks and pjax are techniques that avoid page reloads when navigating a site.  &lt;br /&gt;
&lt;br /&gt;
Turbolinks can be added to an existing app with hardly any changes needed, and will be enabled by default in Rails 4.&lt;br /&gt;
&lt;br /&gt;
Pjax is used by Github, for example, to allow users to quickly navigate repositories.&lt;br /&gt;
&lt;br /&gt;
We will dust off our blog apps, turn on Turbolinks and observe the difference, then implement a little bit of pjax.&lt;br /&gt;
&lt;br /&gt;
Please make sure your blog app is functioning.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
http://railscasts.com/episodes/294-playing-with-pjax&lt;br /&gt;
http://railscasts.com/episodes/390-turbolinks&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/improving-ux-and-performance-with-turblinks-and-pjax&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/27: Backbone.js with Rails and creating an API for your app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementing hot frontend framework backbone.js in rails application. Creating API for your app. Homework -&amp;gt; Read: http://backbonejs.org/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backbone-js&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/20: Images: Instagram API with Ruby-On-Rails and Carrierwave gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure that you have Rails installed. Think about what kind of App we can build during our class with Instagram API&lt;br /&gt;
Also would be good if you create Amazon Simple Storage Service (Amazon S3) (aws.amazon.com/s3/)&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/instagram-api-with-ruby-on-rails&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/13: Bootstrapping a Fresh Rails App&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll take a break from our blogs and create a brand new app.&lt;br /&gt;
&lt;br /&gt;
The goal is to learn the little gotchas associated with starting new projects as well as tips for getting up and running quickly. &lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html in preparation.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/bootstrapping-a-fresh-rails-app&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/6: Refactoring existing code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to take a look at refactoring an existing Rails up. Learn how to improve your models, controllers and views.&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/refactoring-existing-code&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/30: Image Uploads in Rails with TDD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/image-uploads-in-rails-with-tdd&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/23:  Calculating π with Object-Oriented Ruby and Test-Driven Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use our favorite programming language to calculate one of our favorite irrationals.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need Rails for this class; it&#039;s Ruby-only. Just bring a laptop with Ruby 1.9. &lt;br /&gt;
&lt;br /&gt;
Suggested Preparation &lt;br /&gt;
&lt;br /&gt;
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html &lt;br /&gt;
&lt;br /&gt;
http://blog.teamtreehouse.com/an-introduction-to-rspec&lt;br /&gt;
&lt;br /&gt;
RSVP here- http://rails-school.heroku.com/lessons/calculating-with-object-oriented-ruby-and-test-driven-development&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/16:  How to prepare your Rails app for production&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By choosing to build your web app in Rails, countless choices have been made for you that give you the best chance of a successful launch. Nevertheless, there are some details you will need to take care of on your own.&lt;br /&gt;
&lt;br /&gt;
In this class, we will implement the minimum precautionary steps to ensure the performance and security of our Rails apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have completed the Getting Started guide at http://guides.rubyonrails.org/getting_started.html and be ready to hack on your blogs in class.&lt;br /&gt;
&lt;br /&gt;
Recommended reading&lt;br /&gt;
http://guides.rubyonrails.org/security.html&lt;br /&gt;
http://guides.rubyonrails.org/caching_with_rails.html&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/how-to-prepare-your-rails-app-for-production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/9: Sending email using background workers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this class we will show how to send email using Rails. We will also utilize delayed_job gem to handle the actual email sending in the background. &lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
ActiveMailer: http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
Delayed Job: https://github.com/collectiveidea/delayed_job&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/sending-email-using-background-workers&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/2: Etherpad Bots&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etherpads are the shared docs we take our class notes on. &lt;br /&gt;
&lt;br /&gt;
Read about Etherpads here: http://etherpad.org/ &lt;br /&gt;
&lt;br /&gt;
We will target an Etherpad-Lite instance using Ruby.  Visit https://github.com/jhollinger/ruby-etherpad-lite to get some ideas what might be possible.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/etherpad-bots&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/25: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a) bootstrapping your development environment - follow&lt;br /&gt;
http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b) setting up a basic blog application - follow&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.&lt;br /&gt;
This class will be a looser format than usual, so everyone, please&lt;br /&gt;
bring snacks! If there&#039;s interest, we will get beers at Shotwell&#039;s&lt;br /&gt;
afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day--2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/18: Roll-your-own Chat App with the Goliath web server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rails isn&#039;t perfect for interactive, real-time, scalable apps. Let&#039;s play with Goliath, a Ruby-based web server that is.&lt;br /&gt;
&lt;br /&gt;
This is Ruby-only class for which no Rails experience is required. &lt;br /&gt;
&lt;br /&gt;
However, please complete this small tutorial on EventMachine beforehand: http://rubysource.com/introduction-to-event-machine/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/roll-your-own-chat-app-with-the-goliath-web-server&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/11: Scraping and Parsing the Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last resort when there is no API, scraping and parsing isn&#039;t much fun, but Ruby&#039;s got some great tools to alleviate the pain.&lt;br /&gt;
&lt;br /&gt;
Please bring some sources you want to scrape as well as ideas for what to do with the scraped data. &lt;br /&gt;
&lt;br /&gt;
The homework is to complete this tutorial on regular expressions:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-regular-expressions/ &lt;br /&gt;
&lt;br /&gt;
Regular expressions are a must-know tool when you&#039;re parsing textual data:http://xkcd.com/208/ &lt;br /&gt;
&lt;br /&gt;
But they&#039;re not the right tool for every problem:http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html&lt;br /&gt;
&lt;br /&gt;
This class is Ruby-only.  New students that are Ruby newbies, please complete http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html before class.  You don&#039;t need to know Rails are have completed the Rails getting started guide before attending Ruby-only classes like this one.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/scraping-and-parsing-the-web&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/4: Hacking around Foursquare API with ruby&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lets learn how easy it is to use Foursquare API with ruby {should be easy:)}&lt;br /&gt;
&lt;br /&gt;
Homework: &lt;br /&gt;
&lt;br /&gt;
1. generate ideas about how to use foursquare API and what apps could be made with it. &lt;br /&gt;
We will decide what app we are going to build at the beginning of the class. &lt;br /&gt;
&lt;br /&gt;
2. Scan through Foursquare API documentation https://developer.foursquare.com/ to know what is possible and what is not&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/hack-with-foursquare-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/28 Class: Self-posting Novelty Twitter Accounts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create bots that make interesting tweets periodically&lt;br /&gt;
&lt;br /&gt;
The homework is just to come up with a fun and simple idea for the tweets you want your bot to post.   Also, register your novelty twitter username and a twitter app: http://dev.twitter.com .  And make sure you have a heroku account set up.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also have a Ruby 101 break-out group for people that are not ready to program twitter bots.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/self-posting-novelty-twitter-accounts&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/21 Class: Dive into ActiveRecord&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be taking a deeper look at what is ActiveRecord (since it&#039;s such a big part of Rails)&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_querying.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/association_basics.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_validations_callbacks.html&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/activerecord&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/14 Class: Twitter API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Playing with twitter API to build fun apps&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
Twitter API docs: https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/7 Class: Ruby, API&#039;s, and Gems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No Rails today; Ruby, Rest API&#039;s and Ruby Gems instead!&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/31 Class: Rails&#039; Asset Pipeline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll look closely at asset organization, compilation, and packaging, and also check out SCSS and Coffeescript.&lt;br /&gt;
&lt;br /&gt;
Required Viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Understanding the Asset Pipeline&#039;&#039; by RailsCasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/279-understanding-the-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/rails-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/24 Class: Fun with the Stripe payment API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll hook up Stripe&#039;s API in our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please sign up for Stripe ahead of time - https://manage.stripe.com/register&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a handy link to Stripe&#039;s API docs - https://stripe.com/docs&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How I Explained REST to My Wife&#039;&#039; by Ryan Tomayko&lt;br /&gt;
&lt;br /&gt;
http://tomayko.com/writings/rest-to-my-wife&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/fun-with-the-stripe-payment-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/17 Class: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a)  bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b)  setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.  This class will be a looser format than usual, so everyone, please bring snacks!  If there&#039;s interest, we will get beers at Shotwell&#039;s afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/10 Class: Continuous Integration with Travis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Intro to CI including configuring our apps to run on Travis-CI.&lt;br /&gt;
&lt;br /&gt;
Please bring a Rails app that you&#039;ve already pushed to Github.&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Continuous Integration&#039;&#039; by Martin Fowler&lt;br /&gt;
&lt;br /&gt;
http://martinfowler.com/articles/continuousIntegration.html&lt;br /&gt;
&lt;br /&gt;
RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/3 Class: Playing with APIs&lt;br /&gt;
&lt;br /&gt;
Where: 7pm-9pm Tuesday in the Church classroom&lt;br /&gt;
&lt;br /&gt;
What: Using the Twitter API in your Rails app&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
&lt;br /&gt;
https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/26 Class: Layouts and Rendering in Rails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeting as usual 7pm-9pm Tuesday in the Church classroom.&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce&lt;br /&gt;
how to organize layouts, partial, templates, etc in Rails.&lt;br /&gt;
&lt;br /&gt;
Homework:&lt;br /&gt;
1. http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html &lt;br /&gt;
3. Also prepare some questions!! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/19 Class: Test-Driven-Development and Sending Emails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.&lt;br /&gt;
&lt;br /&gt;
New students and others interested will have the option of learning Ruby 101 separately.&lt;br /&gt;
&lt;br /&gt;
Homework: First make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial.  Then get as far as you can in both of the following tutorials.  Don&#039;t worry if you don&#039;t finish them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Mailer Basics&#039;&#039; by RailsGuides&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Request Specs and Capybara&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/257-request-specs-and-capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/12 Class: Dissecting the request lifecycle with pry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s investigate the journey of a request through Rails with some help from the debugging tool pry.&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rails 3 in a Nutshell&#039;&#039; by O&#039;Reilly, Chapter 2, up to and including the &#039;&#039;&#039;Controller&#039;&#039;&#039; section&lt;br /&gt;
&lt;br /&gt;
http://ofps.oreilly.com/titles/9780596521424/rails.html&lt;br /&gt;
&lt;br /&gt;
Required viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pry with Rails&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/280-pry-with-rails&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry&lt;br /&gt;
&lt;br /&gt;
Notes- http://beta.primarypad.com/p/G86Niu6EXz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/5 Class: Ajax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to continue our discussion of using Rails&#039; Unobtrusive Javascript framework to add ajax interaction to our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html so we&#039;re all on the same page.&lt;br /&gt;
&lt;br /&gt;
Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/KjI5Ic2327&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/29 Class: Intro to Product Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There&#039;s more to building web apps than hacking code, like figuring out what problem you&#039;re solving and how you&#039;ll know when you&#039;ve solved it.  This class we&#039;ll look at Michael&#039;s website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.&lt;br /&gt;
&lt;br /&gt;
Homework is to think about these questions, or come up with your own:&lt;br /&gt;
* Who are the target users of the class website?&lt;br /&gt;
* What utility do they need out of the site to start using it right away?&lt;br /&gt;
* What features could be added to open up the site to a larger audience?&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QjFPw7bflF&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/22 Class: Authentication with the Devise gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .  Seriously!&lt;br /&gt;
&lt;br /&gt;
Enough talking about awesome Rails gems, let&#039;s use one in an app.  We&#039;re going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.&lt;br /&gt;
&lt;br /&gt;
We will also have a beginners&#039; group for folks needing help getting Rails set up or wanting to learn Ruby.&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QC7KG7aKVB&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/15 Class: Demo Day!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .&lt;br /&gt;
&lt;br /&gt;
This class we&#039;re going to start with a show-and-tell of projects we&#039;re working on or have recently completed.  The demos don&#039;t have to be Ruby- or Rails-related, but should be related to web programming in some way.  This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.&lt;br /&gt;
&lt;br /&gt;
Then we&#039;ll break up into two groups, one for beginners and one for more experienced students.&lt;br /&gt;
&lt;br /&gt;
Notes - http://openetherpad.org/xsy1zKhrbj&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/8 Class: topic is BLOGS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.  &lt;br /&gt;
&lt;br /&gt;
Please post some links here to your favorite blogs.  We&#039;ll take a look at some blog features and talk about how they might be implemented.&lt;br /&gt;
&lt;br /&gt;
Gabe&#039;s pick: http://www.overheardinnewyork.com/&lt;br /&gt;
&lt;br /&gt;
Notes: http://openetherpad.org/sIYNUEPzld&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/2 Class:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notes: http://piratepad.net/dJupUHZoOP&lt;br /&gt;
&lt;br /&gt;
[[Category:Ruby]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Rails]]&lt;br /&gt;
[[Category:Classes]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28720</id>
		<title>Backend web dev in Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28720"/>
		<updated>2013-01-06T01:30:03Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.&lt;br /&gt;
&lt;br /&gt;
We meet Tuesdays 7pm-9pm in the Church room.  &lt;br /&gt;
&lt;br /&gt;
Approximately half of our lessons are on Ruby, and half Rails.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Ruby lessons, please have Ruby 1.9.3 installed on your machine.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Rails lessons, please follow this great, actively maintained Railsbridge guide -- http://installfest.railsbridge.org/installfest/installfest . Then create a blog app by completing this tutorial --  http://guides.rubyonrails.org/getting_started.html .  (we will build off the blog app extensively)&lt;br /&gt;
&lt;br /&gt;
Student, teachers, TA&#039;s needed and welcome!&lt;br /&gt;
&lt;br /&gt;
Join the google group here: https://groups.google.com/group/starmonkeys .  And visit our class website at http://www.railsschool.org .&lt;br /&gt;
&lt;br /&gt;
Use the google group or Discussion view of this page to ask questions or suggest ideas!&lt;br /&gt;
&lt;br /&gt;
And be sure to check out Jeremy&#039;s awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/8: Rails 4 New Features&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The first Rails 4 release candidate is just around the corner, let&#039;s check it out.&lt;br /&gt;
&lt;br /&gt;
As for all our Rails lessons, please have completed http://guides.rubyonrails.org/getting_started.html in preparation, if you haven&#039;t already.&lt;br /&gt;
&lt;br /&gt;
You might enjoy scanning the draft Rails 4.0 Release Notes, http://edgeguides.rubyonrails.org/4_0_release_notes.html before class.&lt;br /&gt;
&lt;br /&gt;
We will also be on Google Hangouts in order to include people unable to make it to Noisebridge.  Check the Etherpad aka Whiteboard at http://www.railsschool.org/l/rails-4-new-features/whiteboard at 7pm Pacific for the Google Hangout link.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/rails-4-new-features&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/1/13: Catch-up Day III&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An opportunity for new students to get personal help in meeting the class pre-requisites.&lt;br /&gt;
&lt;br /&gt;
Relevant FAQ links&lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Ruby_lesson  &lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Rails_lesson&lt;br /&gt;
&lt;br /&gt;
For the first time ever, we&#039;re going to be on Google Hangouts in order to include people unable to make it to Noisebridge. Check the Etherpad aka Whiteboard (http://www.railsschool.org/l/catch-up-day-iii/whiteboard) at 7pm Pacific for the Google Hangout link.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/catch-up-day-iii&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/18: Challenging Facebook API using Koala&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Building an app using very convenient Koala gem to play with Facebook API.&lt;br /&gt;
&lt;br /&gt;
Using very convenient Koala gem to play with Facebook API. Let&#039;s build a fun app during the class. Think about what fun apps we can build during our lesson? For example I was thinking about 1. an app that likes random posts on your friends feeds. 2. Shows your most liked photos&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/challenging-facebook-api-using-koala&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/11: Backends for Mobile Apps&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use the Rails API gem to build a backend to support a mobile app.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
&lt;br /&gt;
The Rails API Gem by RailsCasts -&lt;br /&gt;
http://railscasts.com/episodes/348-the-rails-api-gem&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backends-for-mobile-apps&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/4: Improving UX and Performance with Turblinks and Pjax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Turbolinks and pjax are techniques that avoid page reloads when navigating a site.  &lt;br /&gt;
&lt;br /&gt;
Turbolinks can be added to an existing app with hardly any changes needed, and will be enabled by default in Rails 4.&lt;br /&gt;
&lt;br /&gt;
Pjax is used by Github, for example, to allow users to quickly navigate repositories.&lt;br /&gt;
&lt;br /&gt;
We will dust off our blog apps, turn on Turbolinks and observe the difference, then implement a little bit of pjax.&lt;br /&gt;
&lt;br /&gt;
Please make sure your blog app is functioning.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
http://railscasts.com/episodes/294-playing-with-pjax&lt;br /&gt;
http://railscasts.com/episodes/390-turbolinks&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/improving-ux-and-performance-with-turblinks-and-pjax&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/27: Backbone.js with Rails and creating an API for your app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementing hot frontend framework backbone.js in rails application. Creating API for your app. Homework -&amp;gt; Read: http://backbonejs.org/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backbone-js&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/20: Images: Instagram API with Ruby-On-Rails and Carrierwave gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure that you have Rails installed. Think about what kind of App we can build during our class with Instagram API&lt;br /&gt;
Also would be good if you create Amazon Simple Storage Service (Amazon S3) (aws.amazon.com/s3/)&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/instagram-api-with-ruby-on-rails&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/13: Bootstrapping a Fresh Rails App&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll take a break from our blogs and create a brand new app.&lt;br /&gt;
&lt;br /&gt;
The goal is to learn the little gotchas associated with starting new projects as well as tips for getting up and running quickly. &lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html in preparation.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/bootstrapping-a-fresh-rails-app&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/6: Refactoring existing code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to take a look at refactoring an existing Rails up. Learn how to improve your models, controllers and views.&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/refactoring-existing-code&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/30: Image Uploads in Rails with TDD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/image-uploads-in-rails-with-tdd&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/23:  Calculating π with Object-Oriented Ruby and Test-Driven Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use our favorite programming language to calculate one of our favorite irrationals.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need Rails for this class; it&#039;s Ruby-only. Just bring a laptop with Ruby 1.9. &lt;br /&gt;
&lt;br /&gt;
Suggested Preparation &lt;br /&gt;
&lt;br /&gt;
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html &lt;br /&gt;
&lt;br /&gt;
http://blog.teamtreehouse.com/an-introduction-to-rspec&lt;br /&gt;
&lt;br /&gt;
RSVP here- http://rails-school.heroku.com/lessons/calculating-with-object-oriented-ruby-and-test-driven-development&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/16:  How to prepare your Rails app for production&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By choosing to build your web app in Rails, countless choices have been made for you that give you the best chance of a successful launch. Nevertheless, there are some details you will need to take care of on your own.&lt;br /&gt;
&lt;br /&gt;
In this class, we will implement the minimum precautionary steps to ensure the performance and security of our Rails apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have completed the Getting Started guide at http://guides.rubyonrails.org/getting_started.html and be ready to hack on your blogs in class.&lt;br /&gt;
&lt;br /&gt;
Recommended reading&lt;br /&gt;
http://guides.rubyonrails.org/security.html&lt;br /&gt;
http://guides.rubyonrails.org/caching_with_rails.html&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/how-to-prepare-your-rails-app-for-production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/9: Sending email using background workers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this class we will show how to send email using Rails. We will also utilize delayed_job gem to handle the actual email sending in the background. &lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
ActiveMailer: http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
Delayed Job: https://github.com/collectiveidea/delayed_job&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/sending-email-using-background-workers&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/2: Etherpad Bots&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etherpads are the shared docs we take our class notes on. &lt;br /&gt;
&lt;br /&gt;
Read about Etherpads here: http://etherpad.org/ &lt;br /&gt;
&lt;br /&gt;
We will target an Etherpad-Lite instance using Ruby.  Visit https://github.com/jhollinger/ruby-etherpad-lite to get some ideas what might be possible.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/etherpad-bots&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/25: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a) bootstrapping your development environment - follow&lt;br /&gt;
http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b) setting up a basic blog application - follow&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.&lt;br /&gt;
This class will be a looser format than usual, so everyone, please&lt;br /&gt;
bring snacks! If there&#039;s interest, we will get beers at Shotwell&#039;s&lt;br /&gt;
afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day--2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/18: Roll-your-own Chat App with the Goliath web server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rails isn&#039;t perfect for interactive, real-time, scalable apps. Let&#039;s play with Goliath, a Ruby-based web server that is.&lt;br /&gt;
&lt;br /&gt;
This is Ruby-only class for which no Rails experience is required. &lt;br /&gt;
&lt;br /&gt;
However, please complete this small tutorial on EventMachine beforehand: http://rubysource.com/introduction-to-event-machine/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/roll-your-own-chat-app-with-the-goliath-web-server&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/11: Scraping and Parsing the Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last resort when there is no API, scraping and parsing isn&#039;t much fun, but Ruby&#039;s got some great tools to alleviate the pain.&lt;br /&gt;
&lt;br /&gt;
Please bring some sources you want to scrape as well as ideas for what to do with the scraped data. &lt;br /&gt;
&lt;br /&gt;
The homework is to complete this tutorial on regular expressions:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-regular-expressions/ &lt;br /&gt;
&lt;br /&gt;
Regular expressions are a must-know tool when you&#039;re parsing textual data:http://xkcd.com/208/ &lt;br /&gt;
&lt;br /&gt;
But they&#039;re not the right tool for every problem:http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html&lt;br /&gt;
&lt;br /&gt;
This class is Ruby-only.  New students that are Ruby newbies, please complete http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html before class.  You don&#039;t need to know Rails are have completed the Rails getting started guide before attending Ruby-only classes like this one.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/scraping-and-parsing-the-web&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/4: Hacking around Foursquare API with ruby&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lets learn how easy it is to use Foursquare API with ruby {should be easy:)}&lt;br /&gt;
&lt;br /&gt;
Homework: &lt;br /&gt;
&lt;br /&gt;
1. generate ideas about how to use foursquare API and what apps could be made with it. &lt;br /&gt;
We will decide what app we are going to build at the beginning of the class. &lt;br /&gt;
&lt;br /&gt;
2. Scan through Foursquare API documentation https://developer.foursquare.com/ to know what is possible and what is not&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/hack-with-foursquare-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/28 Class: Self-posting Novelty Twitter Accounts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create bots that make interesting tweets periodically&lt;br /&gt;
&lt;br /&gt;
The homework is just to come up with a fun and simple idea for the tweets you want your bot to post.   Also, register your novelty twitter username and a twitter app: http://dev.twitter.com .  And make sure you have a heroku account set up.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also have a Ruby 101 break-out group for people that are not ready to program twitter bots.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/self-posting-novelty-twitter-accounts&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/21 Class: Dive into ActiveRecord&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be taking a deeper look at what is ActiveRecord (since it&#039;s such a big part of Rails)&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_querying.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/association_basics.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_validations_callbacks.html&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/activerecord&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/14 Class: Twitter API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Playing with twitter API to build fun apps&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
Twitter API docs: https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/7 Class: Ruby, API&#039;s, and Gems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No Rails today; Ruby, Rest API&#039;s and Ruby Gems instead!&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/31 Class: Rails&#039; Asset Pipeline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll look closely at asset organization, compilation, and packaging, and also check out SCSS and Coffeescript.&lt;br /&gt;
&lt;br /&gt;
Required Viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Understanding the Asset Pipeline&#039;&#039; by RailsCasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/279-understanding-the-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/rails-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/24 Class: Fun with the Stripe payment API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll hook up Stripe&#039;s API in our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please sign up for Stripe ahead of time - https://manage.stripe.com/register&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a handy link to Stripe&#039;s API docs - https://stripe.com/docs&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How I Explained REST to My Wife&#039;&#039; by Ryan Tomayko&lt;br /&gt;
&lt;br /&gt;
http://tomayko.com/writings/rest-to-my-wife&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/fun-with-the-stripe-payment-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/17 Class: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a)  bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b)  setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.  This class will be a looser format than usual, so everyone, please bring snacks!  If there&#039;s interest, we will get beers at Shotwell&#039;s afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/10 Class: Continuous Integration with Travis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Intro to CI including configuring our apps to run on Travis-CI.&lt;br /&gt;
&lt;br /&gt;
Please bring a Rails app that you&#039;ve already pushed to Github.&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Continuous Integration&#039;&#039; by Martin Fowler&lt;br /&gt;
&lt;br /&gt;
http://martinfowler.com/articles/continuousIntegration.html&lt;br /&gt;
&lt;br /&gt;
RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/3 Class: Playing with APIs&lt;br /&gt;
&lt;br /&gt;
Where: 7pm-9pm Tuesday in the Church classroom&lt;br /&gt;
&lt;br /&gt;
What: Using the Twitter API in your Rails app&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
&lt;br /&gt;
https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/26 Class: Layouts and Rendering in Rails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeting as usual 7pm-9pm Tuesday in the Church classroom.&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce&lt;br /&gt;
how to organize layouts, partial, templates, etc in Rails.&lt;br /&gt;
&lt;br /&gt;
Homework:&lt;br /&gt;
1. http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html &lt;br /&gt;
3. Also prepare some questions!! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/19 Class: Test-Driven-Development and Sending Emails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.&lt;br /&gt;
&lt;br /&gt;
New students and others interested will have the option of learning Ruby 101 separately.&lt;br /&gt;
&lt;br /&gt;
Homework: First make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial.  Then get as far as you can in both of the following tutorials.  Don&#039;t worry if you don&#039;t finish them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Mailer Basics&#039;&#039; by RailsGuides&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Request Specs and Capybara&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/257-request-specs-and-capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/12 Class: Dissecting the request lifecycle with pry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s investigate the journey of a request through Rails with some help from the debugging tool pry.&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rails 3 in a Nutshell&#039;&#039; by O&#039;Reilly, Chapter 2, up to and including the &#039;&#039;&#039;Controller&#039;&#039;&#039; section&lt;br /&gt;
&lt;br /&gt;
http://ofps.oreilly.com/titles/9780596521424/rails.html&lt;br /&gt;
&lt;br /&gt;
Required viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pry with Rails&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/280-pry-with-rails&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry&lt;br /&gt;
&lt;br /&gt;
Notes- http://beta.primarypad.com/p/G86Niu6EXz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/5 Class: Ajax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to continue our discussion of using Rails&#039; Unobtrusive Javascript framework to add ajax interaction to our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html so we&#039;re all on the same page.&lt;br /&gt;
&lt;br /&gt;
Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/KjI5Ic2327&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/29 Class: Intro to Product Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There&#039;s more to building web apps than hacking code, like figuring out what problem you&#039;re solving and how you&#039;ll know when you&#039;ve solved it.  This class we&#039;ll look at Michael&#039;s website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.&lt;br /&gt;
&lt;br /&gt;
Homework is to think about these questions, or come up with your own:&lt;br /&gt;
* Who are the target users of the class website?&lt;br /&gt;
* What utility do they need out of the site to start using it right away?&lt;br /&gt;
* What features could be added to open up the site to a larger audience?&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QjFPw7bflF&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/22 Class: Authentication with the Devise gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .  Seriously!&lt;br /&gt;
&lt;br /&gt;
Enough talking about awesome Rails gems, let&#039;s use one in an app.  We&#039;re going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.&lt;br /&gt;
&lt;br /&gt;
We will also have a beginners&#039; group for folks needing help getting Rails set up or wanting to learn Ruby.&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QC7KG7aKVB&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/15 Class: Demo Day!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .&lt;br /&gt;
&lt;br /&gt;
This class we&#039;re going to start with a show-and-tell of projects we&#039;re working on or have recently completed.  The demos don&#039;t have to be Ruby- or Rails-related, but should be related to web programming in some way.  This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.&lt;br /&gt;
&lt;br /&gt;
Then we&#039;ll break up into two groups, one for beginners and one for more experienced students.&lt;br /&gt;
&lt;br /&gt;
Notes - http://openetherpad.org/xsy1zKhrbj&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/8 Class: topic is BLOGS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.  &lt;br /&gt;
&lt;br /&gt;
Please post some links here to your favorite blogs.  We&#039;ll take a look at some blog features and talk about how they might be implemented.&lt;br /&gt;
&lt;br /&gt;
Gabe&#039;s pick: http://www.overheardinnewyork.com/&lt;br /&gt;
&lt;br /&gt;
Notes: http://openetherpad.org/sIYNUEPzld&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/2 Class:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notes: http://piratepad.net/dJupUHZoOP&lt;br /&gt;
&lt;br /&gt;
[[Category:Ruby]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Rails]]&lt;br /&gt;
[[Category:Classes]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28526</id>
		<title>Backend web dev in Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28526"/>
		<updated>2012-12-28T02:00:24Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.&lt;br /&gt;
&lt;br /&gt;
We meet Tuesdays 7pm-9pm in the Church room.  &lt;br /&gt;
&lt;br /&gt;
Approximately half of our lessons are on Ruby, and half Rails.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Ruby lessons, please have Ruby 1.9.3 installed on your machine.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Rails lessons, please follow this great, actively maintained Railsbridge guide -- http://installfest.railsbridge.org/installfest/installfest . Then create a blog app by completing this tutorial --  http://guides.rubyonrails.org/getting_started.html .  (we will build off the blog app extensively)&lt;br /&gt;
&lt;br /&gt;
Student, teachers, TA&#039;s needed and welcome!&lt;br /&gt;
&lt;br /&gt;
Join the google group here: https://groups.google.com/group/starmonkeys .  And visit our class website at http://www.railsschool.org .&lt;br /&gt;
&lt;br /&gt;
Use the google group or Discussion view of this page to ask questions or suggest ideas!&lt;br /&gt;
&lt;br /&gt;
And be sure to check out Jeremy&#039;s awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/1/13: Catch-up Day III&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An opportunity for new students to get personal help in meeting the class pre-requisites.&lt;br /&gt;
&lt;br /&gt;
Relevant FAQ links&lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Ruby_lesson  &lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Rails_lesson&lt;br /&gt;
&lt;br /&gt;
For the first time ever, we&#039;re going to be on Google Hangouts in order to include people unable to make it to Noisebridge. Check the Etherpad aka Whiteboard (http://www.railsschool.org/l/catch-up-day-iii/whiteboard) at 7pm Pacific for the Google Hangout link.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/catch-up-day-iii&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/18: Challenging Facebook API using Koala&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Building an app using very convenient Koala gem to play with Facebook API.&lt;br /&gt;
&lt;br /&gt;
Using very convenient Koala gem to play with Facebook API. Let&#039;s build a fun app during the class. Think about what fun apps we can build during our lesson? For example I was thinking about 1. an app that likes random posts on your friends feeds. 2. Shows your most liked photos&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/challenging-facebook-api-using-koala&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/11: Backends for Mobile Apps&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use the Rails API gem to build a backend to support a mobile app.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
&lt;br /&gt;
The Rails API Gem by RailsCasts -&lt;br /&gt;
http://railscasts.com/episodes/348-the-rails-api-gem&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backends-for-mobile-apps&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/4: Improving UX and Performance with Turblinks and Pjax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Turbolinks and pjax are techniques that avoid page reloads when navigating a site.  &lt;br /&gt;
&lt;br /&gt;
Turbolinks can be added to an existing app with hardly any changes needed, and will be enabled by default in Rails 4.&lt;br /&gt;
&lt;br /&gt;
Pjax is used by Github, for example, to allow users to quickly navigate repositories.&lt;br /&gt;
&lt;br /&gt;
We will dust off our blog apps, turn on Turbolinks and observe the difference, then implement a little bit of pjax.&lt;br /&gt;
&lt;br /&gt;
Please make sure your blog app is functioning.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
http://railscasts.com/episodes/294-playing-with-pjax&lt;br /&gt;
http://railscasts.com/episodes/390-turbolinks&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/improving-ux-and-performance-with-turblinks-and-pjax&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/27: Backbone.js with Rails and creating an API for your app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementing hot frontend framework backbone.js in rails application. Creating API for your app. Homework -&amp;gt; Read: http://backbonejs.org/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backbone-js&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/20: Images: Instagram API with Ruby-On-Rails and Carrierwave gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure that you have Rails installed. Think about what kind of App we can build during our class with Instagram API&lt;br /&gt;
Also would be good if you create Amazon Simple Storage Service (Amazon S3) (aws.amazon.com/s3/)&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/instagram-api-with-ruby-on-rails&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/13: Bootstrapping a Fresh Rails App&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll take a break from our blogs and create a brand new app.&lt;br /&gt;
&lt;br /&gt;
The goal is to learn the little gotchas associated with starting new projects as well as tips for getting up and running quickly. &lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html in preparation.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/bootstrapping-a-fresh-rails-app&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/6: Refactoring existing code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to take a look at refactoring an existing Rails up. Learn how to improve your models, controllers and views.&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/refactoring-existing-code&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/30: Image Uploads in Rails with TDD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/image-uploads-in-rails-with-tdd&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/23:  Calculating π with Object-Oriented Ruby and Test-Driven Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use our favorite programming language to calculate one of our favorite irrationals.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need Rails for this class; it&#039;s Ruby-only. Just bring a laptop with Ruby 1.9. &lt;br /&gt;
&lt;br /&gt;
Suggested Preparation &lt;br /&gt;
&lt;br /&gt;
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html &lt;br /&gt;
&lt;br /&gt;
http://blog.teamtreehouse.com/an-introduction-to-rspec&lt;br /&gt;
&lt;br /&gt;
RSVP here- http://rails-school.heroku.com/lessons/calculating-with-object-oriented-ruby-and-test-driven-development&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/16:  How to prepare your Rails app for production&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By choosing to build your web app in Rails, countless choices have been made for you that give you the best chance of a successful launch. Nevertheless, there are some details you will need to take care of on your own.&lt;br /&gt;
&lt;br /&gt;
In this class, we will implement the minimum precautionary steps to ensure the performance and security of our Rails apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have completed the Getting Started guide at http://guides.rubyonrails.org/getting_started.html and be ready to hack on your blogs in class.&lt;br /&gt;
&lt;br /&gt;
Recommended reading&lt;br /&gt;
http://guides.rubyonrails.org/security.html&lt;br /&gt;
http://guides.rubyonrails.org/caching_with_rails.html&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/how-to-prepare-your-rails-app-for-production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/9: Sending email using background workers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this class we will show how to send email using Rails. We will also utilize delayed_job gem to handle the actual email sending in the background. &lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
ActiveMailer: http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
Delayed Job: https://github.com/collectiveidea/delayed_job&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/sending-email-using-background-workers&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/2: Etherpad Bots&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etherpads are the shared docs we take our class notes on. &lt;br /&gt;
&lt;br /&gt;
Read about Etherpads here: http://etherpad.org/ &lt;br /&gt;
&lt;br /&gt;
We will target an Etherpad-Lite instance using Ruby.  Visit https://github.com/jhollinger/ruby-etherpad-lite to get some ideas what might be possible.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/etherpad-bots&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/25: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a) bootstrapping your development environment - follow&lt;br /&gt;
http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b) setting up a basic blog application - follow&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.&lt;br /&gt;
This class will be a looser format than usual, so everyone, please&lt;br /&gt;
bring snacks! If there&#039;s interest, we will get beers at Shotwell&#039;s&lt;br /&gt;
afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day--2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/18: Roll-your-own Chat App with the Goliath web server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rails isn&#039;t perfect for interactive, real-time, scalable apps. Let&#039;s play with Goliath, a Ruby-based web server that is.&lt;br /&gt;
&lt;br /&gt;
This is Ruby-only class for which no Rails experience is required. &lt;br /&gt;
&lt;br /&gt;
However, please complete this small tutorial on EventMachine beforehand: http://rubysource.com/introduction-to-event-machine/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/roll-your-own-chat-app-with-the-goliath-web-server&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/11: Scraping and Parsing the Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last resort when there is no API, scraping and parsing isn&#039;t much fun, but Ruby&#039;s got some great tools to alleviate the pain.&lt;br /&gt;
&lt;br /&gt;
Please bring some sources you want to scrape as well as ideas for what to do with the scraped data. &lt;br /&gt;
&lt;br /&gt;
The homework is to complete this tutorial on regular expressions:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-regular-expressions/ &lt;br /&gt;
&lt;br /&gt;
Regular expressions are a must-know tool when you&#039;re parsing textual data:http://xkcd.com/208/ &lt;br /&gt;
&lt;br /&gt;
But they&#039;re not the right tool for every problem:http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html&lt;br /&gt;
&lt;br /&gt;
This class is Ruby-only.  New students that are Ruby newbies, please complete http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html before class.  You don&#039;t need to know Rails are have completed the Rails getting started guide before attending Ruby-only classes like this one.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/scraping-and-parsing-the-web&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/4: Hacking around Foursquare API with ruby&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lets learn how easy it is to use Foursquare API with ruby {should be easy:)}&lt;br /&gt;
&lt;br /&gt;
Homework: &lt;br /&gt;
&lt;br /&gt;
1. generate ideas about how to use foursquare API and what apps could be made with it. &lt;br /&gt;
We will decide what app we are going to build at the beginning of the class. &lt;br /&gt;
&lt;br /&gt;
2. Scan through Foursquare API documentation https://developer.foursquare.com/ to know what is possible and what is not&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/hack-with-foursquare-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/28 Class: Self-posting Novelty Twitter Accounts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create bots that make interesting tweets periodically&lt;br /&gt;
&lt;br /&gt;
The homework is just to come up with a fun and simple idea for the tweets you want your bot to post.   Also, register your novelty twitter username and a twitter app: http://dev.twitter.com .  And make sure you have a heroku account set up.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also have a Ruby 101 break-out group for people that are not ready to program twitter bots.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/self-posting-novelty-twitter-accounts&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/21 Class: Dive into ActiveRecord&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be taking a deeper look at what is ActiveRecord (since it&#039;s such a big part of Rails)&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_querying.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/association_basics.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_validations_callbacks.html&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/activerecord&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/14 Class: Twitter API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Playing with twitter API to build fun apps&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
Twitter API docs: https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/7 Class: Ruby, API&#039;s, and Gems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No Rails today; Ruby, Rest API&#039;s and Ruby Gems instead!&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/31 Class: Rails&#039; Asset Pipeline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll look closely at asset organization, compilation, and packaging, and also check out SCSS and Coffeescript.&lt;br /&gt;
&lt;br /&gt;
Required Viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Understanding the Asset Pipeline&#039;&#039; by RailsCasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/279-understanding-the-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/rails-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/24 Class: Fun with the Stripe payment API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll hook up Stripe&#039;s API in our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please sign up for Stripe ahead of time - https://manage.stripe.com/register&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a handy link to Stripe&#039;s API docs - https://stripe.com/docs&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How I Explained REST to My Wife&#039;&#039; by Ryan Tomayko&lt;br /&gt;
&lt;br /&gt;
http://tomayko.com/writings/rest-to-my-wife&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/fun-with-the-stripe-payment-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/17 Class: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a)  bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b)  setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.  This class will be a looser format than usual, so everyone, please bring snacks!  If there&#039;s interest, we will get beers at Shotwell&#039;s afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/10 Class: Continuous Integration with Travis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Intro to CI including configuring our apps to run on Travis-CI.&lt;br /&gt;
&lt;br /&gt;
Please bring a Rails app that you&#039;ve already pushed to Github.&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Continuous Integration&#039;&#039; by Martin Fowler&lt;br /&gt;
&lt;br /&gt;
http://martinfowler.com/articles/continuousIntegration.html&lt;br /&gt;
&lt;br /&gt;
RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/3 Class: Playing with APIs&lt;br /&gt;
&lt;br /&gt;
Where: 7pm-9pm Tuesday in the Church classroom&lt;br /&gt;
&lt;br /&gt;
What: Using the Twitter API in your Rails app&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
&lt;br /&gt;
https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/26 Class: Layouts and Rendering in Rails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeting as usual 7pm-9pm Tuesday in the Church classroom.&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce&lt;br /&gt;
how to organize layouts, partial, templates, etc in Rails.&lt;br /&gt;
&lt;br /&gt;
Homework:&lt;br /&gt;
1. http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html &lt;br /&gt;
3. Also prepare some questions!! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/19 Class: Test-Driven-Development and Sending Emails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.&lt;br /&gt;
&lt;br /&gt;
New students and others interested will have the option of learning Ruby 101 separately.&lt;br /&gt;
&lt;br /&gt;
Homework: First make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial.  Then get as far as you can in both of the following tutorials.  Don&#039;t worry if you don&#039;t finish them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Mailer Basics&#039;&#039; by RailsGuides&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Request Specs and Capybara&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/257-request-specs-and-capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/12 Class: Dissecting the request lifecycle with pry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s investigate the journey of a request through Rails with some help from the debugging tool pry.&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rails 3 in a Nutshell&#039;&#039; by O&#039;Reilly, Chapter 2, up to and including the &#039;&#039;&#039;Controller&#039;&#039;&#039; section&lt;br /&gt;
&lt;br /&gt;
http://ofps.oreilly.com/titles/9780596521424/rails.html&lt;br /&gt;
&lt;br /&gt;
Required viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pry with Rails&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/280-pry-with-rails&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry&lt;br /&gt;
&lt;br /&gt;
Notes- http://beta.primarypad.com/p/G86Niu6EXz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/5 Class: Ajax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to continue our discussion of using Rails&#039; Unobtrusive Javascript framework to add ajax interaction to our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html so we&#039;re all on the same page.&lt;br /&gt;
&lt;br /&gt;
Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/KjI5Ic2327&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/29 Class: Intro to Product Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There&#039;s more to building web apps than hacking code, like figuring out what problem you&#039;re solving and how you&#039;ll know when you&#039;ve solved it.  This class we&#039;ll look at Michael&#039;s website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.&lt;br /&gt;
&lt;br /&gt;
Homework is to think about these questions, or come up with your own:&lt;br /&gt;
* Who are the target users of the class website?&lt;br /&gt;
* What utility do they need out of the site to start using it right away?&lt;br /&gt;
* What features could be added to open up the site to a larger audience?&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QjFPw7bflF&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/22 Class: Authentication with the Devise gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .  Seriously!&lt;br /&gt;
&lt;br /&gt;
Enough talking about awesome Rails gems, let&#039;s use one in an app.  We&#039;re going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.&lt;br /&gt;
&lt;br /&gt;
We will also have a beginners&#039; group for folks needing help getting Rails set up or wanting to learn Ruby.&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QC7KG7aKVB&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/15 Class: Demo Day!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .&lt;br /&gt;
&lt;br /&gt;
This class we&#039;re going to start with a show-and-tell of projects we&#039;re working on or have recently completed.  The demos don&#039;t have to be Ruby- or Rails-related, but should be related to web programming in some way.  This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.&lt;br /&gt;
&lt;br /&gt;
Then we&#039;ll break up into two groups, one for beginners and one for more experienced students.&lt;br /&gt;
&lt;br /&gt;
Notes - http://openetherpad.org/xsy1zKhrbj&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/8 Class: topic is BLOGS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.  &lt;br /&gt;
&lt;br /&gt;
Please post some links here to your favorite blogs.  We&#039;ll take a look at some blog features and talk about how they might be implemented.&lt;br /&gt;
&lt;br /&gt;
Gabe&#039;s pick: http://www.overheardinnewyork.com/&lt;br /&gt;
&lt;br /&gt;
Notes: http://openetherpad.org/sIYNUEPzld&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/2 Class:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notes: http://piratepad.net/dJupUHZoOP&lt;br /&gt;
&lt;br /&gt;
[[Category:Ruby]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Rails]]&lt;br /&gt;
[[Category:Classes]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28525</id>
		<title>Backend web dev in Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28525"/>
		<updated>2012-12-28T01:59:19Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.&lt;br /&gt;
&lt;br /&gt;
We meet Tuesdays 7pm-9pm in the Church room.  &lt;br /&gt;
&lt;br /&gt;
Approximately half of our lessons are on Ruby, and half Rails.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Ruby lessons, please have Ruby 1.9.3 installed on your machine.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Rails lessons, please follow this great, actively maintained Railsbridge guide -- http://installfest.railsbridge.org/installfest/installfest . Then create a blog app by completing this tutorial --  http://guides.rubyonrails.org/getting_started.html .  (we will build off the blog app extensively)&lt;br /&gt;
&lt;br /&gt;
Student, teachers, TA&#039;s needed and welcome!&lt;br /&gt;
&lt;br /&gt;
Join the google group here: https://groups.google.com/group/starmonkeys .  And visit our class website at http://www.railsschool.org .&lt;br /&gt;
&lt;br /&gt;
Use the google group or Discussion view of this page to ask questions or suggest ideas!&lt;br /&gt;
&lt;br /&gt;
And be sure to check out Jeremy&#039;s awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/1/13: Catch-up Day III&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An opportunity for new students to get personal help in meeting the class pre-requisites.&lt;br /&gt;
&lt;br /&gt;
Relevant FAQ links&lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Ruby_lesson  &lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Rails_lesson&lt;br /&gt;
&lt;br /&gt;
For the first time ever, we&#039;re going to be on Google Hangouts in order to include people unable to make it to Noisebridge. Check the Etherpad aka Whiteboard (http://www.railsschool.org/l/catch-up-day-iii/whiteboard) at 7pm PST for the Google Hangout link.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/catch-up-day-iii&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/18: Challenging Facebook API using Koala&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Building an app using very convenient Koala gem to play with Facebook API.&lt;br /&gt;
&lt;br /&gt;
Using very convenient Koala gem to play with Facebook API. Let&#039;s build a fun app during the class. Think about what fun apps we can build during our lesson? For example I was thinking about 1. an app that likes random posts on your friends feeds. 2. Shows your most liked photos&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/challenging-facebook-api-using-koala&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/11: Backends for Mobile Apps&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use the Rails API gem to build a backend to support a mobile app.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
&lt;br /&gt;
The Rails API Gem by RailsCasts -&lt;br /&gt;
http://railscasts.com/episodes/348-the-rails-api-gem&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backends-for-mobile-apps&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/4: Improving UX and Performance with Turblinks and Pjax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Turbolinks and pjax are techniques that avoid page reloads when navigating a site.  &lt;br /&gt;
&lt;br /&gt;
Turbolinks can be added to an existing app with hardly any changes needed, and will be enabled by default in Rails 4.&lt;br /&gt;
&lt;br /&gt;
Pjax is used by Github, for example, to allow users to quickly navigate repositories.&lt;br /&gt;
&lt;br /&gt;
We will dust off our blog apps, turn on Turbolinks and observe the difference, then implement a little bit of pjax.&lt;br /&gt;
&lt;br /&gt;
Please make sure your blog app is functioning.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
http://railscasts.com/episodes/294-playing-with-pjax&lt;br /&gt;
http://railscasts.com/episodes/390-turbolinks&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/improving-ux-and-performance-with-turblinks-and-pjax&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/27: Backbone.js with Rails and creating an API for your app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementing hot frontend framework backbone.js in rails application. Creating API for your app. Homework -&amp;gt; Read: http://backbonejs.org/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backbone-js&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/20: Images: Instagram API with Ruby-On-Rails and Carrierwave gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure that you have Rails installed. Think about what kind of App we can build during our class with Instagram API&lt;br /&gt;
Also would be good if you create Amazon Simple Storage Service (Amazon S3) (aws.amazon.com/s3/)&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/instagram-api-with-ruby-on-rails&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/13: Bootstrapping a Fresh Rails App&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll take a break from our blogs and create a brand new app.&lt;br /&gt;
&lt;br /&gt;
The goal is to learn the little gotchas associated with starting new projects as well as tips for getting up and running quickly. &lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html in preparation.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/bootstrapping-a-fresh-rails-app&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/6: Refactoring existing code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to take a look at refactoring an existing Rails up. Learn how to improve your models, controllers and views.&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/refactoring-existing-code&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/30: Image Uploads in Rails with TDD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/image-uploads-in-rails-with-tdd&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/23:  Calculating π with Object-Oriented Ruby and Test-Driven Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use our favorite programming language to calculate one of our favorite irrationals.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need Rails for this class; it&#039;s Ruby-only. Just bring a laptop with Ruby 1.9. &lt;br /&gt;
&lt;br /&gt;
Suggested Preparation &lt;br /&gt;
&lt;br /&gt;
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html &lt;br /&gt;
&lt;br /&gt;
http://blog.teamtreehouse.com/an-introduction-to-rspec&lt;br /&gt;
&lt;br /&gt;
RSVP here- http://rails-school.heroku.com/lessons/calculating-with-object-oriented-ruby-and-test-driven-development&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/16:  How to prepare your Rails app for production&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By choosing to build your web app in Rails, countless choices have been made for you that give you the best chance of a successful launch. Nevertheless, there are some details you will need to take care of on your own.&lt;br /&gt;
&lt;br /&gt;
In this class, we will implement the minimum precautionary steps to ensure the performance and security of our Rails apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have completed the Getting Started guide at http://guides.rubyonrails.org/getting_started.html and be ready to hack on your blogs in class.&lt;br /&gt;
&lt;br /&gt;
Recommended reading&lt;br /&gt;
http://guides.rubyonrails.org/security.html&lt;br /&gt;
http://guides.rubyonrails.org/caching_with_rails.html&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/how-to-prepare-your-rails-app-for-production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/9: Sending email using background workers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this class we will show how to send email using Rails. We will also utilize delayed_job gem to handle the actual email sending in the background. &lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
ActiveMailer: http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
Delayed Job: https://github.com/collectiveidea/delayed_job&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/sending-email-using-background-workers&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/2: Etherpad Bots&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etherpads are the shared docs we take our class notes on. &lt;br /&gt;
&lt;br /&gt;
Read about Etherpads here: http://etherpad.org/ &lt;br /&gt;
&lt;br /&gt;
We will target an Etherpad-Lite instance using Ruby.  Visit https://github.com/jhollinger/ruby-etherpad-lite to get some ideas what might be possible.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/etherpad-bots&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/25: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a) bootstrapping your development environment - follow&lt;br /&gt;
http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b) setting up a basic blog application - follow&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.&lt;br /&gt;
This class will be a looser format than usual, so everyone, please&lt;br /&gt;
bring snacks! If there&#039;s interest, we will get beers at Shotwell&#039;s&lt;br /&gt;
afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day--2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/18: Roll-your-own Chat App with the Goliath web server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rails isn&#039;t perfect for interactive, real-time, scalable apps. Let&#039;s play with Goliath, a Ruby-based web server that is.&lt;br /&gt;
&lt;br /&gt;
This is Ruby-only class for which no Rails experience is required. &lt;br /&gt;
&lt;br /&gt;
However, please complete this small tutorial on EventMachine beforehand: http://rubysource.com/introduction-to-event-machine/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/roll-your-own-chat-app-with-the-goliath-web-server&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/11: Scraping and Parsing the Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last resort when there is no API, scraping and parsing isn&#039;t much fun, but Ruby&#039;s got some great tools to alleviate the pain.&lt;br /&gt;
&lt;br /&gt;
Please bring some sources you want to scrape as well as ideas for what to do with the scraped data. &lt;br /&gt;
&lt;br /&gt;
The homework is to complete this tutorial on regular expressions:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-regular-expressions/ &lt;br /&gt;
&lt;br /&gt;
Regular expressions are a must-know tool when you&#039;re parsing textual data:http://xkcd.com/208/ &lt;br /&gt;
&lt;br /&gt;
But they&#039;re not the right tool for every problem:http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html&lt;br /&gt;
&lt;br /&gt;
This class is Ruby-only.  New students that are Ruby newbies, please complete http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html before class.  You don&#039;t need to know Rails are have completed the Rails getting started guide before attending Ruby-only classes like this one.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/scraping-and-parsing-the-web&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/4: Hacking around Foursquare API with ruby&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lets learn how easy it is to use Foursquare API with ruby {should be easy:)}&lt;br /&gt;
&lt;br /&gt;
Homework: &lt;br /&gt;
&lt;br /&gt;
1. generate ideas about how to use foursquare API and what apps could be made with it. &lt;br /&gt;
We will decide what app we are going to build at the beginning of the class. &lt;br /&gt;
&lt;br /&gt;
2. Scan through Foursquare API documentation https://developer.foursquare.com/ to know what is possible and what is not&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/hack-with-foursquare-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/28 Class: Self-posting Novelty Twitter Accounts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create bots that make interesting tweets periodically&lt;br /&gt;
&lt;br /&gt;
The homework is just to come up with a fun and simple idea for the tweets you want your bot to post.   Also, register your novelty twitter username and a twitter app: http://dev.twitter.com .  And make sure you have a heroku account set up.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also have a Ruby 101 break-out group for people that are not ready to program twitter bots.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/self-posting-novelty-twitter-accounts&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/21 Class: Dive into ActiveRecord&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be taking a deeper look at what is ActiveRecord (since it&#039;s such a big part of Rails)&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_querying.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/association_basics.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_validations_callbacks.html&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/activerecord&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/14 Class: Twitter API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Playing with twitter API to build fun apps&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
Twitter API docs: https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/7 Class: Ruby, API&#039;s, and Gems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No Rails today; Ruby, Rest API&#039;s and Ruby Gems instead!&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/31 Class: Rails&#039; Asset Pipeline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll look closely at asset organization, compilation, and packaging, and also check out SCSS and Coffeescript.&lt;br /&gt;
&lt;br /&gt;
Required Viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Understanding the Asset Pipeline&#039;&#039; by RailsCasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/279-understanding-the-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/rails-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/24 Class: Fun with the Stripe payment API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll hook up Stripe&#039;s API in our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please sign up for Stripe ahead of time - https://manage.stripe.com/register&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a handy link to Stripe&#039;s API docs - https://stripe.com/docs&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How I Explained REST to My Wife&#039;&#039; by Ryan Tomayko&lt;br /&gt;
&lt;br /&gt;
http://tomayko.com/writings/rest-to-my-wife&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/fun-with-the-stripe-payment-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/17 Class: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a)  bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b)  setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.  This class will be a looser format than usual, so everyone, please bring snacks!  If there&#039;s interest, we will get beers at Shotwell&#039;s afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/10 Class: Continuous Integration with Travis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Intro to CI including configuring our apps to run on Travis-CI.&lt;br /&gt;
&lt;br /&gt;
Please bring a Rails app that you&#039;ve already pushed to Github.&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Continuous Integration&#039;&#039; by Martin Fowler&lt;br /&gt;
&lt;br /&gt;
http://martinfowler.com/articles/continuousIntegration.html&lt;br /&gt;
&lt;br /&gt;
RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/3 Class: Playing with APIs&lt;br /&gt;
&lt;br /&gt;
Where: 7pm-9pm Tuesday in the Church classroom&lt;br /&gt;
&lt;br /&gt;
What: Using the Twitter API in your Rails app&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
&lt;br /&gt;
https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/26 Class: Layouts and Rendering in Rails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeting as usual 7pm-9pm Tuesday in the Church classroom.&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce&lt;br /&gt;
how to organize layouts, partial, templates, etc in Rails.&lt;br /&gt;
&lt;br /&gt;
Homework:&lt;br /&gt;
1. http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html &lt;br /&gt;
3. Also prepare some questions!! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/19 Class: Test-Driven-Development and Sending Emails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.&lt;br /&gt;
&lt;br /&gt;
New students and others interested will have the option of learning Ruby 101 separately.&lt;br /&gt;
&lt;br /&gt;
Homework: First make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial.  Then get as far as you can in both of the following tutorials.  Don&#039;t worry if you don&#039;t finish them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Mailer Basics&#039;&#039; by RailsGuides&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Request Specs and Capybara&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/257-request-specs-and-capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/12 Class: Dissecting the request lifecycle with pry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s investigate the journey of a request through Rails with some help from the debugging tool pry.&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rails 3 in a Nutshell&#039;&#039; by O&#039;Reilly, Chapter 2, up to and including the &#039;&#039;&#039;Controller&#039;&#039;&#039; section&lt;br /&gt;
&lt;br /&gt;
http://ofps.oreilly.com/titles/9780596521424/rails.html&lt;br /&gt;
&lt;br /&gt;
Required viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pry with Rails&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/280-pry-with-rails&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry&lt;br /&gt;
&lt;br /&gt;
Notes- http://beta.primarypad.com/p/G86Niu6EXz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/5 Class: Ajax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to continue our discussion of using Rails&#039; Unobtrusive Javascript framework to add ajax interaction to our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html so we&#039;re all on the same page.&lt;br /&gt;
&lt;br /&gt;
Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/KjI5Ic2327&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/29 Class: Intro to Product Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There&#039;s more to building web apps than hacking code, like figuring out what problem you&#039;re solving and how you&#039;ll know when you&#039;ve solved it.  This class we&#039;ll look at Michael&#039;s website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.&lt;br /&gt;
&lt;br /&gt;
Homework is to think about these questions, or come up with your own:&lt;br /&gt;
* Who are the target users of the class website?&lt;br /&gt;
* What utility do they need out of the site to start using it right away?&lt;br /&gt;
* What features could be added to open up the site to a larger audience?&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QjFPw7bflF&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/22 Class: Authentication with the Devise gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .  Seriously!&lt;br /&gt;
&lt;br /&gt;
Enough talking about awesome Rails gems, let&#039;s use one in an app.  We&#039;re going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.&lt;br /&gt;
&lt;br /&gt;
We will also have a beginners&#039; group for folks needing help getting Rails set up or wanting to learn Ruby.&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QC7KG7aKVB&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/15 Class: Demo Day!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .&lt;br /&gt;
&lt;br /&gt;
This class we&#039;re going to start with a show-and-tell of projects we&#039;re working on or have recently completed.  The demos don&#039;t have to be Ruby- or Rails-related, but should be related to web programming in some way.  This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.&lt;br /&gt;
&lt;br /&gt;
Then we&#039;ll break up into two groups, one for beginners and one for more experienced students.&lt;br /&gt;
&lt;br /&gt;
Notes - http://openetherpad.org/xsy1zKhrbj&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/8 Class: topic is BLOGS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.  &lt;br /&gt;
&lt;br /&gt;
Please post some links here to your favorite blogs.  We&#039;ll take a look at some blog features and talk about how they might be implemented.&lt;br /&gt;
&lt;br /&gt;
Gabe&#039;s pick: http://www.overheardinnewyork.com/&lt;br /&gt;
&lt;br /&gt;
Notes: http://openetherpad.org/sIYNUEPzld&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/2 Class:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notes: http://piratepad.net/dJupUHZoOP&lt;br /&gt;
&lt;br /&gt;
[[Category:Ruby]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Rails]]&lt;br /&gt;
[[Category:Classes]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28510</id>
		<title>Backend web dev in Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28510"/>
		<updated>2012-12-27T18:58:16Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.&lt;br /&gt;
&lt;br /&gt;
We meet Tuesdays 7pm-9pm in the Church room.  &lt;br /&gt;
&lt;br /&gt;
Approximately half of our lessons are on Ruby, and half Rails.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Ruby lessons, please have Ruby 1.9.3 installed on your machine.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Rails lessons, please follow this great, actively maintained Railsbridge guide -- http://installfest.railsbridge.org/installfest/installfest . Then create a blog app by completing this tutorial --  http://guides.rubyonrails.org/getting_started.html .  (we will build off the blog app extensively)&lt;br /&gt;
&lt;br /&gt;
Student, teachers, TA&#039;s needed and welcome!&lt;br /&gt;
&lt;br /&gt;
Join the google group here: https://groups.google.com/group/starmonkeys .  And visit our class website at http://www.railsschool.org .&lt;br /&gt;
&lt;br /&gt;
Use the google group or Discussion view of this page to ask questions or suggest ideas!&lt;br /&gt;
&lt;br /&gt;
And be sure to check out Jeremy&#039;s awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/1/13: Catch-up Day III&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An opportunity for new students to get personal help in meeting the class pre-requisites.&lt;br /&gt;
&lt;br /&gt;
Relevant FAQ links&lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Ruby_lesson  &lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Rails_lesson&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/catch-up-day-iii&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/18: Challenging Facebook API using Koala&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Building an app using very convenient Koala gem to play with Facebook API.&lt;br /&gt;
&lt;br /&gt;
Using very convenient Koala gem to play with Facebook API. Let&#039;s build a fun app during the class. Think about what fun apps we can build during our lesson? For example I was thinking about 1. an app that likes random posts on your friends feeds. 2. Shows your most liked photos&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/challenging-facebook-api-using-koala&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/11: Backends for Mobile Apps&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use the Rails API gem to build a backend to support a mobile app.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
&lt;br /&gt;
The Rails API Gem by RailsCasts -&lt;br /&gt;
http://railscasts.com/episodes/348-the-rails-api-gem&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backends-for-mobile-apps&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/4: Improving UX and Performance with Turblinks and Pjax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Turbolinks and pjax are techniques that avoid page reloads when navigating a site.  &lt;br /&gt;
&lt;br /&gt;
Turbolinks can be added to an existing app with hardly any changes needed, and will be enabled by default in Rails 4.&lt;br /&gt;
&lt;br /&gt;
Pjax is used by Github, for example, to allow users to quickly navigate repositories.&lt;br /&gt;
&lt;br /&gt;
We will dust off our blog apps, turn on Turbolinks and observe the difference, then implement a little bit of pjax.&lt;br /&gt;
&lt;br /&gt;
Please make sure your blog app is functioning.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
http://railscasts.com/episodes/294-playing-with-pjax&lt;br /&gt;
http://railscasts.com/episodes/390-turbolinks&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/improving-ux-and-performance-with-turblinks-and-pjax&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/27: Backbone.js with Rails and creating an API for your app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementing hot frontend framework backbone.js in rails application. Creating API for your app. Homework -&amp;gt; Read: http://backbonejs.org/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backbone-js&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/20: Images: Instagram API with Ruby-On-Rails and Carrierwave gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure that you have Rails installed. Think about what kind of App we can build during our class with Instagram API&lt;br /&gt;
Also would be good if you create Amazon Simple Storage Service (Amazon S3) (aws.amazon.com/s3/)&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/instagram-api-with-ruby-on-rails&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/13: Bootstrapping a Fresh Rails App&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll take a break from our blogs and create a brand new app.&lt;br /&gt;
&lt;br /&gt;
The goal is to learn the little gotchas associated with starting new projects as well as tips for getting up and running quickly. &lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html in preparation.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/bootstrapping-a-fresh-rails-app&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/6: Refactoring existing code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to take a look at refactoring an existing Rails up. Learn how to improve your models, controllers and views.&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/refactoring-existing-code&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/30: Image Uploads in Rails with TDD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/image-uploads-in-rails-with-tdd&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/23:  Calculating π with Object-Oriented Ruby and Test-Driven Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use our favorite programming language to calculate one of our favorite irrationals.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need Rails for this class; it&#039;s Ruby-only. Just bring a laptop with Ruby 1.9. &lt;br /&gt;
&lt;br /&gt;
Suggested Preparation &lt;br /&gt;
&lt;br /&gt;
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html &lt;br /&gt;
&lt;br /&gt;
http://blog.teamtreehouse.com/an-introduction-to-rspec&lt;br /&gt;
&lt;br /&gt;
RSVP here- http://rails-school.heroku.com/lessons/calculating-with-object-oriented-ruby-and-test-driven-development&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/16:  How to prepare your Rails app for production&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By choosing to build your web app in Rails, countless choices have been made for you that give you the best chance of a successful launch. Nevertheless, there are some details you will need to take care of on your own.&lt;br /&gt;
&lt;br /&gt;
In this class, we will implement the minimum precautionary steps to ensure the performance and security of our Rails apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have completed the Getting Started guide at http://guides.rubyonrails.org/getting_started.html and be ready to hack on your blogs in class.&lt;br /&gt;
&lt;br /&gt;
Recommended reading&lt;br /&gt;
http://guides.rubyonrails.org/security.html&lt;br /&gt;
http://guides.rubyonrails.org/caching_with_rails.html&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/how-to-prepare-your-rails-app-for-production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/9: Sending email using background workers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this class we will show how to send email using Rails. We will also utilize delayed_job gem to handle the actual email sending in the background. &lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
ActiveMailer: http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
Delayed Job: https://github.com/collectiveidea/delayed_job&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/sending-email-using-background-workers&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/2: Etherpad Bots&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etherpads are the shared docs we take our class notes on. &lt;br /&gt;
&lt;br /&gt;
Read about Etherpads here: http://etherpad.org/ &lt;br /&gt;
&lt;br /&gt;
We will target an Etherpad-Lite instance using Ruby.  Visit https://github.com/jhollinger/ruby-etherpad-lite to get some ideas what might be possible.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/etherpad-bots&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/25: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a) bootstrapping your development environment - follow&lt;br /&gt;
http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b) setting up a basic blog application - follow&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.&lt;br /&gt;
This class will be a looser format than usual, so everyone, please&lt;br /&gt;
bring snacks! If there&#039;s interest, we will get beers at Shotwell&#039;s&lt;br /&gt;
afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day--2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/18: Roll-your-own Chat App with the Goliath web server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rails isn&#039;t perfect for interactive, real-time, scalable apps. Let&#039;s play with Goliath, a Ruby-based web server that is.&lt;br /&gt;
&lt;br /&gt;
This is Ruby-only class for which no Rails experience is required. &lt;br /&gt;
&lt;br /&gt;
However, please complete this small tutorial on EventMachine beforehand: http://rubysource.com/introduction-to-event-machine/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/roll-your-own-chat-app-with-the-goliath-web-server&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/11: Scraping and Parsing the Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last resort when there is no API, scraping and parsing isn&#039;t much fun, but Ruby&#039;s got some great tools to alleviate the pain.&lt;br /&gt;
&lt;br /&gt;
Please bring some sources you want to scrape as well as ideas for what to do with the scraped data. &lt;br /&gt;
&lt;br /&gt;
The homework is to complete this tutorial on regular expressions:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-regular-expressions/ &lt;br /&gt;
&lt;br /&gt;
Regular expressions are a must-know tool when you&#039;re parsing textual data:http://xkcd.com/208/ &lt;br /&gt;
&lt;br /&gt;
But they&#039;re not the right tool for every problem:http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html&lt;br /&gt;
&lt;br /&gt;
This class is Ruby-only.  New students that are Ruby newbies, please complete http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html before class.  You don&#039;t need to know Rails are have completed the Rails getting started guide before attending Ruby-only classes like this one.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/scraping-and-parsing-the-web&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/4: Hacking around Foursquare API with ruby&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lets learn how easy it is to use Foursquare API with ruby {should be easy:)}&lt;br /&gt;
&lt;br /&gt;
Homework: &lt;br /&gt;
&lt;br /&gt;
1. generate ideas about how to use foursquare API and what apps could be made with it. &lt;br /&gt;
We will decide what app we are going to build at the beginning of the class. &lt;br /&gt;
&lt;br /&gt;
2. Scan through Foursquare API documentation https://developer.foursquare.com/ to know what is possible and what is not&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/hack-with-foursquare-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/28 Class: Self-posting Novelty Twitter Accounts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create bots that make interesting tweets periodically&lt;br /&gt;
&lt;br /&gt;
The homework is just to come up with a fun and simple idea for the tweets you want your bot to post.   Also, register your novelty twitter username and a twitter app: http://dev.twitter.com .  And make sure you have a heroku account set up.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also have a Ruby 101 break-out group for people that are not ready to program twitter bots.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/self-posting-novelty-twitter-accounts&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/21 Class: Dive into ActiveRecord&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be taking a deeper look at what is ActiveRecord (since it&#039;s such a big part of Rails)&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_querying.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/association_basics.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_validations_callbacks.html&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/activerecord&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/14 Class: Twitter API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Playing with twitter API to build fun apps&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
Twitter API docs: https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/7 Class: Ruby, API&#039;s, and Gems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No Rails today; Ruby, Rest API&#039;s and Ruby Gems instead!&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/31 Class: Rails&#039; Asset Pipeline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll look closely at asset organization, compilation, and packaging, and also check out SCSS and Coffeescript.&lt;br /&gt;
&lt;br /&gt;
Required Viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Understanding the Asset Pipeline&#039;&#039; by RailsCasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/279-understanding-the-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/rails-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/24 Class: Fun with the Stripe payment API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll hook up Stripe&#039;s API in our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please sign up for Stripe ahead of time - https://manage.stripe.com/register&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a handy link to Stripe&#039;s API docs - https://stripe.com/docs&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How I Explained REST to My Wife&#039;&#039; by Ryan Tomayko&lt;br /&gt;
&lt;br /&gt;
http://tomayko.com/writings/rest-to-my-wife&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/fun-with-the-stripe-payment-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/17 Class: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a)  bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b)  setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.  This class will be a looser format than usual, so everyone, please bring snacks!  If there&#039;s interest, we will get beers at Shotwell&#039;s afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/10 Class: Continuous Integration with Travis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Intro to CI including configuring our apps to run on Travis-CI.&lt;br /&gt;
&lt;br /&gt;
Please bring a Rails app that you&#039;ve already pushed to Github.&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Continuous Integration&#039;&#039; by Martin Fowler&lt;br /&gt;
&lt;br /&gt;
http://martinfowler.com/articles/continuousIntegration.html&lt;br /&gt;
&lt;br /&gt;
RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/3 Class: Playing with APIs&lt;br /&gt;
&lt;br /&gt;
Where: 7pm-9pm Tuesday in the Church classroom&lt;br /&gt;
&lt;br /&gt;
What: Using the Twitter API in your Rails app&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
&lt;br /&gt;
https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/26 Class: Layouts and Rendering in Rails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeting as usual 7pm-9pm Tuesday in the Church classroom.&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce&lt;br /&gt;
how to organize layouts, partial, templates, etc in Rails.&lt;br /&gt;
&lt;br /&gt;
Homework:&lt;br /&gt;
1. http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html &lt;br /&gt;
3. Also prepare some questions!! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/19 Class: Test-Driven-Development and Sending Emails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.&lt;br /&gt;
&lt;br /&gt;
New students and others interested will have the option of learning Ruby 101 separately.&lt;br /&gt;
&lt;br /&gt;
Homework: First make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial.  Then get as far as you can in both of the following tutorials.  Don&#039;t worry if you don&#039;t finish them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Mailer Basics&#039;&#039; by RailsGuides&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Request Specs and Capybara&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/257-request-specs-and-capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/12 Class: Dissecting the request lifecycle with pry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s investigate the journey of a request through Rails with some help from the debugging tool pry.&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rails 3 in a Nutshell&#039;&#039; by O&#039;Reilly, Chapter 2, up to and including the &#039;&#039;&#039;Controller&#039;&#039;&#039; section&lt;br /&gt;
&lt;br /&gt;
http://ofps.oreilly.com/titles/9780596521424/rails.html&lt;br /&gt;
&lt;br /&gt;
Required viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pry with Rails&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/280-pry-with-rails&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry&lt;br /&gt;
&lt;br /&gt;
Notes- http://beta.primarypad.com/p/G86Niu6EXz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/5 Class: Ajax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to continue our discussion of using Rails&#039; Unobtrusive Javascript framework to add ajax interaction to our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html so we&#039;re all on the same page.&lt;br /&gt;
&lt;br /&gt;
Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/KjI5Ic2327&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/29 Class: Intro to Product Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There&#039;s more to building web apps than hacking code, like figuring out what problem you&#039;re solving and how you&#039;ll know when you&#039;ve solved it.  This class we&#039;ll look at Michael&#039;s website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.&lt;br /&gt;
&lt;br /&gt;
Homework is to think about these questions, or come up with your own:&lt;br /&gt;
* Who are the target users of the class website?&lt;br /&gt;
* What utility do they need out of the site to start using it right away?&lt;br /&gt;
* What features could be added to open up the site to a larger audience?&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QjFPw7bflF&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/22 Class: Authentication with the Devise gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .  Seriously!&lt;br /&gt;
&lt;br /&gt;
Enough talking about awesome Rails gems, let&#039;s use one in an app.  We&#039;re going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.&lt;br /&gt;
&lt;br /&gt;
We will also have a beginners&#039; group for folks needing help getting Rails set up or wanting to learn Ruby.&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QC7KG7aKVB&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/15 Class: Demo Day!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .&lt;br /&gt;
&lt;br /&gt;
This class we&#039;re going to start with a show-and-tell of projects we&#039;re working on or have recently completed.  The demos don&#039;t have to be Ruby- or Rails-related, but should be related to web programming in some way.  This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.&lt;br /&gt;
&lt;br /&gt;
Then we&#039;ll break up into two groups, one for beginners and one for more experienced students.&lt;br /&gt;
&lt;br /&gt;
Notes - http://openetherpad.org/xsy1zKhrbj&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/8 Class: topic is BLOGS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.  &lt;br /&gt;
&lt;br /&gt;
Please post some links here to your favorite blogs.  We&#039;ll take a look at some blog features and talk about how they might be implemented.&lt;br /&gt;
&lt;br /&gt;
Gabe&#039;s pick: http://www.overheardinnewyork.com/&lt;br /&gt;
&lt;br /&gt;
Notes: http://openetherpad.org/sIYNUEPzld&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/2 Class:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notes: http://piratepad.net/dJupUHZoOP&lt;br /&gt;
&lt;br /&gt;
[[Category:Ruby]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Rails]]&lt;br /&gt;
[[Category:Classes]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28509</id>
		<title>Backend web dev in Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28509"/>
		<updated>2012-12-27T18:56:10Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.&lt;br /&gt;
&lt;br /&gt;
We meet Tuesdays 7pm-9pm in the Church room.  &lt;br /&gt;
&lt;br /&gt;
Approximately half of our lessons are on Ruby, and half Rails.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Ruby lessons, please have Ruby 1.9.3 installed on your machine.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Rails lessons, please follow this great, actively maintained Railsbridge guide -- http://installfest.railsbridge.org/installfest/installfest . Then create a blog app by completing this tutorial --  http://guides.rubyonrails.org/getting_started.html .  (we will build off the blog app extensively)&lt;br /&gt;
&lt;br /&gt;
Student, teachers, TA&#039;s needed and welcome!&lt;br /&gt;
&lt;br /&gt;
Join the google group here: https://groups.google.com/group/starmonkeys .  And visit our class website at http://www.railsschool.org .&lt;br /&gt;
&lt;br /&gt;
Use the google group or Discussion view of this page to ask questions or suggest ideas!&lt;br /&gt;
&lt;br /&gt;
And be sure to check out Jeremy&#039;s awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/1/13: Catch-up Day III&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An opportunity for new students to get personal help in meeting the class pre-requisites.&lt;br /&gt;
&lt;br /&gt;
Relevant FAQ links&lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Ruby_lesson  &lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Rails_lesson&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/challenging-facebook-api-using-koala&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/18: Challenging Facebook API using Koala&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Building an app using very convenient Koala gem to play with Facebook API.&lt;br /&gt;
&lt;br /&gt;
Using very convenient Koala gem to play with Facebook API. Let&#039;s build a fun app during the class. Think about what fun apps we can build during our lesson? For example I was thinking about 1. an app that likes random posts on your friends feeds. 2. Shows your most liked photos&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/challenging-facebook-api-using-koala&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/11: Backends for Mobile Apps&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use the Rails API gem to build a backend to support a mobile app.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
&lt;br /&gt;
The Rails API Gem by RailsCasts -&lt;br /&gt;
http://railscasts.com/episodes/348-the-rails-api-gem&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backends-for-mobile-apps&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/4: Improving UX and Performance with Turblinks and Pjax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Turbolinks and pjax are techniques that avoid page reloads when navigating a site.  &lt;br /&gt;
&lt;br /&gt;
Turbolinks can be added to an existing app with hardly any changes needed, and will be enabled by default in Rails 4.&lt;br /&gt;
&lt;br /&gt;
Pjax is used by Github, for example, to allow users to quickly navigate repositories.&lt;br /&gt;
&lt;br /&gt;
We will dust off our blog apps, turn on Turbolinks and observe the difference, then implement a little bit of pjax.&lt;br /&gt;
&lt;br /&gt;
Please make sure your blog app is functioning.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
http://railscasts.com/episodes/294-playing-with-pjax&lt;br /&gt;
http://railscasts.com/episodes/390-turbolinks&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/improving-ux-and-performance-with-turblinks-and-pjax&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/27: Backbone.js with Rails and creating an API for your app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementing hot frontend framework backbone.js in rails application. Creating API for your app. Homework -&amp;gt; Read: http://backbonejs.org/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backbone-js&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/20: Images: Instagram API with Ruby-On-Rails and Carrierwave gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure that you have Rails installed. Think about what kind of App we can build during our class with Instagram API&lt;br /&gt;
Also would be good if you create Amazon Simple Storage Service (Amazon S3) (aws.amazon.com/s3/)&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/instagram-api-with-ruby-on-rails&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/13: Bootstrapping a Fresh Rails App&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll take a break from our blogs and create a brand new app.&lt;br /&gt;
&lt;br /&gt;
The goal is to learn the little gotchas associated with starting new projects as well as tips for getting up and running quickly. &lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html in preparation.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/bootstrapping-a-fresh-rails-app&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/6: Refactoring existing code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to take a look at refactoring an existing Rails up. Learn how to improve your models, controllers and views.&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/refactoring-existing-code&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/30: Image Uploads in Rails with TDD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/image-uploads-in-rails-with-tdd&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/23:  Calculating π with Object-Oriented Ruby and Test-Driven Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use our favorite programming language to calculate one of our favorite irrationals.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need Rails for this class; it&#039;s Ruby-only. Just bring a laptop with Ruby 1.9. &lt;br /&gt;
&lt;br /&gt;
Suggested Preparation &lt;br /&gt;
&lt;br /&gt;
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html &lt;br /&gt;
&lt;br /&gt;
http://blog.teamtreehouse.com/an-introduction-to-rspec&lt;br /&gt;
&lt;br /&gt;
RSVP here- http://rails-school.heroku.com/lessons/calculating-with-object-oriented-ruby-and-test-driven-development&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/16:  How to prepare your Rails app for production&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By choosing to build your web app in Rails, countless choices have been made for you that give you the best chance of a successful launch. Nevertheless, there are some details you will need to take care of on your own.&lt;br /&gt;
&lt;br /&gt;
In this class, we will implement the minimum precautionary steps to ensure the performance and security of our Rails apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have completed the Getting Started guide at http://guides.rubyonrails.org/getting_started.html and be ready to hack on your blogs in class.&lt;br /&gt;
&lt;br /&gt;
Recommended reading&lt;br /&gt;
http://guides.rubyonrails.org/security.html&lt;br /&gt;
http://guides.rubyonrails.org/caching_with_rails.html&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/how-to-prepare-your-rails-app-for-production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/9: Sending email using background workers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this class we will show how to send email using Rails. We will also utilize delayed_job gem to handle the actual email sending in the background. &lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
ActiveMailer: http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
Delayed Job: https://github.com/collectiveidea/delayed_job&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/sending-email-using-background-workers&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/2: Etherpad Bots&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etherpads are the shared docs we take our class notes on. &lt;br /&gt;
&lt;br /&gt;
Read about Etherpads here: http://etherpad.org/ &lt;br /&gt;
&lt;br /&gt;
We will target an Etherpad-Lite instance using Ruby.  Visit https://github.com/jhollinger/ruby-etherpad-lite to get some ideas what might be possible.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/etherpad-bots&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/25: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a) bootstrapping your development environment - follow&lt;br /&gt;
http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b) setting up a basic blog application - follow&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.&lt;br /&gt;
This class will be a looser format than usual, so everyone, please&lt;br /&gt;
bring snacks! If there&#039;s interest, we will get beers at Shotwell&#039;s&lt;br /&gt;
afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day--2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/18: Roll-your-own Chat App with the Goliath web server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rails isn&#039;t perfect for interactive, real-time, scalable apps. Let&#039;s play with Goliath, a Ruby-based web server that is.&lt;br /&gt;
&lt;br /&gt;
This is Ruby-only class for which no Rails experience is required. &lt;br /&gt;
&lt;br /&gt;
However, please complete this small tutorial on EventMachine beforehand: http://rubysource.com/introduction-to-event-machine/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/roll-your-own-chat-app-with-the-goliath-web-server&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/11: Scraping and Parsing the Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last resort when there is no API, scraping and parsing isn&#039;t much fun, but Ruby&#039;s got some great tools to alleviate the pain.&lt;br /&gt;
&lt;br /&gt;
Please bring some sources you want to scrape as well as ideas for what to do with the scraped data. &lt;br /&gt;
&lt;br /&gt;
The homework is to complete this tutorial on regular expressions:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-regular-expressions/ &lt;br /&gt;
&lt;br /&gt;
Regular expressions are a must-know tool when you&#039;re parsing textual data:http://xkcd.com/208/ &lt;br /&gt;
&lt;br /&gt;
But they&#039;re not the right tool for every problem:http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html&lt;br /&gt;
&lt;br /&gt;
This class is Ruby-only.  New students that are Ruby newbies, please complete http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html before class.  You don&#039;t need to know Rails are have completed the Rails getting started guide before attending Ruby-only classes like this one.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/scraping-and-parsing-the-web&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/4: Hacking around Foursquare API with ruby&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lets learn how easy it is to use Foursquare API with ruby {should be easy:)}&lt;br /&gt;
&lt;br /&gt;
Homework: &lt;br /&gt;
&lt;br /&gt;
1. generate ideas about how to use foursquare API and what apps could be made with it. &lt;br /&gt;
We will decide what app we are going to build at the beginning of the class. &lt;br /&gt;
&lt;br /&gt;
2. Scan through Foursquare API documentation https://developer.foursquare.com/ to know what is possible and what is not&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/hack-with-foursquare-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/28 Class: Self-posting Novelty Twitter Accounts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create bots that make interesting tweets periodically&lt;br /&gt;
&lt;br /&gt;
The homework is just to come up with a fun and simple idea for the tweets you want your bot to post.   Also, register your novelty twitter username and a twitter app: http://dev.twitter.com .  And make sure you have a heroku account set up.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also have a Ruby 101 break-out group for people that are not ready to program twitter bots.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/self-posting-novelty-twitter-accounts&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/21 Class: Dive into ActiveRecord&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be taking a deeper look at what is ActiveRecord (since it&#039;s such a big part of Rails)&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_querying.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/association_basics.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_validations_callbacks.html&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/activerecord&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/14 Class: Twitter API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Playing with twitter API to build fun apps&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
Twitter API docs: https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/7 Class: Ruby, API&#039;s, and Gems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No Rails today; Ruby, Rest API&#039;s and Ruby Gems instead!&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/31 Class: Rails&#039; Asset Pipeline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll look closely at asset organization, compilation, and packaging, and also check out SCSS and Coffeescript.&lt;br /&gt;
&lt;br /&gt;
Required Viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Understanding the Asset Pipeline&#039;&#039; by RailsCasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/279-understanding-the-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/rails-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/24 Class: Fun with the Stripe payment API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll hook up Stripe&#039;s API in our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please sign up for Stripe ahead of time - https://manage.stripe.com/register&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a handy link to Stripe&#039;s API docs - https://stripe.com/docs&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How I Explained REST to My Wife&#039;&#039; by Ryan Tomayko&lt;br /&gt;
&lt;br /&gt;
http://tomayko.com/writings/rest-to-my-wife&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/fun-with-the-stripe-payment-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/17 Class: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a)  bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b)  setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.  This class will be a looser format than usual, so everyone, please bring snacks!  If there&#039;s interest, we will get beers at Shotwell&#039;s afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/10 Class: Continuous Integration with Travis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Intro to CI including configuring our apps to run on Travis-CI.&lt;br /&gt;
&lt;br /&gt;
Please bring a Rails app that you&#039;ve already pushed to Github.&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Continuous Integration&#039;&#039; by Martin Fowler&lt;br /&gt;
&lt;br /&gt;
http://martinfowler.com/articles/continuousIntegration.html&lt;br /&gt;
&lt;br /&gt;
RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/3 Class: Playing with APIs&lt;br /&gt;
&lt;br /&gt;
Where: 7pm-9pm Tuesday in the Church classroom&lt;br /&gt;
&lt;br /&gt;
What: Using the Twitter API in your Rails app&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
&lt;br /&gt;
https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/26 Class: Layouts and Rendering in Rails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeting as usual 7pm-9pm Tuesday in the Church classroom.&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce&lt;br /&gt;
how to organize layouts, partial, templates, etc in Rails.&lt;br /&gt;
&lt;br /&gt;
Homework:&lt;br /&gt;
1. http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html &lt;br /&gt;
3. Also prepare some questions!! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/19 Class: Test-Driven-Development and Sending Emails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.&lt;br /&gt;
&lt;br /&gt;
New students and others interested will have the option of learning Ruby 101 separately.&lt;br /&gt;
&lt;br /&gt;
Homework: First make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial.  Then get as far as you can in both of the following tutorials.  Don&#039;t worry if you don&#039;t finish them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Mailer Basics&#039;&#039; by RailsGuides&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Request Specs and Capybara&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/257-request-specs-and-capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/12 Class: Dissecting the request lifecycle with pry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s investigate the journey of a request through Rails with some help from the debugging tool pry.&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rails 3 in a Nutshell&#039;&#039; by O&#039;Reilly, Chapter 2, up to and including the &#039;&#039;&#039;Controller&#039;&#039;&#039; section&lt;br /&gt;
&lt;br /&gt;
http://ofps.oreilly.com/titles/9780596521424/rails.html&lt;br /&gt;
&lt;br /&gt;
Required viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pry with Rails&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/280-pry-with-rails&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry&lt;br /&gt;
&lt;br /&gt;
Notes- http://beta.primarypad.com/p/G86Niu6EXz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/5 Class: Ajax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to continue our discussion of using Rails&#039; Unobtrusive Javascript framework to add ajax interaction to our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html so we&#039;re all on the same page.&lt;br /&gt;
&lt;br /&gt;
Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/KjI5Ic2327&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/29 Class: Intro to Product Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There&#039;s more to building web apps than hacking code, like figuring out what problem you&#039;re solving and how you&#039;ll know when you&#039;ve solved it.  This class we&#039;ll look at Michael&#039;s website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.&lt;br /&gt;
&lt;br /&gt;
Homework is to think about these questions, or come up with your own:&lt;br /&gt;
* Who are the target users of the class website?&lt;br /&gt;
* What utility do they need out of the site to start using it right away?&lt;br /&gt;
* What features could be added to open up the site to a larger audience?&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QjFPw7bflF&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/22 Class: Authentication with the Devise gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .  Seriously!&lt;br /&gt;
&lt;br /&gt;
Enough talking about awesome Rails gems, let&#039;s use one in an app.  We&#039;re going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.&lt;br /&gt;
&lt;br /&gt;
We will also have a beginners&#039; group for folks needing help getting Rails set up or wanting to learn Ruby.&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QC7KG7aKVB&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/15 Class: Demo Day!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .&lt;br /&gt;
&lt;br /&gt;
This class we&#039;re going to start with a show-and-tell of projects we&#039;re working on or have recently completed.  The demos don&#039;t have to be Ruby- or Rails-related, but should be related to web programming in some way.  This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.&lt;br /&gt;
&lt;br /&gt;
Then we&#039;ll break up into two groups, one for beginners and one for more experienced students.&lt;br /&gt;
&lt;br /&gt;
Notes - http://openetherpad.org/xsy1zKhrbj&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/8 Class: topic is BLOGS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.  &lt;br /&gt;
&lt;br /&gt;
Please post some links here to your favorite blogs.  We&#039;ll take a look at some blog features and talk about how they might be implemented.&lt;br /&gt;
&lt;br /&gt;
Gabe&#039;s pick: http://www.overheardinnewyork.com/&lt;br /&gt;
&lt;br /&gt;
Notes: http://openetherpad.org/sIYNUEPzld&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/2 Class:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notes: http://piratepad.net/dJupUHZoOP&lt;br /&gt;
&lt;br /&gt;
[[Category:Ruby]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Rails]]&lt;br /&gt;
[[Category:Classes]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28508</id>
		<title>Backend web dev in Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28508"/>
		<updated>2012-12-27T18:55:58Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.&lt;br /&gt;
&lt;br /&gt;
We meet Tuesdays 7pm-9pm in the Church room.  &lt;br /&gt;
&lt;br /&gt;
Approximately half of our lessons are on Ruby, and half Rails.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Ruby lessons, please have Ruby 1.9.3 installed on your machine.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Rails lessons, please follow this great, actively maintained Railsbridge guide -- http://installfest.railsbridge.org/installfest/installfest . Then create a blog app by completing this tutorial --  http://guides.rubyonrails.org/getting_started.html .  (we will build off the blog app extensively)&lt;br /&gt;
&lt;br /&gt;
Student, teachers, TA&#039;s needed and welcome!&lt;br /&gt;
&lt;br /&gt;
Join the google group here: https://groups.google.com/group/starmonkeys .  And visit our class website at http://www.railsschool.org .&lt;br /&gt;
&lt;br /&gt;
Use the google group or Discussion view of this page to ask questions or suggest ideas!&lt;br /&gt;
&lt;br /&gt;
And be sure to check out Jeremy&#039;s awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/1/13: Catch-up Day III&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An opportunity for new students to get personal help in meeting the class pre-requisites.&lt;br /&gt;
&lt;br /&gt;
Relevant FAQ links&lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Ruby_lesson  &lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Rails_lesson&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/challenging-facebook-api-using-koala&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/18: Challenging Facebook API using Koala&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Building an app using very convenient Koala gem to play with Facebook API.&lt;br /&gt;
&lt;br /&gt;
Using very convenient Koala gem to play with Facebook API. Let&#039;s build a fun app during the class. Think about what fun apps we can build during our lesson? For example I was thinking about 1. an app that likes random posts on your friends feeds. 2. Shows your most liked photos&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/challenging-facebook-api-using-koala&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/11: Backends for Mobile Apps&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use the Rails API gem to build a backend to support a mobile app.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
&lt;br /&gt;
The Rails API Gem by RailsCasts -&lt;br /&gt;
http://railscasts.com/episodes/348-the-rails-api-gem&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backends-for-mobile-apps&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/4: Improving UX and Performance with Turblinks and Pjax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Turbolinks and pjax are techniques that avoid page reloads when navigating a site.  &lt;br /&gt;
&lt;br /&gt;
Turbolinks can be added to an existing app with hardly any changes needed, and will be enabled by default in Rails 4.&lt;br /&gt;
&lt;br /&gt;
Pjax is used by Github, for example, to allow users to quickly navigate repositories.&lt;br /&gt;
&lt;br /&gt;
We will dust off our blog apps, turn on Turbolinks and observe the difference, then implement a little bit of pjax.&lt;br /&gt;
&lt;br /&gt;
Please make sure your blog app is functioning.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
http://railscasts.com/episodes/294-playing-with-pjax&lt;br /&gt;
http://railscasts.com/episodes/390-turbolinks&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/improving-ux-and-performance-with-turblinks-and-pjax&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/27: Backbone.js with Rails and creating an API for your app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementing hot frontend framework backbone.js in rails application. Creating API for your app. Homework -&amp;gt; Read: http://backbonejs.org/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backbone-js&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/20: Images: Instagram API with Ruby-On-Rails and Carrierwave gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure that you have Rails installed. Think about what kind of App we can build during our class with Instagram API&lt;br /&gt;
Also would be good if you create Amazon Simple Storage Service (Amazon S3) (aws.amazon.com/s3/)&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/instagram-api-with-ruby-on-rails&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/13: Bootstrapping a Fresh Rails App&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll take a break from our blogs and create a brand new app.&lt;br /&gt;
&lt;br /&gt;
The goal is to learn the little gotchas associated with starting new projects as well as tips for getting up and running quickly. &lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html in preparation.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/bootstrapping-a-fresh-rails-app&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/6: Refactoring existing code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to take a look at refactoring an existing Rails up. Learn how to improve your models, controllers and views.&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/refactoring-existing-code&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/30: Image Uploads in Rails with TDD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/image-uploads-in-rails-with-tdd&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/23:  Calculating π with Object-Oriented Ruby and Test-Driven Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use our favorite programming language to calculate one of our favorite irrationals.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need Rails for this class; it&#039;s Ruby-only. Just bring a laptop with Ruby 1.9. &lt;br /&gt;
&lt;br /&gt;
Suggested Preparation &lt;br /&gt;
&lt;br /&gt;
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html &lt;br /&gt;
&lt;br /&gt;
http://blog.teamtreehouse.com/an-introduction-to-rspec&lt;br /&gt;
&lt;br /&gt;
RSVP here- http://rails-school.heroku.com/lessons/calculating-with-object-oriented-ruby-and-test-driven-development&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/16:  How to prepare your Rails app for production&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By choosing to build your web app in Rails, countless choices have been made for you that give you the best chance of a successful launch. Nevertheless, there are some details you will need to take care of on your own.&lt;br /&gt;
&lt;br /&gt;
In this class, we will implement the minimum precautionary steps to ensure the performance and security of our Rails apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have completed the Getting Started guide at http://guides.rubyonrails.org/getting_started.html and be ready to hack on your blogs in class.&lt;br /&gt;
&lt;br /&gt;
Recommended reading&lt;br /&gt;
http://guides.rubyonrails.org/security.html&lt;br /&gt;
http://guides.rubyonrails.org/caching_with_rails.html&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/how-to-prepare-your-rails-app-for-production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/9: Sending email using background workers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this class we will show how to send email using Rails. We will also utilize delayed_job gem to handle the actual email sending in the background. &lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
ActiveMailer: http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
Delayed Job: https://github.com/collectiveidea/delayed_job&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/sending-email-using-background-workers&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/2: Etherpad Bots&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etherpads are the shared docs we take our class notes on. &lt;br /&gt;
&lt;br /&gt;
Read about Etherpads here: http://etherpad.org/ &lt;br /&gt;
&lt;br /&gt;
We will target an Etherpad-Lite instance using Ruby.  Visit https://github.com/jhollinger/ruby-etherpad-lite to get some ideas what might be possible.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/etherpad-bots&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/25: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a) bootstrapping your development environment - follow&lt;br /&gt;
http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b) setting up a basic blog application - follow&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.&lt;br /&gt;
This class will be a looser format than usual, so everyone, please&lt;br /&gt;
bring snacks! If there&#039;s interest, we will get beers at Shotwell&#039;s&lt;br /&gt;
afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day--2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/18: Roll-your-own Chat App with the Goliath web server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rails isn&#039;t perfect for interactive, real-time, scalable apps. Let&#039;s play with Goliath, a Ruby-based web server that is.&lt;br /&gt;
&lt;br /&gt;
This is Ruby-only class for which no Rails experience is required. &lt;br /&gt;
&lt;br /&gt;
However, please complete this small tutorial on EventMachine beforehand: http://rubysource.com/introduction-to-event-machine/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/roll-your-own-chat-app-with-the-goliath-web-server&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/11: Scraping and Parsing the Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last resort when there is no API, scraping and parsing isn&#039;t much fun, but Ruby&#039;s got some great tools to alleviate the pain.&lt;br /&gt;
&lt;br /&gt;
Please bring some sources you want to scrape as well as ideas for what to do with the scraped data. &lt;br /&gt;
&lt;br /&gt;
The homework is to complete this tutorial on regular expressions:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-regular-expressions/ &lt;br /&gt;
&lt;br /&gt;
Regular expressions are a must-know tool when you&#039;re parsing textual data:http://xkcd.com/208/ &lt;br /&gt;
&lt;br /&gt;
But they&#039;re not the right tool for every problem:http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html&lt;br /&gt;
&lt;br /&gt;
This class is Ruby-only.  New students that are Ruby newbies, please complete http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html before class.  You don&#039;t need to know Rails are have completed the Rails getting started guide before attending Ruby-only classes like this one.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/scraping-and-parsing-the-web&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/4: Hacking around Foursquare API with ruby&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lets learn how easy it is to use Foursquare API with ruby {should be easy:)}&lt;br /&gt;
&lt;br /&gt;
Homework: &lt;br /&gt;
&lt;br /&gt;
1. generate ideas about how to use foursquare API and what apps could be made with it. &lt;br /&gt;
We will decide what app we are going to build at the beginning of the class. &lt;br /&gt;
&lt;br /&gt;
2. Scan through Foursquare API documentation https://developer.foursquare.com/ to know what is possible and what is not&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/hack-with-foursquare-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/28 Class: Self-posting Novelty Twitter Accounts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create bots that make interesting tweets periodically&lt;br /&gt;
&lt;br /&gt;
The homework is just to come up with a fun and simple idea for the tweets you want your bot to post.   Also, register your novelty twitter username and a twitter app: http://dev.twitter.com .  And make sure you have a heroku account set up.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also have a Ruby 101 break-out group for people that are not ready to program twitter bots.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/self-posting-novelty-twitter-accounts&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/21 Class: Dive into ActiveRecord&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be taking a deeper look at what is ActiveRecord (since it&#039;s such a big part of Rails)&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_querying.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/association_basics.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_validations_callbacks.html&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/activerecord&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/14 Class: Twitter API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Playing with twitter API to build fun apps&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
Twitter API docs: https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/7 Class: Ruby, API&#039;s, and Gems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No Rails today; Ruby, Rest API&#039;s and Ruby Gems instead!&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/31 Class: Rails&#039; Asset Pipeline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll look closely at asset organization, compilation, and packaging, and also check out SCSS and Coffeescript.&lt;br /&gt;
&lt;br /&gt;
Required Viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Understanding the Asset Pipeline&#039;&#039; by RailsCasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/279-understanding-the-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/rails-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/24 Class: Fun with the Stripe payment API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll hook up Stripe&#039;s API in our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please sign up for Stripe ahead of time - https://manage.stripe.com/register&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a handy link to Stripe&#039;s API docs - https://stripe.com/docs&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How I Explained REST to My Wife&#039;&#039; by Ryan Tomayko&lt;br /&gt;
&lt;br /&gt;
http://tomayko.com/writings/rest-to-my-wife&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/fun-with-the-stripe-payment-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/17 Class: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a)  bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b)  setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.  This class will be a looser format than usual, so everyone, please bring snacks!  If there&#039;s interest, we will get beers at Shotwell&#039;s afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/10 Class: Continuous Integration with Travis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Intro to CI including configuring our apps to run on Travis-CI.&lt;br /&gt;
&lt;br /&gt;
Please bring a Rails app that you&#039;ve already pushed to Github.&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Continuous Integration&#039;&#039; by Martin Fowler&lt;br /&gt;
&lt;br /&gt;
http://martinfowler.com/articles/continuousIntegration.html&lt;br /&gt;
&lt;br /&gt;
RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/3 Class: Playing with APIs&lt;br /&gt;
&lt;br /&gt;
Where: 7pm-9pm Tuesday in the Church classroom&lt;br /&gt;
&lt;br /&gt;
What: Using the Twitter API in your Rails app&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
&lt;br /&gt;
https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/26 Class: Layouts and Rendering in Rails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeting as usual 7pm-9pm Tuesday in the Church classroom.&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce&lt;br /&gt;
how to organize layouts, partial, templates, etc in Rails.&lt;br /&gt;
&lt;br /&gt;
Homework:&lt;br /&gt;
1. http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html &lt;br /&gt;
3. Also prepare some questions!! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/19 Class: Test-Driven-Development and Sending Emails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.&lt;br /&gt;
&lt;br /&gt;
New students and others interested will have the option of learning Ruby 101 separately.&lt;br /&gt;
&lt;br /&gt;
Homework: First make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial.  Then get as far as you can in both of the following tutorials.  Don&#039;t worry if you don&#039;t finish them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Mailer Basics&#039;&#039; by RailsGuides&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Request Specs and Capybara&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/257-request-specs-and-capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/12 Class: Dissecting the request lifecycle with pry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s investigate the journey of a request through Rails with some help from the debugging tool pry.&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rails 3 in a Nutshell&#039;&#039; by O&#039;Reilly, Chapter 2, up to and including the &#039;&#039;&#039;Controller&#039;&#039;&#039; section&lt;br /&gt;
&lt;br /&gt;
http://ofps.oreilly.com/titles/9780596521424/rails.html&lt;br /&gt;
&lt;br /&gt;
Required viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pry with Rails&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/280-pry-with-rails&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry&lt;br /&gt;
&lt;br /&gt;
Notes- http://beta.primarypad.com/p/G86Niu6EXz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/5 Class: Ajax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to continue our discussion of using Rails&#039; Unobtrusive Javascript framework to add ajax interaction to our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html so we&#039;re all on the same page.&lt;br /&gt;
&lt;br /&gt;
Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/KjI5Ic2327&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/29 Class: Intro to Product Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There&#039;s more to building web apps than hacking code, like figuring out what problem you&#039;re solving and how you&#039;ll know when you&#039;ve solved it.  This class we&#039;ll look at Michael&#039;s website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.&lt;br /&gt;
&lt;br /&gt;
Homework is to think about these questions, or come up with your own:&lt;br /&gt;
* Who are the target users of the class website?&lt;br /&gt;
* What utility do they need out of the site to start using it right away?&lt;br /&gt;
* What features could be added to open up the site to a larger audience?&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QjFPw7bflF&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/22 Class: Authentication with the Devise gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .  Seriously!&lt;br /&gt;
&lt;br /&gt;
Enough talking about awesome Rails gems, let&#039;s use one in an app.  We&#039;re going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.&lt;br /&gt;
&lt;br /&gt;
We will also have a beginners&#039; group for folks needing help getting Rails set up or wanting to learn Ruby.&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QC7KG7aKVB&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/15 Class: Demo Day!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .&lt;br /&gt;
&lt;br /&gt;
This class we&#039;re going to start with a show-and-tell of projects we&#039;re working on or have recently completed.  The demos don&#039;t have to be Ruby- or Rails-related, but should be related to web programming in some way.  This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.&lt;br /&gt;
&lt;br /&gt;
Then we&#039;ll break up into two groups, one for beginners and one for more experienced students.&lt;br /&gt;
&lt;br /&gt;
Notes - http://openetherpad.org/xsy1zKhrbj&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/8 Class: topic is BLOGS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.  &lt;br /&gt;
&lt;br /&gt;
Please post some links here to your favorite blogs.  We&#039;ll take a look at some blog features and talk about how they might be implemented.&lt;br /&gt;
&lt;br /&gt;
Gabe&#039;s pick: http://www.overheardinnewyork.com/&lt;br /&gt;
&lt;br /&gt;
Notes: http://openetherpad.org/sIYNUEPzld&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/2 Class:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notes: http://piratepad.net/dJupUHZoOP&lt;br /&gt;
&lt;br /&gt;
[[Category:Ruby]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Rails]]&lt;br /&gt;
[[Category:Classes]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28507</id>
		<title>Backend web dev in Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28507"/>
		<updated>2012-12-27T18:55:42Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.&lt;br /&gt;
&lt;br /&gt;
We meet Tuesdays 7pm-9pm in the Church room.  &lt;br /&gt;
&lt;br /&gt;
Approximately half of our lessons are on Ruby, and half Rails.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Ruby lessons, please have Ruby 1.9.3 installed on your machine.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Rails lessons, please follow this great, actively maintained Railsbridge guide -- http://installfest.railsbridge.org/installfest/installfest . Then create a blog app by completing this tutorial --  http://guides.rubyonrails.org/getting_started.html .  (we will build off the blog app extensively)&lt;br /&gt;
&lt;br /&gt;
Student, teachers, TA&#039;s needed and welcome!&lt;br /&gt;
&lt;br /&gt;
Join the google group here: https://groups.google.com/group/starmonkeys .  And visit our class website at http://www.railsschool.org .&lt;br /&gt;
&lt;br /&gt;
Use the google group or Discussion view of this page to ask questions or suggest ideas!&lt;br /&gt;
&lt;br /&gt;
And be sure to check out Jeremy&#039;s awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/1/13: Catch-up Day III&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An opportunity for new students to get personal help in meeting the class pre-requisites.&lt;br /&gt;
&lt;br /&gt;
Relevant FAQ links&lt;br /&gt;
&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Ruby_lesson&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Rails_lesson&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/challenging-facebook-api-using-koala&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/18: Challenging Facebook API using Koala&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Building an app using very convenient Koala gem to play with Facebook API.&lt;br /&gt;
&lt;br /&gt;
Using very convenient Koala gem to play with Facebook API. Let&#039;s build a fun app during the class. Think about what fun apps we can build during our lesson? For example I was thinking about 1. an app that likes random posts on your friends feeds. 2. Shows your most liked photos&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/challenging-facebook-api-using-koala&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/11: Backends for Mobile Apps&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use the Rails API gem to build a backend to support a mobile app.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
&lt;br /&gt;
The Rails API Gem by RailsCasts -&lt;br /&gt;
http://railscasts.com/episodes/348-the-rails-api-gem&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backends-for-mobile-apps&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/4: Improving UX and Performance with Turblinks and Pjax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Turbolinks and pjax are techniques that avoid page reloads when navigating a site.  &lt;br /&gt;
&lt;br /&gt;
Turbolinks can be added to an existing app with hardly any changes needed, and will be enabled by default in Rails 4.&lt;br /&gt;
&lt;br /&gt;
Pjax is used by Github, for example, to allow users to quickly navigate repositories.&lt;br /&gt;
&lt;br /&gt;
We will dust off our blog apps, turn on Turbolinks and observe the difference, then implement a little bit of pjax.&lt;br /&gt;
&lt;br /&gt;
Please make sure your blog app is functioning.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
http://railscasts.com/episodes/294-playing-with-pjax&lt;br /&gt;
http://railscasts.com/episodes/390-turbolinks&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/improving-ux-and-performance-with-turblinks-and-pjax&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/27: Backbone.js with Rails and creating an API for your app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementing hot frontend framework backbone.js in rails application. Creating API for your app. Homework -&amp;gt; Read: http://backbonejs.org/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backbone-js&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/20: Images: Instagram API with Ruby-On-Rails and Carrierwave gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure that you have Rails installed. Think about what kind of App we can build during our class with Instagram API&lt;br /&gt;
Also would be good if you create Amazon Simple Storage Service (Amazon S3) (aws.amazon.com/s3/)&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/instagram-api-with-ruby-on-rails&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/13: Bootstrapping a Fresh Rails App&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll take a break from our blogs and create a brand new app.&lt;br /&gt;
&lt;br /&gt;
The goal is to learn the little gotchas associated with starting new projects as well as tips for getting up and running quickly. &lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html in preparation.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/bootstrapping-a-fresh-rails-app&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/6: Refactoring existing code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to take a look at refactoring an existing Rails up. Learn how to improve your models, controllers and views.&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/refactoring-existing-code&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/30: Image Uploads in Rails with TDD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/image-uploads-in-rails-with-tdd&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/23:  Calculating π with Object-Oriented Ruby and Test-Driven Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use our favorite programming language to calculate one of our favorite irrationals.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need Rails for this class; it&#039;s Ruby-only. Just bring a laptop with Ruby 1.9. &lt;br /&gt;
&lt;br /&gt;
Suggested Preparation &lt;br /&gt;
&lt;br /&gt;
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html &lt;br /&gt;
&lt;br /&gt;
http://blog.teamtreehouse.com/an-introduction-to-rspec&lt;br /&gt;
&lt;br /&gt;
RSVP here- http://rails-school.heroku.com/lessons/calculating-with-object-oriented-ruby-and-test-driven-development&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/16:  How to prepare your Rails app for production&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By choosing to build your web app in Rails, countless choices have been made for you that give you the best chance of a successful launch. Nevertheless, there are some details you will need to take care of on your own.&lt;br /&gt;
&lt;br /&gt;
In this class, we will implement the minimum precautionary steps to ensure the performance and security of our Rails apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have completed the Getting Started guide at http://guides.rubyonrails.org/getting_started.html and be ready to hack on your blogs in class.&lt;br /&gt;
&lt;br /&gt;
Recommended reading&lt;br /&gt;
http://guides.rubyonrails.org/security.html&lt;br /&gt;
http://guides.rubyonrails.org/caching_with_rails.html&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/how-to-prepare-your-rails-app-for-production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/9: Sending email using background workers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this class we will show how to send email using Rails. We will also utilize delayed_job gem to handle the actual email sending in the background. &lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
ActiveMailer: http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
Delayed Job: https://github.com/collectiveidea/delayed_job&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/sending-email-using-background-workers&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/2: Etherpad Bots&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etherpads are the shared docs we take our class notes on. &lt;br /&gt;
&lt;br /&gt;
Read about Etherpads here: http://etherpad.org/ &lt;br /&gt;
&lt;br /&gt;
We will target an Etherpad-Lite instance using Ruby.  Visit https://github.com/jhollinger/ruby-etherpad-lite to get some ideas what might be possible.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/etherpad-bots&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/25: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a) bootstrapping your development environment - follow&lt;br /&gt;
http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b) setting up a basic blog application - follow&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.&lt;br /&gt;
This class will be a looser format than usual, so everyone, please&lt;br /&gt;
bring snacks! If there&#039;s interest, we will get beers at Shotwell&#039;s&lt;br /&gt;
afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day--2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/18: Roll-your-own Chat App with the Goliath web server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rails isn&#039;t perfect for interactive, real-time, scalable apps. Let&#039;s play with Goliath, a Ruby-based web server that is.&lt;br /&gt;
&lt;br /&gt;
This is Ruby-only class for which no Rails experience is required. &lt;br /&gt;
&lt;br /&gt;
However, please complete this small tutorial on EventMachine beforehand: http://rubysource.com/introduction-to-event-machine/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/roll-your-own-chat-app-with-the-goliath-web-server&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/11: Scraping and Parsing the Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last resort when there is no API, scraping and parsing isn&#039;t much fun, but Ruby&#039;s got some great tools to alleviate the pain.&lt;br /&gt;
&lt;br /&gt;
Please bring some sources you want to scrape as well as ideas for what to do with the scraped data. &lt;br /&gt;
&lt;br /&gt;
The homework is to complete this tutorial on regular expressions:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-regular-expressions/ &lt;br /&gt;
&lt;br /&gt;
Regular expressions are a must-know tool when you&#039;re parsing textual data:http://xkcd.com/208/ &lt;br /&gt;
&lt;br /&gt;
But they&#039;re not the right tool for every problem:http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html&lt;br /&gt;
&lt;br /&gt;
This class is Ruby-only.  New students that are Ruby newbies, please complete http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html before class.  You don&#039;t need to know Rails are have completed the Rails getting started guide before attending Ruby-only classes like this one.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/scraping-and-parsing-the-web&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/4: Hacking around Foursquare API with ruby&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lets learn how easy it is to use Foursquare API with ruby {should be easy:)}&lt;br /&gt;
&lt;br /&gt;
Homework: &lt;br /&gt;
&lt;br /&gt;
1. generate ideas about how to use foursquare API and what apps could be made with it. &lt;br /&gt;
We will decide what app we are going to build at the beginning of the class. &lt;br /&gt;
&lt;br /&gt;
2. Scan through Foursquare API documentation https://developer.foursquare.com/ to know what is possible and what is not&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/hack-with-foursquare-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/28 Class: Self-posting Novelty Twitter Accounts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create bots that make interesting tweets periodically&lt;br /&gt;
&lt;br /&gt;
The homework is just to come up with a fun and simple idea for the tweets you want your bot to post.   Also, register your novelty twitter username and a twitter app: http://dev.twitter.com .  And make sure you have a heroku account set up.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also have a Ruby 101 break-out group for people that are not ready to program twitter bots.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/self-posting-novelty-twitter-accounts&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/21 Class: Dive into ActiveRecord&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be taking a deeper look at what is ActiveRecord (since it&#039;s such a big part of Rails)&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_querying.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/association_basics.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_validations_callbacks.html&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/activerecord&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/14 Class: Twitter API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Playing with twitter API to build fun apps&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
Twitter API docs: https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/7 Class: Ruby, API&#039;s, and Gems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No Rails today; Ruby, Rest API&#039;s and Ruby Gems instead!&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/31 Class: Rails&#039; Asset Pipeline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll look closely at asset organization, compilation, and packaging, and also check out SCSS and Coffeescript.&lt;br /&gt;
&lt;br /&gt;
Required Viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Understanding the Asset Pipeline&#039;&#039; by RailsCasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/279-understanding-the-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/rails-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/24 Class: Fun with the Stripe payment API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll hook up Stripe&#039;s API in our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please sign up for Stripe ahead of time - https://manage.stripe.com/register&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a handy link to Stripe&#039;s API docs - https://stripe.com/docs&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How I Explained REST to My Wife&#039;&#039; by Ryan Tomayko&lt;br /&gt;
&lt;br /&gt;
http://tomayko.com/writings/rest-to-my-wife&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/fun-with-the-stripe-payment-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/17 Class: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a)  bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b)  setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.  This class will be a looser format than usual, so everyone, please bring snacks!  If there&#039;s interest, we will get beers at Shotwell&#039;s afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/10 Class: Continuous Integration with Travis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Intro to CI including configuring our apps to run on Travis-CI.&lt;br /&gt;
&lt;br /&gt;
Please bring a Rails app that you&#039;ve already pushed to Github.&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Continuous Integration&#039;&#039; by Martin Fowler&lt;br /&gt;
&lt;br /&gt;
http://martinfowler.com/articles/continuousIntegration.html&lt;br /&gt;
&lt;br /&gt;
RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/3 Class: Playing with APIs&lt;br /&gt;
&lt;br /&gt;
Where: 7pm-9pm Tuesday in the Church classroom&lt;br /&gt;
&lt;br /&gt;
What: Using the Twitter API in your Rails app&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
&lt;br /&gt;
https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/26 Class: Layouts and Rendering in Rails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeting as usual 7pm-9pm Tuesday in the Church classroom.&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce&lt;br /&gt;
how to organize layouts, partial, templates, etc in Rails.&lt;br /&gt;
&lt;br /&gt;
Homework:&lt;br /&gt;
1. http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html &lt;br /&gt;
3. Also prepare some questions!! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/19 Class: Test-Driven-Development and Sending Emails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.&lt;br /&gt;
&lt;br /&gt;
New students and others interested will have the option of learning Ruby 101 separately.&lt;br /&gt;
&lt;br /&gt;
Homework: First make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial.  Then get as far as you can in both of the following tutorials.  Don&#039;t worry if you don&#039;t finish them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Mailer Basics&#039;&#039; by RailsGuides&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Request Specs and Capybara&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/257-request-specs-and-capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/12 Class: Dissecting the request lifecycle with pry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s investigate the journey of a request through Rails with some help from the debugging tool pry.&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rails 3 in a Nutshell&#039;&#039; by O&#039;Reilly, Chapter 2, up to and including the &#039;&#039;&#039;Controller&#039;&#039;&#039; section&lt;br /&gt;
&lt;br /&gt;
http://ofps.oreilly.com/titles/9780596521424/rails.html&lt;br /&gt;
&lt;br /&gt;
Required viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pry with Rails&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/280-pry-with-rails&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry&lt;br /&gt;
&lt;br /&gt;
Notes- http://beta.primarypad.com/p/G86Niu6EXz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/5 Class: Ajax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to continue our discussion of using Rails&#039; Unobtrusive Javascript framework to add ajax interaction to our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html so we&#039;re all on the same page.&lt;br /&gt;
&lt;br /&gt;
Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/KjI5Ic2327&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/29 Class: Intro to Product Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There&#039;s more to building web apps than hacking code, like figuring out what problem you&#039;re solving and how you&#039;ll know when you&#039;ve solved it.  This class we&#039;ll look at Michael&#039;s website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.&lt;br /&gt;
&lt;br /&gt;
Homework is to think about these questions, or come up with your own:&lt;br /&gt;
* Who are the target users of the class website?&lt;br /&gt;
* What utility do they need out of the site to start using it right away?&lt;br /&gt;
* What features could be added to open up the site to a larger audience?&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QjFPw7bflF&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/22 Class: Authentication with the Devise gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .  Seriously!&lt;br /&gt;
&lt;br /&gt;
Enough talking about awesome Rails gems, let&#039;s use one in an app.  We&#039;re going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.&lt;br /&gt;
&lt;br /&gt;
We will also have a beginners&#039; group for folks needing help getting Rails set up or wanting to learn Ruby.&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QC7KG7aKVB&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/15 Class: Demo Day!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .&lt;br /&gt;
&lt;br /&gt;
This class we&#039;re going to start with a show-and-tell of projects we&#039;re working on or have recently completed.  The demos don&#039;t have to be Ruby- or Rails-related, but should be related to web programming in some way.  This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.&lt;br /&gt;
&lt;br /&gt;
Then we&#039;ll break up into two groups, one for beginners and one for more experienced students.&lt;br /&gt;
&lt;br /&gt;
Notes - http://openetherpad.org/xsy1zKhrbj&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/8 Class: topic is BLOGS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.  &lt;br /&gt;
&lt;br /&gt;
Please post some links here to your favorite blogs.  We&#039;ll take a look at some blog features and talk about how they might be implemented.&lt;br /&gt;
&lt;br /&gt;
Gabe&#039;s pick: http://www.overheardinnewyork.com/&lt;br /&gt;
&lt;br /&gt;
Notes: http://openetherpad.org/sIYNUEPzld&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/2 Class:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notes: http://piratepad.net/dJupUHZoOP&lt;br /&gt;
&lt;br /&gt;
[[Category:Ruby]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Rails]]&lt;br /&gt;
[[Category:Classes]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28506</id>
		<title>Backend web dev in Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28506"/>
		<updated>2012-12-27T18:55:09Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.&lt;br /&gt;
&lt;br /&gt;
We meet Tuesdays 7pm-9pm in the Church room.  &lt;br /&gt;
&lt;br /&gt;
Approximately half of our lessons are on Ruby, and half Rails.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Ruby lessons, please have Ruby 1.9.3 installed on your machine.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Rails lessons, please follow this great, actively maintained Railsbridge guide -- http://installfest.railsbridge.org/installfest/installfest . Then create a blog app by completing this tutorial --  http://guides.rubyonrails.org/getting_started.html .  (we will build off the blog app extensively)&lt;br /&gt;
&lt;br /&gt;
Student, teachers, TA&#039;s needed and welcome!&lt;br /&gt;
&lt;br /&gt;
Join the google group here: https://groups.google.com/group/starmonkeys .  And visit our class website at http://www.railsschool.org .&lt;br /&gt;
&lt;br /&gt;
Use the google group or Discussion view of this page to ask questions or suggest ideas!&lt;br /&gt;
&lt;br /&gt;
And be sure to check out Jeremy&#039;s awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 1/1/13: Catch-up Day III&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An opportunity for new students to get personal help in meeting the class pre-requisites.&lt;br /&gt;
&lt;br /&gt;
Relevant FAQ links  &lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Ruby_lesson&lt;br /&gt;
http://www.railsschool.org/faq#How_should_I_prepare_for_my_first_Rails_lesson&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/challenging-facebook-api-using-koala&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/18: Challenging Facebook API using Koala&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Building an app using very convenient Koala gem to play with Facebook API.&lt;br /&gt;
&lt;br /&gt;
Using very convenient Koala gem to play with Facebook API. Let&#039;s build a fun app during the class. Think about what fun apps we can build during our lesson? For example I was thinking about 1. an app that likes random posts on your friends feeds. 2. Shows your most liked photos&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/challenging-facebook-api-using-koala&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/11: Backends for Mobile Apps&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use the Rails API gem to build a backend to support a mobile app.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
&lt;br /&gt;
The Rails API Gem by RailsCasts -&lt;br /&gt;
http://railscasts.com/episodes/348-the-rails-api-gem&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backends-for-mobile-apps&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/4: Improving UX and Performance with Turblinks and Pjax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Turbolinks and pjax are techniques that avoid page reloads when navigating a site.  &lt;br /&gt;
&lt;br /&gt;
Turbolinks can be added to an existing app with hardly any changes needed, and will be enabled by default in Rails 4.&lt;br /&gt;
&lt;br /&gt;
Pjax is used by Github, for example, to allow users to quickly navigate repositories.&lt;br /&gt;
&lt;br /&gt;
We will dust off our blog apps, turn on Turbolinks and observe the difference, then implement a little bit of pjax.&lt;br /&gt;
&lt;br /&gt;
Please make sure your blog app is functioning.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
http://railscasts.com/episodes/294-playing-with-pjax&lt;br /&gt;
http://railscasts.com/episodes/390-turbolinks&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/improving-ux-and-performance-with-turblinks-and-pjax&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/27: Backbone.js with Rails and creating an API for your app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementing hot frontend framework backbone.js in rails application. Creating API for your app. Homework -&amp;gt; Read: http://backbonejs.org/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backbone-js&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/20: Images: Instagram API with Ruby-On-Rails and Carrierwave gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure that you have Rails installed. Think about what kind of App we can build during our class with Instagram API&lt;br /&gt;
Also would be good if you create Amazon Simple Storage Service (Amazon S3) (aws.amazon.com/s3/)&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/instagram-api-with-ruby-on-rails&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/13: Bootstrapping a Fresh Rails App&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll take a break from our blogs and create a brand new app.&lt;br /&gt;
&lt;br /&gt;
The goal is to learn the little gotchas associated with starting new projects as well as tips for getting up and running quickly. &lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html in preparation.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/bootstrapping-a-fresh-rails-app&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/6: Refactoring existing code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to take a look at refactoring an existing Rails up. Learn how to improve your models, controllers and views.&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/refactoring-existing-code&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/30: Image Uploads in Rails with TDD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/image-uploads-in-rails-with-tdd&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/23:  Calculating π with Object-Oriented Ruby and Test-Driven Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use our favorite programming language to calculate one of our favorite irrationals.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need Rails for this class; it&#039;s Ruby-only. Just bring a laptop with Ruby 1.9. &lt;br /&gt;
&lt;br /&gt;
Suggested Preparation &lt;br /&gt;
&lt;br /&gt;
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html &lt;br /&gt;
&lt;br /&gt;
http://blog.teamtreehouse.com/an-introduction-to-rspec&lt;br /&gt;
&lt;br /&gt;
RSVP here- http://rails-school.heroku.com/lessons/calculating-with-object-oriented-ruby-and-test-driven-development&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/16:  How to prepare your Rails app for production&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By choosing to build your web app in Rails, countless choices have been made for you that give you the best chance of a successful launch. Nevertheless, there are some details you will need to take care of on your own.&lt;br /&gt;
&lt;br /&gt;
In this class, we will implement the minimum precautionary steps to ensure the performance and security of our Rails apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have completed the Getting Started guide at http://guides.rubyonrails.org/getting_started.html and be ready to hack on your blogs in class.&lt;br /&gt;
&lt;br /&gt;
Recommended reading&lt;br /&gt;
http://guides.rubyonrails.org/security.html&lt;br /&gt;
http://guides.rubyonrails.org/caching_with_rails.html&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/how-to-prepare-your-rails-app-for-production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/9: Sending email using background workers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this class we will show how to send email using Rails. We will also utilize delayed_job gem to handle the actual email sending in the background. &lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
ActiveMailer: http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
Delayed Job: https://github.com/collectiveidea/delayed_job&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/sending-email-using-background-workers&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/2: Etherpad Bots&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etherpads are the shared docs we take our class notes on. &lt;br /&gt;
&lt;br /&gt;
Read about Etherpads here: http://etherpad.org/ &lt;br /&gt;
&lt;br /&gt;
We will target an Etherpad-Lite instance using Ruby.  Visit https://github.com/jhollinger/ruby-etherpad-lite to get some ideas what might be possible.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/etherpad-bots&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/25: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a) bootstrapping your development environment - follow&lt;br /&gt;
http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b) setting up a basic blog application - follow&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.&lt;br /&gt;
This class will be a looser format than usual, so everyone, please&lt;br /&gt;
bring snacks! If there&#039;s interest, we will get beers at Shotwell&#039;s&lt;br /&gt;
afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day--2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/18: Roll-your-own Chat App with the Goliath web server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rails isn&#039;t perfect for interactive, real-time, scalable apps. Let&#039;s play with Goliath, a Ruby-based web server that is.&lt;br /&gt;
&lt;br /&gt;
This is Ruby-only class for which no Rails experience is required. &lt;br /&gt;
&lt;br /&gt;
However, please complete this small tutorial on EventMachine beforehand: http://rubysource.com/introduction-to-event-machine/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/roll-your-own-chat-app-with-the-goliath-web-server&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/11: Scraping and Parsing the Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last resort when there is no API, scraping and parsing isn&#039;t much fun, but Ruby&#039;s got some great tools to alleviate the pain.&lt;br /&gt;
&lt;br /&gt;
Please bring some sources you want to scrape as well as ideas for what to do with the scraped data. &lt;br /&gt;
&lt;br /&gt;
The homework is to complete this tutorial on regular expressions:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-regular-expressions/ &lt;br /&gt;
&lt;br /&gt;
Regular expressions are a must-know tool when you&#039;re parsing textual data:http://xkcd.com/208/ &lt;br /&gt;
&lt;br /&gt;
But they&#039;re not the right tool for every problem:http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html&lt;br /&gt;
&lt;br /&gt;
This class is Ruby-only.  New students that are Ruby newbies, please complete http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html before class.  You don&#039;t need to know Rails are have completed the Rails getting started guide before attending Ruby-only classes like this one.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/scraping-and-parsing-the-web&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/4: Hacking around Foursquare API with ruby&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lets learn how easy it is to use Foursquare API with ruby {should be easy:)}&lt;br /&gt;
&lt;br /&gt;
Homework: &lt;br /&gt;
&lt;br /&gt;
1. generate ideas about how to use foursquare API and what apps could be made with it. &lt;br /&gt;
We will decide what app we are going to build at the beginning of the class. &lt;br /&gt;
&lt;br /&gt;
2. Scan through Foursquare API documentation https://developer.foursquare.com/ to know what is possible and what is not&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/hack-with-foursquare-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/28 Class: Self-posting Novelty Twitter Accounts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create bots that make interesting tweets periodically&lt;br /&gt;
&lt;br /&gt;
The homework is just to come up with a fun and simple idea for the tweets you want your bot to post.   Also, register your novelty twitter username and a twitter app: http://dev.twitter.com .  And make sure you have a heroku account set up.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also have a Ruby 101 break-out group for people that are not ready to program twitter bots.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/self-posting-novelty-twitter-accounts&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/21 Class: Dive into ActiveRecord&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be taking a deeper look at what is ActiveRecord (since it&#039;s such a big part of Rails)&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_querying.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/association_basics.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_validations_callbacks.html&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/activerecord&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/14 Class: Twitter API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Playing with twitter API to build fun apps&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
Twitter API docs: https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/7 Class: Ruby, API&#039;s, and Gems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No Rails today; Ruby, Rest API&#039;s and Ruby Gems instead!&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/31 Class: Rails&#039; Asset Pipeline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll look closely at asset organization, compilation, and packaging, and also check out SCSS and Coffeescript.&lt;br /&gt;
&lt;br /&gt;
Required Viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Understanding the Asset Pipeline&#039;&#039; by RailsCasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/279-understanding-the-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/rails-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/24 Class: Fun with the Stripe payment API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll hook up Stripe&#039;s API in our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please sign up for Stripe ahead of time - https://manage.stripe.com/register&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a handy link to Stripe&#039;s API docs - https://stripe.com/docs&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How I Explained REST to My Wife&#039;&#039; by Ryan Tomayko&lt;br /&gt;
&lt;br /&gt;
http://tomayko.com/writings/rest-to-my-wife&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/fun-with-the-stripe-payment-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/17 Class: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a)  bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b)  setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.  This class will be a looser format than usual, so everyone, please bring snacks!  If there&#039;s interest, we will get beers at Shotwell&#039;s afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/10 Class: Continuous Integration with Travis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Intro to CI including configuring our apps to run on Travis-CI.&lt;br /&gt;
&lt;br /&gt;
Please bring a Rails app that you&#039;ve already pushed to Github.&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Continuous Integration&#039;&#039; by Martin Fowler&lt;br /&gt;
&lt;br /&gt;
http://martinfowler.com/articles/continuousIntegration.html&lt;br /&gt;
&lt;br /&gt;
RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/3 Class: Playing with APIs&lt;br /&gt;
&lt;br /&gt;
Where: 7pm-9pm Tuesday in the Church classroom&lt;br /&gt;
&lt;br /&gt;
What: Using the Twitter API in your Rails app&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
&lt;br /&gt;
https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/26 Class: Layouts and Rendering in Rails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeting as usual 7pm-9pm Tuesday in the Church classroom.&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce&lt;br /&gt;
how to organize layouts, partial, templates, etc in Rails.&lt;br /&gt;
&lt;br /&gt;
Homework:&lt;br /&gt;
1. http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html &lt;br /&gt;
3. Also prepare some questions!! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/19 Class: Test-Driven-Development and Sending Emails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.&lt;br /&gt;
&lt;br /&gt;
New students and others interested will have the option of learning Ruby 101 separately.&lt;br /&gt;
&lt;br /&gt;
Homework: First make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial.  Then get as far as you can in both of the following tutorials.  Don&#039;t worry if you don&#039;t finish them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Mailer Basics&#039;&#039; by RailsGuides&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Request Specs and Capybara&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/257-request-specs-and-capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/12 Class: Dissecting the request lifecycle with pry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s investigate the journey of a request through Rails with some help from the debugging tool pry.&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rails 3 in a Nutshell&#039;&#039; by O&#039;Reilly, Chapter 2, up to and including the &#039;&#039;&#039;Controller&#039;&#039;&#039; section&lt;br /&gt;
&lt;br /&gt;
http://ofps.oreilly.com/titles/9780596521424/rails.html&lt;br /&gt;
&lt;br /&gt;
Required viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pry with Rails&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/280-pry-with-rails&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry&lt;br /&gt;
&lt;br /&gt;
Notes- http://beta.primarypad.com/p/G86Niu6EXz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/5 Class: Ajax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to continue our discussion of using Rails&#039; Unobtrusive Javascript framework to add ajax interaction to our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html so we&#039;re all on the same page.&lt;br /&gt;
&lt;br /&gt;
Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/KjI5Ic2327&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/29 Class: Intro to Product Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There&#039;s more to building web apps than hacking code, like figuring out what problem you&#039;re solving and how you&#039;ll know when you&#039;ve solved it.  This class we&#039;ll look at Michael&#039;s website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.&lt;br /&gt;
&lt;br /&gt;
Homework is to think about these questions, or come up with your own:&lt;br /&gt;
* Who are the target users of the class website?&lt;br /&gt;
* What utility do they need out of the site to start using it right away?&lt;br /&gt;
* What features could be added to open up the site to a larger audience?&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QjFPw7bflF&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/22 Class: Authentication with the Devise gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .  Seriously!&lt;br /&gt;
&lt;br /&gt;
Enough talking about awesome Rails gems, let&#039;s use one in an app.  We&#039;re going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.&lt;br /&gt;
&lt;br /&gt;
We will also have a beginners&#039; group for folks needing help getting Rails set up or wanting to learn Ruby.&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QC7KG7aKVB&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/15 Class: Demo Day!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .&lt;br /&gt;
&lt;br /&gt;
This class we&#039;re going to start with a show-and-tell of projects we&#039;re working on or have recently completed.  The demos don&#039;t have to be Ruby- or Rails-related, but should be related to web programming in some way.  This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.&lt;br /&gt;
&lt;br /&gt;
Then we&#039;ll break up into two groups, one for beginners and one for more experienced students.&lt;br /&gt;
&lt;br /&gt;
Notes - http://openetherpad.org/xsy1zKhrbj&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/8 Class: topic is BLOGS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.  &lt;br /&gt;
&lt;br /&gt;
Please post some links here to your favorite blogs.  We&#039;ll take a look at some blog features and talk about how they might be implemented.&lt;br /&gt;
&lt;br /&gt;
Gabe&#039;s pick: http://www.overheardinnewyork.com/&lt;br /&gt;
&lt;br /&gt;
Notes: http://openetherpad.org/sIYNUEPzld&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/2 Class:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notes: http://piratepad.net/dJupUHZoOP&lt;br /&gt;
&lt;br /&gt;
[[Category:Ruby]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Rails]]&lt;br /&gt;
[[Category:Classes]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28259</id>
		<title>Backend web dev in Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28259"/>
		<updated>2012-11-29T17:51:48Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.&lt;br /&gt;
&lt;br /&gt;
We meet Tuesdays 7pm-9pm in the Church room.  &lt;br /&gt;
&lt;br /&gt;
Approximately half of our lessons are on Ruby, and half Rails.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Ruby lessons, please have Ruby 1.9.3 installed on your machine.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Rails lessons, please follow this great, actively maintained Railsbridge guide -- http://installfest.railsbridge.org/installfest/installfest . Then create a blog app by completing this tutorial --  http://guides.rubyonrails.org/getting_started.html .  (we will build off the blog app extensively)&lt;br /&gt;
&lt;br /&gt;
Student, teachers, TA&#039;s needed and welcome!&lt;br /&gt;
&lt;br /&gt;
Join the google group here: https://groups.google.com/group/starmonkeys .  And visit our class website at http://www.railsschool.org .&lt;br /&gt;
&lt;br /&gt;
Use the google group or Discussion view of this page to ask questions or suggest ideas!&lt;br /&gt;
&lt;br /&gt;
And be sure to check out Jeremy&#039;s awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/4: Improving UX and Performance with Turblinks and Pjax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Turbolinks and pjax are techniques that avoid page reloads when navigating a site.  &lt;br /&gt;
&lt;br /&gt;
Turbolinks can be added to an existing app with hardly any changes needed, and will be enabled by default in Rails 4.&lt;br /&gt;
&lt;br /&gt;
Pjax is used by Github, for example, to allow users to quickly navigate repositories.&lt;br /&gt;
&lt;br /&gt;
We will dust off our blog apps, turn on Turbolinks and observe the difference, then implement a little bit of pjax.&lt;br /&gt;
&lt;br /&gt;
Please make sure your blog app is functioning.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
http://railscasts.com/episodes/294-playing-with-pjax&lt;br /&gt;
http://railscasts.com/episodes/390-turbolinks&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/improving-ux-and-performance-with-turblinks-and-pjax&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/27: Backbone.js with Rails and creating an API for your app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementing hot frontend framework backbone.js in rails application. Creating API for your app. Homework -&amp;gt; Read: http://backbonejs.org/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backbone-js&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/20: Images: Instagram API with Ruby-On-Rails and Carrierwave gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure that you have Rails installed. Think about what kind of App we can build during our class with Instagram API&lt;br /&gt;
Also would be good if you create Amazon Simple Storage Service (Amazon S3) (aws.amazon.com/s3/)&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/instagram-api-with-ruby-on-rails&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/13: Bootstrapping a Fresh Rails App&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll take a break from our blogs and create a brand new app.&lt;br /&gt;
&lt;br /&gt;
The goal is to learn the little gotchas associated with starting new projects as well as tips for getting up and running quickly. &lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html in preparation.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/bootstrapping-a-fresh-rails-app&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/6: Refactoring existing code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to take a look at refactoring an existing Rails up. Learn how to improve your models, controllers and views.&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/refactoring-existing-code&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/30: Image Uploads in Rails with TDD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/image-uploads-in-rails-with-tdd&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/23:  Calculating π with Object-Oriented Ruby and Test-Driven Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use our favorite programming language to calculate one of our favorite irrationals.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need Rails for this class; it&#039;s Ruby-only. Just bring a laptop with Ruby 1.9. &lt;br /&gt;
&lt;br /&gt;
Suggested Preparation &lt;br /&gt;
&lt;br /&gt;
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html &lt;br /&gt;
&lt;br /&gt;
http://blog.teamtreehouse.com/an-introduction-to-rspec&lt;br /&gt;
&lt;br /&gt;
RSVP here- http://rails-school.heroku.com/lessons/calculating-with-object-oriented-ruby-and-test-driven-development&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/16:  How to prepare your Rails app for production&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By choosing to build your web app in Rails, countless choices have been made for you that give you the best chance of a successful launch. Nevertheless, there are some details you will need to take care of on your own.&lt;br /&gt;
&lt;br /&gt;
In this class, we will implement the minimum precautionary steps to ensure the performance and security of our Rails apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have completed the Getting Started guide at http://guides.rubyonrails.org/getting_started.html and be ready to hack on your blogs in class.&lt;br /&gt;
&lt;br /&gt;
Recommended reading&lt;br /&gt;
http://guides.rubyonrails.org/security.html&lt;br /&gt;
http://guides.rubyonrails.org/caching_with_rails.html&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/how-to-prepare-your-rails-app-for-production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/9: Sending email using background workers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this class we will show how to send email using Rails. We will also utilize delayed_job gem to handle the actual email sending in the background. &lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
ActiveMailer: http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
Delayed Job: https://github.com/collectiveidea/delayed_job&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/sending-email-using-background-workers&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/2: Etherpad Bots&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etherpads are the shared docs we take our class notes on. &lt;br /&gt;
&lt;br /&gt;
Read about Etherpads here: http://etherpad.org/ &lt;br /&gt;
&lt;br /&gt;
We will target an Etherpad-Lite instance using Ruby.  Visit https://github.com/jhollinger/ruby-etherpad-lite to get some ideas what might be possible.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/etherpad-bots&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/25: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a) bootstrapping your development environment - follow&lt;br /&gt;
http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b) setting up a basic blog application - follow&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.&lt;br /&gt;
This class will be a looser format than usual, so everyone, please&lt;br /&gt;
bring snacks! If there&#039;s interest, we will get beers at Shotwell&#039;s&lt;br /&gt;
afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day--2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/18: Roll-your-own Chat App with the Goliath web server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rails isn&#039;t perfect for interactive, real-time, scalable apps. Let&#039;s play with Goliath, a Ruby-based web server that is.&lt;br /&gt;
&lt;br /&gt;
This is Ruby-only class for which no Rails experience is required. &lt;br /&gt;
&lt;br /&gt;
However, please complete this small tutorial on EventMachine beforehand: http://rubysource.com/introduction-to-event-machine/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/roll-your-own-chat-app-with-the-goliath-web-server&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/11: Scraping and Parsing the Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last resort when there is no API, scraping and parsing isn&#039;t much fun, but Ruby&#039;s got some great tools to alleviate the pain.&lt;br /&gt;
&lt;br /&gt;
Please bring some sources you want to scrape as well as ideas for what to do with the scraped data. &lt;br /&gt;
&lt;br /&gt;
The homework is to complete this tutorial on regular expressions:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-regular-expressions/ &lt;br /&gt;
&lt;br /&gt;
Regular expressions are a must-know tool when you&#039;re parsing textual data:http://xkcd.com/208/ &lt;br /&gt;
&lt;br /&gt;
But they&#039;re not the right tool for every problem:http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html&lt;br /&gt;
&lt;br /&gt;
This class is Ruby-only.  New students that are Ruby newbies, please complete http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html before class.  You don&#039;t need to know Rails are have completed the Rails getting started guide before attending Ruby-only classes like this one.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/scraping-and-parsing-the-web&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/4: Hacking around Foursquare API with ruby&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lets learn how easy it is to use Foursquare API with ruby {should be easy:)}&lt;br /&gt;
&lt;br /&gt;
Homework: &lt;br /&gt;
&lt;br /&gt;
1. generate ideas about how to use foursquare API and what apps could be made with it. &lt;br /&gt;
We will decide what app we are going to build at the beginning of the class. &lt;br /&gt;
&lt;br /&gt;
2. Scan through Foursquare API documentation https://developer.foursquare.com/ to know what is possible and what is not&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/hack-with-foursquare-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/28 Class: Self-posting Novelty Twitter Accounts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create bots that make interesting tweets periodically&lt;br /&gt;
&lt;br /&gt;
The homework is just to come up with a fun and simple idea for the tweets you want your bot to post.   Also, register your novelty twitter username and a twitter app: http://dev.twitter.com .  And make sure you have a heroku account set up.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also have a Ruby 101 break-out group for people that are not ready to program twitter bots.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/self-posting-novelty-twitter-accounts&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/21 Class: Dive into ActiveRecord&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be taking a deeper look at what is ActiveRecord (since it&#039;s such a big part of Rails)&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_querying.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/association_basics.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_validations_callbacks.html&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/activerecord&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/14 Class: Twitter API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Playing with twitter API to build fun apps&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
Twitter API docs: https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/7 Class: Ruby, API&#039;s, and Gems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No Rails today; Ruby, Rest API&#039;s and Ruby Gems instead!&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/31 Class: Rails&#039; Asset Pipeline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll look closely at asset organization, compilation, and packaging, and also check out SCSS and Coffeescript.&lt;br /&gt;
&lt;br /&gt;
Required Viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Understanding the Asset Pipeline&#039;&#039; by RailsCasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/279-understanding-the-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/rails-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/24 Class: Fun with the Stripe payment API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll hook up Stripe&#039;s API in our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please sign up for Stripe ahead of time - https://manage.stripe.com/register&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a handy link to Stripe&#039;s API docs - https://stripe.com/docs&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How I Explained REST to My Wife&#039;&#039; by Ryan Tomayko&lt;br /&gt;
&lt;br /&gt;
http://tomayko.com/writings/rest-to-my-wife&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/fun-with-the-stripe-payment-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/17 Class: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a)  bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b)  setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.  This class will be a looser format than usual, so everyone, please bring snacks!  If there&#039;s interest, we will get beers at Shotwell&#039;s afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/10 Class: Continuous Integration with Travis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Intro to CI including configuring our apps to run on Travis-CI.&lt;br /&gt;
&lt;br /&gt;
Please bring a Rails app that you&#039;ve already pushed to Github.&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Continuous Integration&#039;&#039; by Martin Fowler&lt;br /&gt;
&lt;br /&gt;
http://martinfowler.com/articles/continuousIntegration.html&lt;br /&gt;
&lt;br /&gt;
RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/3 Class: Playing with APIs&lt;br /&gt;
&lt;br /&gt;
Where: 7pm-9pm Tuesday in the Church classroom&lt;br /&gt;
&lt;br /&gt;
What: Using the Twitter API in your Rails app&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
&lt;br /&gt;
https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/26 Class: Layouts and Rendering in Rails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeting as usual 7pm-9pm Tuesday in the Church classroom.&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce&lt;br /&gt;
how to organize layouts, partial, templates, etc in Rails.&lt;br /&gt;
&lt;br /&gt;
Homework:&lt;br /&gt;
1. http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html &lt;br /&gt;
3. Also prepare some questions!! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/19 Class: Test-Driven-Development and Sending Emails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.&lt;br /&gt;
&lt;br /&gt;
New students and others interested will have the option of learning Ruby 101 separately.&lt;br /&gt;
&lt;br /&gt;
Homework: First make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial.  Then get as far as you can in both of the following tutorials.  Don&#039;t worry if you don&#039;t finish them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Mailer Basics&#039;&#039; by RailsGuides&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Request Specs and Capybara&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/257-request-specs-and-capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/12 Class: Dissecting the request lifecycle with pry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s investigate the journey of a request through Rails with some help from the debugging tool pry.&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rails 3 in a Nutshell&#039;&#039; by O&#039;Reilly, Chapter 2, up to and including the &#039;&#039;&#039;Controller&#039;&#039;&#039; section&lt;br /&gt;
&lt;br /&gt;
http://ofps.oreilly.com/titles/9780596521424/rails.html&lt;br /&gt;
&lt;br /&gt;
Required viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pry with Rails&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/280-pry-with-rails&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry&lt;br /&gt;
&lt;br /&gt;
Notes- http://beta.primarypad.com/p/G86Niu6EXz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/5 Class: Ajax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to continue our discussion of using Rails&#039; Unobtrusive Javascript framework to add ajax interaction to our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html so we&#039;re all on the same page.&lt;br /&gt;
&lt;br /&gt;
Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/KjI5Ic2327&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/29 Class: Intro to Product Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There&#039;s more to building web apps than hacking code, like figuring out what problem you&#039;re solving and how you&#039;ll know when you&#039;ve solved it.  This class we&#039;ll look at Michael&#039;s website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.&lt;br /&gt;
&lt;br /&gt;
Homework is to think about these questions, or come up with your own:&lt;br /&gt;
* Who are the target users of the class website?&lt;br /&gt;
* What utility do they need out of the site to start using it right away?&lt;br /&gt;
* What features could be added to open up the site to a larger audience?&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QjFPw7bflF&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/22 Class: Authentication with the Devise gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .  Seriously!&lt;br /&gt;
&lt;br /&gt;
Enough talking about awesome Rails gems, let&#039;s use one in an app.  We&#039;re going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.&lt;br /&gt;
&lt;br /&gt;
We will also have a beginners&#039; group for folks needing help getting Rails set up or wanting to learn Ruby.&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QC7KG7aKVB&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/15 Class: Demo Day!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .&lt;br /&gt;
&lt;br /&gt;
This class we&#039;re going to start with a show-and-tell of projects we&#039;re working on or have recently completed.  The demos don&#039;t have to be Ruby- or Rails-related, but should be related to web programming in some way.  This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.&lt;br /&gt;
&lt;br /&gt;
Then we&#039;ll break up into two groups, one for beginners and one for more experienced students.&lt;br /&gt;
&lt;br /&gt;
Notes - http://openetherpad.org/xsy1zKhrbj&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/8 Class: topic is BLOGS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.  &lt;br /&gt;
&lt;br /&gt;
Please post some links here to your favorite blogs.  We&#039;ll take a look at some blog features and talk about how they might be implemented.&lt;br /&gt;
&lt;br /&gt;
Gabe&#039;s pick: http://www.overheardinnewyork.com/&lt;br /&gt;
&lt;br /&gt;
Notes: http://openetherpad.org/sIYNUEPzld&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/2 Class:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notes: http://piratepad.net/dJupUHZoOP&lt;br /&gt;
&lt;br /&gt;
[[Category:Ruby]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Rails]]&lt;br /&gt;
[[Category:Classes]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28257</id>
		<title>Backend web dev in Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28257"/>
		<updated>2012-11-29T02:25:26Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.&lt;br /&gt;
&lt;br /&gt;
We meet Tuesdays 7pm-9pm in the Church room.  &lt;br /&gt;
&lt;br /&gt;
Approximately half of our lessons are on Ruby, and half Rails.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Ruby lessons, please have Ruby 1.9.3 installed on your machine.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for your system for the Rails lessons, please follow this great, actively maintained Railsbridge guide -- http://installfest.railsbridge.org/installfest/installfest . Then create a blog app by completing this tutorial --  http://guides.rubyonrails.org/getting_started.html .  (we will build off the blog app extensively)&lt;br /&gt;
&lt;br /&gt;
Student, teachers, TA&#039;s needed and welcome!&lt;br /&gt;
&lt;br /&gt;
Join the google group here: https://groups.google.com/group/starmonkeys .  And visit our class website at http://www.railsschool.org .&lt;br /&gt;
&lt;br /&gt;
Use the google group or Discussion view of this page to ask questions or suggest ideas!&lt;br /&gt;
&lt;br /&gt;
And be sure to check out Jeremy&#039;s awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/4: Improving UX and Performance with Turblinks and Pjax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Turbolinks and pjax are techniques that avoid page reloads when navigating a site.  &lt;br /&gt;
&lt;br /&gt;
Turbolinks can be added to an existing app with hardly any changes needed, and will be enabled by default in Rails 4.&lt;br /&gt;
&lt;br /&gt;
Pjax is used by Github, for example, to allow users to quickly navigate repositories.&lt;br /&gt;
&lt;br /&gt;
We will dust off our blog apps, turn on Turbolinks and observe the difference, then implement a little bit of pjax.&lt;br /&gt;
&lt;br /&gt;
Please make sure your blog app is functioning.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
http://railscasts.com/episodes/294-playing-with-pjax&lt;br /&gt;
http://railscasts.com/episodes/390-turbolinks&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/improving-ux-and-performance-with-turblinks-and-pjax&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/27: Backbone.js with Rails and creating an API for your app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementing hot frontend framework backbone.js in rails application. Creating API for your app. Homework -&amp;gt; Read: http://backbonejs.org/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backbone-js&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/20: Images: Instagram API with Ruby-On-Rails and Carrierwave gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure that you have Rails installed. Think about what kind of App we can build during our class with Instagram API&lt;br /&gt;
Also would be good if you create Amazon Simple Storage Service (Amazon S3) (aws.amazon.com/s3/)&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/instagram-api-with-ruby-on-rails&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/13: Bootstrapping a Fresh Rails App&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll take a break from our blogs and create a brand new app.&lt;br /&gt;
&lt;br /&gt;
The goal is to learn the little gotchas associated with starting new projects as well as tips for getting up and running quickly. &lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html in preparation.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/bootstrapping-a-fresh-rails-app&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/6: Refactoring existing code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to take a look at refactoring an existing Rails up. Learn how to improve your models, controllers and views.&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/refactoring-existing-code&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/30: Image Uploads in Rails with TDD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/image-uploads-in-rails-with-tdd&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/23:  Calculating π with Object-Oriented Ruby and Test-Driven Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use our favorite programming language to calculate one of our favorite irrationals.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need Rails for this class; it&#039;s Ruby-only. Just bring a laptop with Ruby 1.9. &lt;br /&gt;
&lt;br /&gt;
Suggested Preparation &lt;br /&gt;
&lt;br /&gt;
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html &lt;br /&gt;
&lt;br /&gt;
http://blog.teamtreehouse.com/an-introduction-to-rspec&lt;br /&gt;
&lt;br /&gt;
RSVP here- http://rails-school.heroku.com/lessons/calculating-with-object-oriented-ruby-and-test-driven-development&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/16:  How to prepare your Rails app for production&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By choosing to build your web app in Rails, countless choices have been made for you that give you the best chance of a successful launch. Nevertheless, there are some details you will need to take care of on your own.&lt;br /&gt;
&lt;br /&gt;
In this class, we will implement the minimum precautionary steps to ensure the performance and security of our Rails apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have completed the Getting Started guide at http://guides.rubyonrails.org/getting_started.html and be ready to hack on your blogs in class.&lt;br /&gt;
&lt;br /&gt;
Recommended reading&lt;br /&gt;
http://guides.rubyonrails.org/security.html&lt;br /&gt;
http://guides.rubyonrails.org/caching_with_rails.html&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/how-to-prepare-your-rails-app-for-production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/9: Sending email using background workers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this class we will show how to send email using Rails. We will also utilize delayed_job gem to handle the actual email sending in the background. &lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
ActiveMailer: http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
Delayed Job: https://github.com/collectiveidea/delayed_job&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/sending-email-using-background-workers&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/2: Etherpad Bots&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etherpads are the shared docs we take our class notes on. &lt;br /&gt;
&lt;br /&gt;
Read about Etherpads here: http://etherpad.org/ &lt;br /&gt;
&lt;br /&gt;
We will target an Etherpad-Lite instance using Ruby.  Visit https://github.com/jhollinger/ruby-etherpad-lite to get some ideas what might be possible.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/etherpad-bots&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/25: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a) bootstrapping your development environment - follow&lt;br /&gt;
http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b) setting up a basic blog application - follow&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.&lt;br /&gt;
This class will be a looser format than usual, so everyone, please&lt;br /&gt;
bring snacks! If there&#039;s interest, we will get beers at Shotwell&#039;s&lt;br /&gt;
afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day--2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/18: Roll-your-own Chat App with the Goliath web server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rails isn&#039;t perfect for interactive, real-time, scalable apps. Let&#039;s play with Goliath, a Ruby-based web server that is.&lt;br /&gt;
&lt;br /&gt;
This is Ruby-only class for which no Rails experience is required. &lt;br /&gt;
&lt;br /&gt;
However, please complete this small tutorial on EventMachine beforehand: http://rubysource.com/introduction-to-event-machine/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/roll-your-own-chat-app-with-the-goliath-web-server&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/11: Scraping and Parsing the Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last resort when there is no API, scraping and parsing isn&#039;t much fun, but Ruby&#039;s got some great tools to alleviate the pain.&lt;br /&gt;
&lt;br /&gt;
Please bring some sources you want to scrape as well as ideas for what to do with the scraped data. &lt;br /&gt;
&lt;br /&gt;
The homework is to complete this tutorial on regular expressions:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-regular-expressions/ &lt;br /&gt;
&lt;br /&gt;
Regular expressions are a must-know tool when you&#039;re parsing textual data:http://xkcd.com/208/ &lt;br /&gt;
&lt;br /&gt;
But they&#039;re not the right tool for every problem:http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html&lt;br /&gt;
&lt;br /&gt;
This class is Ruby-only.  New students that are Ruby newbies, please complete http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html before class.  You don&#039;t need to know Rails are have completed the Rails getting started guide before attending Ruby-only classes like this one.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/scraping-and-parsing-the-web&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/4: Hacking around Foursquare API with ruby&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lets learn how easy it is to use Foursquare API with ruby {should be easy:)}&lt;br /&gt;
&lt;br /&gt;
Homework: &lt;br /&gt;
&lt;br /&gt;
1. generate ideas about how to use foursquare API and what apps could be made with it. &lt;br /&gt;
We will decide what app we are going to build at the beginning of the class. &lt;br /&gt;
&lt;br /&gt;
2. Scan through Foursquare API documentation https://developer.foursquare.com/ to know what is possible and what is not&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/hack-with-foursquare-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/28 Class: Self-posting Novelty Twitter Accounts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create bots that make interesting tweets periodically&lt;br /&gt;
&lt;br /&gt;
The homework is just to come up with a fun and simple idea for the tweets you want your bot to post.   Also, register your novelty twitter username and a twitter app: http://dev.twitter.com .  And make sure you have a heroku account set up.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also have a Ruby 101 break-out group for people that are not ready to program twitter bots.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/self-posting-novelty-twitter-accounts&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/21 Class: Dive into ActiveRecord&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be taking a deeper look at what is ActiveRecord (since it&#039;s such a big part of Rails)&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_querying.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/association_basics.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_validations_callbacks.html&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/activerecord&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/14 Class: Twitter API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Playing with twitter API to build fun apps&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
Twitter API docs: https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/7 Class: Ruby, API&#039;s, and Gems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No Rails today; Ruby, Rest API&#039;s and Ruby Gems instead!&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/31 Class: Rails&#039; Asset Pipeline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll look closely at asset organization, compilation, and packaging, and also check out SCSS and Coffeescript.&lt;br /&gt;
&lt;br /&gt;
Required Viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Understanding the Asset Pipeline&#039;&#039; by RailsCasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/279-understanding-the-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/rails-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/24 Class: Fun with the Stripe payment API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll hook up Stripe&#039;s API in our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please sign up for Stripe ahead of time - https://manage.stripe.com/register&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a handy link to Stripe&#039;s API docs - https://stripe.com/docs&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How I Explained REST to My Wife&#039;&#039; by Ryan Tomayko&lt;br /&gt;
&lt;br /&gt;
http://tomayko.com/writings/rest-to-my-wife&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/fun-with-the-stripe-payment-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/17 Class: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a)  bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b)  setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.  This class will be a looser format than usual, so everyone, please bring snacks!  If there&#039;s interest, we will get beers at Shotwell&#039;s afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/10 Class: Continuous Integration with Travis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Intro to CI including configuring our apps to run on Travis-CI.&lt;br /&gt;
&lt;br /&gt;
Please bring a Rails app that you&#039;ve already pushed to Github.&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Continuous Integration&#039;&#039; by Martin Fowler&lt;br /&gt;
&lt;br /&gt;
http://martinfowler.com/articles/continuousIntegration.html&lt;br /&gt;
&lt;br /&gt;
RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/3 Class: Playing with APIs&lt;br /&gt;
&lt;br /&gt;
Where: 7pm-9pm Tuesday in the Church classroom&lt;br /&gt;
&lt;br /&gt;
What: Using the Twitter API in your Rails app&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
&lt;br /&gt;
https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/26 Class: Layouts and Rendering in Rails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeting as usual 7pm-9pm Tuesday in the Church classroom.&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce&lt;br /&gt;
how to organize layouts, partial, templates, etc in Rails.&lt;br /&gt;
&lt;br /&gt;
Homework:&lt;br /&gt;
1. http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html &lt;br /&gt;
3. Also prepare some questions!! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/19 Class: Test-Driven-Development and Sending Emails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.&lt;br /&gt;
&lt;br /&gt;
New students and others interested will have the option of learning Ruby 101 separately.&lt;br /&gt;
&lt;br /&gt;
Homework: First make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial.  Then get as far as you can in both of the following tutorials.  Don&#039;t worry if you don&#039;t finish them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Mailer Basics&#039;&#039; by RailsGuides&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Request Specs and Capybara&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/257-request-specs-and-capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/12 Class: Dissecting the request lifecycle with pry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s investigate the journey of a request through Rails with some help from the debugging tool pry.&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rails 3 in a Nutshell&#039;&#039; by O&#039;Reilly, Chapter 2, up to and including the &#039;&#039;&#039;Controller&#039;&#039;&#039; section&lt;br /&gt;
&lt;br /&gt;
http://ofps.oreilly.com/titles/9780596521424/rails.html&lt;br /&gt;
&lt;br /&gt;
Required viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pry with Rails&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/280-pry-with-rails&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry&lt;br /&gt;
&lt;br /&gt;
Notes- http://beta.primarypad.com/p/G86Niu6EXz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/5 Class: Ajax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to continue our discussion of using Rails&#039; Unobtrusive Javascript framework to add ajax interaction to our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html so we&#039;re all on the same page.&lt;br /&gt;
&lt;br /&gt;
Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/KjI5Ic2327&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/29 Class: Intro to Product Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There&#039;s more to building web apps than hacking code, like figuring out what problem you&#039;re solving and how you&#039;ll know when you&#039;ve solved it.  This class we&#039;ll look at Michael&#039;s website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.&lt;br /&gt;
&lt;br /&gt;
Homework is to think about these questions, or come up with your own:&lt;br /&gt;
* Who are the target users of the class website?&lt;br /&gt;
* What utility do they need out of the site to start using it right away?&lt;br /&gt;
* What features could be added to open up the site to a larger audience?&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QjFPw7bflF&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/22 Class: Authentication with the Devise gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .  Seriously!&lt;br /&gt;
&lt;br /&gt;
Enough talking about awesome Rails gems, let&#039;s use one in an app.  We&#039;re going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.&lt;br /&gt;
&lt;br /&gt;
We will also have a beginners&#039; group for folks needing help getting Rails set up or wanting to learn Ruby.&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QC7KG7aKVB&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/15 Class: Demo Day!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .&lt;br /&gt;
&lt;br /&gt;
This class we&#039;re going to start with a show-and-tell of projects we&#039;re working on or have recently completed.  The demos don&#039;t have to be Ruby- or Rails-related, but should be related to web programming in some way.  This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.&lt;br /&gt;
&lt;br /&gt;
Then we&#039;ll break up into two groups, one for beginners and one for more experienced students.&lt;br /&gt;
&lt;br /&gt;
Notes - http://openetherpad.org/xsy1zKhrbj&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/8 Class: topic is BLOGS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.  &lt;br /&gt;
&lt;br /&gt;
Please post some links here to your favorite blogs.  We&#039;ll take a look at some blog features and talk about how they might be implemented.&lt;br /&gt;
&lt;br /&gt;
Gabe&#039;s pick: http://www.overheardinnewyork.com/&lt;br /&gt;
&lt;br /&gt;
Notes: http://openetherpad.org/sIYNUEPzld&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/2 Class:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notes: http://piratepad.net/dJupUHZoOP&lt;br /&gt;
&lt;br /&gt;
[[Category:Ruby]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Rails]]&lt;br /&gt;
[[Category:Classes]]&lt;br /&gt;
[[Category:Events]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28256</id>
		<title>Backend web dev in Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28256"/>
		<updated>2012-11-29T02:22:38Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.&lt;br /&gt;
&lt;br /&gt;
We meet Tuesdays 7pm-9pm in the Church room.  &lt;br /&gt;
&lt;br /&gt;
Approximately half of our lessons are on Ruby, and half Rails.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Ruby lessons, please have Ruby 1.9.3 installed on your machine.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for your system for the Rails lessons, please follow this great, actively maintained Railsbridge guide -- http://installfest.railsbridge.org/installfest/installfest . Then create a blog app by completing this tutorial --  http://guides.rubyonrails.org/getting_started.html .  (we will build off the blog app extensively)&lt;br /&gt;
&lt;br /&gt;
Student, teachers, TA&#039;s needed and welcome!&lt;br /&gt;
&lt;br /&gt;
Join the google group here: https://groups.google.com/group/starmonkeys .  And visit our class website at http://www.railsschool.org .&lt;br /&gt;
&lt;br /&gt;
Use the google group or Discussion view of this page to ask questions or suggest ideas!&lt;br /&gt;
&lt;br /&gt;
And be sure to check out Jeremy&#039;s awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/4: Improving UX and Performance with Turblinks and Pjax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Turbolinks and pjax are techniques that avoid page reloads when navigating a site.  &lt;br /&gt;
&lt;br /&gt;
Turbolinks can be added to an existing app with hardly any changes needed, and will be enabled by default in Rails 4.&lt;br /&gt;
&lt;br /&gt;
Pjax is used by Github, for example, to allow users to quickly navigate repositories.&lt;br /&gt;
&lt;br /&gt;
We will dust off our blog apps, turn on Turbolinks and observe the difference, then implement a little bit of pjax.&lt;br /&gt;
&lt;br /&gt;
Please make sure your blog app is functioning.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
http://railscasts.com/episodes/294-playing-with-pjax&lt;br /&gt;
http://railscasts.com/episodes/390-turbolinks&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/improving-ux-and-performance-with-turblinks-and-pjax&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/27: Backbone.js with Rails and creating an API for your app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementing hot frontend framework backbone.js in rails application. Creating API for your app. Homework -&amp;gt; Read: http://backbonejs.org/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backbone-js&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/20: Images: Instagram API with Ruby-On-Rails and Carrierwave gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure that you have Rails installed. Think about what kind of App we can build during our class with Instagram API&lt;br /&gt;
Also would be good if you create Amazon Simple Storage Service (Amazon S3) (aws.amazon.com/s3/)&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/instagram-api-with-ruby-on-rails&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/13: Bootstrapping a Fresh Rails App&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll take a break from our blogs and create a brand new app.&lt;br /&gt;
&lt;br /&gt;
The goal is to learn the little gotchas associated with starting new projects as well as tips for getting up and running quickly. &lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html in preparation.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/bootstrapping-a-fresh-rails-app&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/6: Refactoring existing code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to take a look at refactoring an existing Rails up. Learn how to improve your models, controllers and views.&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/refactoring-existing-code&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/30: Image Uploads in Rails with TDD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/image-uploads-in-rails-with-tdd&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/23:  Calculating π with Object-Oriented Ruby and Test-Driven Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use our favorite programming language to calculate one of our favorite irrationals.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need Rails for this class; it&#039;s Ruby-only. Just bring a laptop with Ruby 1.9. &lt;br /&gt;
&lt;br /&gt;
Suggested Preparation &lt;br /&gt;
&lt;br /&gt;
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html &lt;br /&gt;
&lt;br /&gt;
http://blog.teamtreehouse.com/an-introduction-to-rspec&lt;br /&gt;
&lt;br /&gt;
RSVP here- http://rails-school.heroku.com/lessons/calculating-with-object-oriented-ruby-and-test-driven-development&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/16:  How to prepare your Rails app for production&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By choosing to build your web app in Rails, countless choices have been made for you that give you the best chance of a successful launch. Nevertheless, there are some details you will need to take care of on your own.&lt;br /&gt;
&lt;br /&gt;
In this class, we will implement the minimum precautionary steps to ensure the performance and security of our Rails apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have completed the Getting Started guide at http://guides.rubyonrails.org/getting_started.html and be ready to hack on your blogs in class.&lt;br /&gt;
&lt;br /&gt;
Recommended reading&lt;br /&gt;
http://guides.rubyonrails.org/security.html&lt;br /&gt;
http://guides.rubyonrails.org/caching_with_rails.html&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/how-to-prepare-your-rails-app-for-production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/9: Sending email using background workers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this class we will show how to send email using Rails. We will also utilize delayed_job gem to handle the actual email sending in the background. &lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
ActiveMailer: http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
Delayed Job: https://github.com/collectiveidea/delayed_job&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/sending-email-using-background-workers&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/2: Etherpad Bots&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etherpads are the shared docs we take our class notes on. &lt;br /&gt;
&lt;br /&gt;
Read about Etherpads here: http://etherpad.org/ &lt;br /&gt;
&lt;br /&gt;
We will target an Etherpad-Lite instance using Ruby.  Visit https://github.com/jhollinger/ruby-etherpad-lite to get some ideas what might be possible.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/etherpad-bots&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/25: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a) bootstrapping your development environment - follow&lt;br /&gt;
http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b) setting up a basic blog application - follow&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.&lt;br /&gt;
This class will be a looser format than usual, so everyone, please&lt;br /&gt;
bring snacks! If there&#039;s interest, we will get beers at Shotwell&#039;s&lt;br /&gt;
afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day--2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/18: Roll-your-own Chat App with the Goliath web server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rails isn&#039;t perfect for interactive, real-time, scalable apps. Let&#039;s play with Goliath, a Ruby-based web server that is.&lt;br /&gt;
&lt;br /&gt;
This is Ruby-only class for which no Rails experience is required. &lt;br /&gt;
&lt;br /&gt;
However, please complete this small tutorial on EventMachine beforehand: http://rubysource.com/introduction-to-event-machine/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/roll-your-own-chat-app-with-the-goliath-web-server&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/11: Scraping and Parsing the Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last resort when there is no API, scraping and parsing isn&#039;t much fun, but Ruby&#039;s got some great tools to alleviate the pain.&lt;br /&gt;
&lt;br /&gt;
Please bring some sources you want to scrape as well as ideas for what to do with the scraped data. &lt;br /&gt;
&lt;br /&gt;
The homework is to complete this tutorial on regular expressions:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-regular-expressions/ &lt;br /&gt;
&lt;br /&gt;
Regular expressions are a must-know tool when you&#039;re parsing textual data:http://xkcd.com/208/ &lt;br /&gt;
&lt;br /&gt;
But they&#039;re not the right tool for every problem:http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html&lt;br /&gt;
&lt;br /&gt;
This class is Ruby-only.  New students that are Ruby newbies, please complete http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html before class.  You don&#039;t need to know Rails are have completed the Rails getting started guide before attending Ruby-only classes like this one.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/scraping-and-parsing-the-web&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/4: Hacking around Foursquare API with ruby&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lets learn how easy it is to use Foursquare API with ruby {should be easy:)}&lt;br /&gt;
&lt;br /&gt;
Homework: &lt;br /&gt;
&lt;br /&gt;
1. generate ideas about how to use foursquare API and what apps could be made with it. &lt;br /&gt;
We will decide what app we are going to build at the beginning of the class. &lt;br /&gt;
&lt;br /&gt;
2. Scan through Foursquare API documentation https://developer.foursquare.com/ to know what is possible and what is not&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/hack-with-foursquare-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/28 Class: Self-posting Novelty Twitter Accounts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create bots that make interesting tweets periodically&lt;br /&gt;
&lt;br /&gt;
The homework is just to come up with a fun and simple idea for the tweets you want your bot to post.   Also, register your novelty twitter username and a twitter app: http://dev.twitter.com .  And make sure you have a heroku account set up.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also have a Ruby 101 break-out group for people that are not ready to program twitter bots.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/self-posting-novelty-twitter-accounts&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/21 Class: Dive into ActiveRecord&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be taking a deeper look at what is ActiveRecord (since it&#039;s such a big part of Rails)&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_querying.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/association_basics.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_validations_callbacks.html&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/activerecord&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/14 Class: Twitter API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Playing with twitter API to build fun apps&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
Twitter API docs: https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/7 Class: Ruby, API&#039;s, and Gems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No Rails today; Ruby, Rest API&#039;s and Ruby Gems instead!&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/31 Class: Rails&#039; Asset Pipeline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll look closely at asset organization, compilation, and packaging, and also check out SCSS and Coffeescript.&lt;br /&gt;
&lt;br /&gt;
Required Viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Understanding the Asset Pipeline&#039;&#039; by RailsCasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/279-understanding-the-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/rails-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/24 Class: Fun with the Stripe payment API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll hook up Stripe&#039;s API in our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please sign up for Stripe ahead of time - https://manage.stripe.com/register&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a handy link to Stripe&#039;s API docs - https://stripe.com/docs&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How I Explained REST to My Wife&#039;&#039; by Ryan Tomayko&lt;br /&gt;
&lt;br /&gt;
http://tomayko.com/writings/rest-to-my-wife&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/fun-with-the-stripe-payment-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/17 Class: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a)  bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b)  setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.  This class will be a looser format than usual, so everyone, please bring snacks!  If there&#039;s interest, we will get beers at Shotwell&#039;s afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/10 Class: Continuous Integration with Travis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Intro to CI including configuring our apps to run on Travis-CI.&lt;br /&gt;
&lt;br /&gt;
Please bring a Rails app that you&#039;ve already pushed to Github.&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Continuous Integration&#039;&#039; by Martin Fowler&lt;br /&gt;
&lt;br /&gt;
http://martinfowler.com/articles/continuousIntegration.html&lt;br /&gt;
&lt;br /&gt;
RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/3 Class: Playing with APIs&lt;br /&gt;
&lt;br /&gt;
Where: 7pm-9pm Tuesday in the Church classroom&lt;br /&gt;
&lt;br /&gt;
What: Using the Twitter API in your Rails app&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
&lt;br /&gt;
https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/26 Class: Layouts and Rendering in Rails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeting as usual 7pm-9pm Tuesday in the Church classroom.&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce&lt;br /&gt;
how to organize layouts, partial, templates, etc in Rails.&lt;br /&gt;
&lt;br /&gt;
Homework:&lt;br /&gt;
1. http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html &lt;br /&gt;
3. Also prepare some questions!! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/19 Class: Test-Driven-Development and Sending Emails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.&lt;br /&gt;
&lt;br /&gt;
New students and others interested will have the option of learning Ruby 101 separately.&lt;br /&gt;
&lt;br /&gt;
Homework: First make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial.  Then get as far as you can in both of the following tutorials.  Don&#039;t worry if you don&#039;t finish them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Mailer Basics&#039;&#039; by RailsGuides&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Request Specs and Capybara&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/257-request-specs-and-capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/12 Class: Dissecting the request lifecycle with pry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s investigate the journey of a request through Rails with some help from the debugging tool pry.&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rails 3 in a Nutshell&#039;&#039; by O&#039;Reilly, Chapter 2, up to and including the &#039;&#039;&#039;Controller&#039;&#039;&#039; section&lt;br /&gt;
&lt;br /&gt;
http://ofps.oreilly.com/titles/9780596521424/rails.html&lt;br /&gt;
&lt;br /&gt;
Required viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pry with Rails&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/280-pry-with-rails&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry&lt;br /&gt;
&lt;br /&gt;
Notes- http://beta.primarypad.com/p/G86Niu6EXz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/5 Class: Ajax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to continue our discussion of using Rails&#039; Unobtrusive Javascript framework to add ajax interaction to our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html so we&#039;re all on the same page.&lt;br /&gt;
&lt;br /&gt;
Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/KjI5Ic2327&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/29 Class: Intro to Product Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There&#039;s more to building web apps than hacking code, like figuring out what problem you&#039;re solving and how you&#039;ll know when you&#039;ve solved it.  This class we&#039;ll look at Michael&#039;s website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.&lt;br /&gt;
&lt;br /&gt;
Homework is to think about these questions, or come up with your own:&lt;br /&gt;
* Who are the target users of the class website?&lt;br /&gt;
* What utility do they need out of the site to start using it right away?&lt;br /&gt;
* What features could be added to open up the site to a larger audience?&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QjFPw7bflF&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/22 Class: Authentication with the Devise gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .  Seriously!&lt;br /&gt;
&lt;br /&gt;
Enough talking about awesome Rails gems, let&#039;s use one in an app.  We&#039;re going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.&lt;br /&gt;
&lt;br /&gt;
We will also have a beginners&#039; group for folks needing help getting Rails set up or wanting to learn Ruby.&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QC7KG7aKVB&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/15 Class: Demo Day!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .&lt;br /&gt;
&lt;br /&gt;
This class we&#039;re going to start with a show-and-tell of projects we&#039;re working on or have recently completed.  The demos don&#039;t have to be Ruby- or Rails-related, but should be related to web programming in some way.  This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.&lt;br /&gt;
&lt;br /&gt;
Then we&#039;ll break up into two groups, one for beginners and one for more experienced students.&lt;br /&gt;
&lt;br /&gt;
Notes - http://openetherpad.org/xsy1zKhrbj&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/8 Class: topic is BLOGS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.  &lt;br /&gt;
&lt;br /&gt;
Please post some links here to your favorite blogs.  We&#039;ll take a look at some blog features and talk about how they might be implemented.&lt;br /&gt;
&lt;br /&gt;
Gabe&#039;s pick: http://www.overheardinnewyork.com/&lt;br /&gt;
&lt;br /&gt;
Notes: http://openetherpad.org/sIYNUEPzld&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/2 Class:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notes: http://piratepad.net/dJupUHZoOP&lt;br /&gt;
&lt;br /&gt;
[[Category:Ruby]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28255</id>
		<title>Backend web dev in Ruby on Rails</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Backend_web_dev_in_Ruby_on_Rails&amp;diff=28255"/>
		<updated>2012-11-29T02:21:02Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a weekly seminar and workshop for folks to learn everything about Ruby, Rails, and web application development.&lt;br /&gt;
&lt;br /&gt;
We meet Tuesdays 7pm-9pm in the Church room.  &lt;br /&gt;
&lt;br /&gt;
Approximately half of our lessons are on Ruby, and half Rails.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Ruby lessons, please have Ruby 1.9.3 installed on your machine.&lt;br /&gt;
&lt;br /&gt;
New students, to prepare for the Rails lessons, first please follow the steps here on the great, actively maintained Railsbridge guide for getting set up: http://installfest.railsbridge.org/installfest/installfest to prepare your system. Then create a blog app by following this tutorial --  http://guides.rubyonrails.org/getting_started.html .  (we will build off the blog app extensively)&lt;br /&gt;
&lt;br /&gt;
Student, teachers, TA&#039;s needed and welcome!&lt;br /&gt;
&lt;br /&gt;
Join the google group here: https://groups.google.com/group/starmonkeys .  And visit our class website at http://www.railsschool.org .&lt;br /&gt;
&lt;br /&gt;
Use the google group or Discussion view of this page to ask questions or suggest ideas!&lt;br /&gt;
&lt;br /&gt;
And be sure to check out Jeremy&#039;s awesome front-end class that meets Mondays:  https://www.noisebridge.net/wiki/Frontend_Web_Development .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 12/4: Improving UX and Performance with Turblinks and Pjax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Turbolinks and pjax are techniques that avoid page reloads when navigating a site.  &lt;br /&gt;
&lt;br /&gt;
Turbolinks can be added to an existing app with hardly any changes needed, and will be enabled by default in Rails 4.&lt;br /&gt;
&lt;br /&gt;
Pjax is used by Github, for example, to allow users to quickly navigate repositories.&lt;br /&gt;
&lt;br /&gt;
We will dust off our blog apps, turn on Turbolinks and observe the difference, then implement a little bit of pjax.&lt;br /&gt;
&lt;br /&gt;
Please make sure your blog app is functioning.&lt;br /&gt;
&lt;br /&gt;
Recommended viewing&lt;br /&gt;
http://railscasts.com/episodes/294-playing-with-pjax&lt;br /&gt;
http://railscasts.com/episodes/390-turbolinks&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/improving-ux-and-performance-with-turblinks-and-pjax&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/27: Backbone.js with Rails and creating an API for your app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementing hot frontend framework backbone.js in rails application. Creating API for your app. Homework -&amp;gt; Read: http://backbonejs.org/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/backbone-js&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/20: Images: Instagram API with Ruby-On-Rails and Carrierwave gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure that you have Rails installed. Think about what kind of App we can build during our class with Instagram API&lt;br /&gt;
Also would be good if you create Amazon Simple Storage Service (Amazon S3) (aws.amazon.com/s3/)&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://www.railsschool.org/l/instagram-api-with-ruby-on-rails&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/13: Bootstrapping a Fresh Rails App&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll take a break from our blogs and create a brand new app.&lt;br /&gt;
&lt;br /&gt;
The goal is to learn the little gotchas associated with starting new projects as well as tips for getting up and running quickly. &lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html in preparation.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/bootstrapping-a-fresh-rails-app&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 11/6: Refactoring existing code&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to take a look at refactoring an existing Rails up. Learn how to improve your models, controllers and views.&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/refactoring-existing-code&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/30: Image Uploads in Rails with TDD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please complete http://guides.rubyonrails.org/getting_started.html beforehand.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/image-uploads-in-rails-with-tdd&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/23:  Calculating π with Object-Oriented Ruby and Test-Driven Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use our favorite programming language to calculate one of our favorite irrationals.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need Rails for this class; it&#039;s Ruby-only. Just bring a laptop with Ruby 1.9. &lt;br /&gt;
&lt;br /&gt;
Suggested Preparation &lt;br /&gt;
&lt;br /&gt;
http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html &lt;br /&gt;
&lt;br /&gt;
http://blog.teamtreehouse.com/an-introduction-to-rspec&lt;br /&gt;
&lt;br /&gt;
RSVP here- http://rails-school.heroku.com/lessons/calculating-with-object-oriented-ruby-and-test-driven-development&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/16:  How to prepare your Rails app for production&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By choosing to build your web app in Rails, countless choices have been made for you that give you the best chance of a successful launch. Nevertheless, there are some details you will need to take care of on your own.&lt;br /&gt;
&lt;br /&gt;
In this class, we will implement the minimum precautionary steps to ensure the performance and security of our Rails apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have completed the Getting Started guide at http://guides.rubyonrails.org/getting_started.html and be ready to hack on your blogs in class.&lt;br /&gt;
&lt;br /&gt;
Recommended reading&lt;br /&gt;
http://guides.rubyonrails.org/security.html&lt;br /&gt;
http://guides.rubyonrails.org/caching_with_rails.html&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/how-to-prepare-your-rails-app-for-production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/9: Sending email using background workers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this class we will show how to send email using Rails. We will also utilize delayed_job gem to handle the actual email sending in the background. &lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
ActiveMailer: http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
Delayed Job: https://github.com/collectiveidea/delayed_job&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/sending-email-using-background-workers&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 10/2: Etherpad Bots&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Etherpads are the shared docs we take our class notes on. &lt;br /&gt;
&lt;br /&gt;
Read about Etherpads here: http://etherpad.org/ &lt;br /&gt;
&lt;br /&gt;
We will target an Etherpad-Lite instance using Ruby.  Visit https://github.com/jhollinger/ruby-etherpad-lite to get some ideas what might be possible.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/etherpad-bots&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/25: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a) bootstrapping your development environment - follow&lt;br /&gt;
http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b) setting up a basic blog application - follow&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.&lt;br /&gt;
This class will be a looser format than usual, so everyone, please&lt;br /&gt;
bring snacks! If there&#039;s interest, we will get beers at Shotwell&#039;s&lt;br /&gt;
afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day--2&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/18: Roll-your-own Chat App with the Goliath web server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rails isn&#039;t perfect for interactive, real-time, scalable apps. Let&#039;s play with Goliath, a Ruby-based web server that is.&lt;br /&gt;
&lt;br /&gt;
This is Ruby-only class for which no Rails experience is required. &lt;br /&gt;
&lt;br /&gt;
However, please complete this small tutorial on EventMachine beforehand: http://rubysource.com/introduction-to-event-machine/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/roll-your-own-chat-app-with-the-goliath-web-server&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/11: Scraping and Parsing the Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The last resort when there is no API, scraping and parsing isn&#039;t much fun, but Ruby&#039;s got some great tools to alleviate the pain.&lt;br /&gt;
&lt;br /&gt;
Please bring some sources you want to scrape as well as ideas for what to do with the scraped data. &lt;br /&gt;
&lt;br /&gt;
The homework is to complete this tutorial on regular expressions:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-regular-expressions/ &lt;br /&gt;
&lt;br /&gt;
Regular expressions are a must-know tool when you&#039;re parsing textual data:http://xkcd.com/208/ &lt;br /&gt;
&lt;br /&gt;
But they&#039;re not the right tool for every problem:http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html&lt;br /&gt;
&lt;br /&gt;
This class is Ruby-only.  New students that are Ruby newbies, please complete http://tutorials.jumpstartlab.com/projects/ruby_in_100_minutes.html before class.  You don&#039;t need to know Rails are have completed the Rails getting started guide before attending Ruby-only classes like this one.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/scraping-and-parsing-the-web&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Class 9/4: Hacking around Foursquare API with ruby&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lets learn how easy it is to use Foursquare API with ruby {should be easy:)}&lt;br /&gt;
&lt;br /&gt;
Homework: &lt;br /&gt;
&lt;br /&gt;
1. generate ideas about how to use foursquare API and what apps could be made with it. &lt;br /&gt;
We will decide what app we are going to build at the beginning of the class. &lt;br /&gt;
&lt;br /&gt;
2. Scan through Foursquare API documentation https://developer.foursquare.com/ to know what is possible and what is not&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/hack-with-foursquare-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/28 Class: Self-posting Novelty Twitter Accounts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create bots that make interesting tweets periodically&lt;br /&gt;
&lt;br /&gt;
The homework is just to come up with a fun and simple idea for the tweets you want your bot to post.   Also, register your novelty twitter username and a twitter app: http://dev.twitter.com .  And make sure you have a heroku account set up.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll also have a Ruby 101 break-out group for people that are not ready to program twitter bots.&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/self-posting-novelty-twitter-accounts&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/21 Class: Dive into ActiveRecord&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be taking a deeper look at what is ActiveRecord (since it&#039;s such a big part of Rails)&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_querying.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/association_basics.html&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/active_record_validations_callbacks.html&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/activerecord&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/14 Class: Twitter API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Playing with twitter API to build fun apps&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
Twitter API docs: https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8/7 Class: Ruby, API&#039;s, and Gems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
No Rails today; Ruby, Rest API&#039;s and Ruby Gems instead!&lt;br /&gt;
&lt;br /&gt;
Highly Recommended Reading &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The (Poignant) Guide to Ruby&#039;&#039; by _why&lt;br /&gt;
&lt;br /&gt;
http://mislav.uniqpath.com/poignant-guide/&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/ruby-api-s-and-gems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/31 Class: Rails&#039; Asset Pipeline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll look closely at asset organization, compilation, and packaging, and also check out SCSS and Coffeescript.&lt;br /&gt;
&lt;br /&gt;
Required Viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Understanding the Asset Pipeline&#039;&#039; by RailsCasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/279-understanding-the-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/lessons/rails-asset-pipeline&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/24 Class: Fun with the Stripe payment API&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;ll hook up Stripe&#039;s API in our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please sign up for Stripe ahead of time - https://manage.stripe.com/register&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a handy link to Stripe&#039;s API docs - https://stripe.com/docs&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;How I Explained REST to My Wife&#039;&#039; by Ryan Tomayko&lt;br /&gt;
&lt;br /&gt;
http://tomayko.com/writings/rest-to-my-wife&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/fun-with-the-stripe-payment-api&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/17 Class: Catch-up Day&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to use this class to catch up new students.&lt;br /&gt;
&lt;br /&gt;
The two big things we want to accomplish:&lt;br /&gt;
&lt;br /&gt;
a)  bootstrapping your development environment - follow http://installfest.railsbridge.org/installfest/installfest&lt;br /&gt;
&lt;br /&gt;
b)  setting up a basic blog application - follow http://guides.rubyonrails.org/getting_started.html&lt;br /&gt;
&lt;br /&gt;
To prepare for this class, get as far as you can in these two tutorials.&lt;br /&gt;
&lt;br /&gt;
Experienced students please consider coming out to help troubleshoot.  This class will be a looser format than usual, so everyone, please bring snacks!  If there&#039;s interest, we will get beers at Shotwell&#039;s afterward to celebrate being caught up.&lt;br /&gt;
&lt;br /&gt;
RSVP here - http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/catch-up-day&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/10 Class: Continuous Integration with Travis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Intro to CI including configuring our apps to run on Travis-CI.&lt;br /&gt;
&lt;br /&gt;
Please bring a Rails app that you&#039;ve already pushed to Github.&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Continuous Integration&#039;&#039; by Martin Fowler&lt;br /&gt;
&lt;br /&gt;
http://martinfowler.com/articles/continuousIntegration.html&lt;br /&gt;
&lt;br /&gt;
RSPV here: http://rails-school.heroku.com/lessons/continuous-integration-with-travis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7/3 Class: Playing with APIs&lt;br /&gt;
&lt;br /&gt;
Where: 7pm-9pm Tuesday in the Church classroom&lt;br /&gt;
&lt;br /&gt;
What: Using the Twitter API in your Rails app&lt;br /&gt;
&lt;br /&gt;
Suggested reading:&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
&lt;br /&gt;
https://dev.twitter.com/docs/api&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/lessons/playing-with-apis&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/26 Class: Layouts and Rendering in Rails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeting as usual 7pm-9pm Tuesday in the Church classroom.&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce&lt;br /&gt;
how to organize layouts, partial, templates, etc in Rails.&lt;br /&gt;
&lt;br /&gt;
Homework:&lt;br /&gt;
1. http://guides.rubyonrails.org/getting_started.html (for new students)&lt;br /&gt;
2. Scan through http://guides.rubyonrails.org/layouts_and_rendering.html &lt;br /&gt;
3. Also prepare some questions!! :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/layouts-and-rendering-in-rails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/19 Class: Test-Driven-Development and Sending Emails&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this ambitious lecture-workshop, we&#039;re going to introduce Test-Driven-Development, and apply it to sending emails from our blogs.&lt;br /&gt;
&lt;br /&gt;
New students and others interested will have the option of learning Ruby 101 separately.&lt;br /&gt;
&lt;br /&gt;
Homework: First make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html, we will continue to work off of this tutorial.  Then get as far as you can in both of the following tutorials.  Don&#039;t worry if you don&#039;t finish them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Mailer Basics&#039;&#039; by RailsGuides&lt;br /&gt;
&lt;br /&gt;
http://guides.rubyonrails.org/action_mailer_basics.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Request Specs and Capybara&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/257-request-specs-and-capybara&lt;br /&gt;
&lt;br /&gt;
RSVP here:&lt;br /&gt;
&lt;br /&gt;
http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails&lt;br /&gt;
&lt;br /&gt;
Notes- http://rails-school.heroku.com/lessons/test-driven-development-and-sending-emails#whiteboard&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/12 Class: Dissecting the request lifecycle with pry&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s investigate the journey of a request through Rails with some help from the debugging tool pry.&lt;br /&gt;
&lt;br /&gt;
Required reading&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rails 3 in a Nutshell&#039;&#039; by O&#039;Reilly, Chapter 2, up to and including the &#039;&#039;&#039;Controller&#039;&#039;&#039; section&lt;br /&gt;
&lt;br /&gt;
http://ofps.oreilly.com/titles/9780596521424/rails.html&lt;br /&gt;
&lt;br /&gt;
Required viewing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pry with Rails&#039;&#039; by Railscasts&lt;br /&gt;
&lt;br /&gt;
http://railscasts.com/episodes/280-pry-with-rails&lt;br /&gt;
&lt;br /&gt;
RSVP here: http://rails-school.heroku.com/courses/noisebridge-rails-course/lessons/dissecting-the-request-lifecycle-with-pry&lt;br /&gt;
&lt;br /&gt;
Notes- http://beta.primarypad.com/p/G86Niu6EXz&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6/5 Class: Ajax&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to continue our discussion of using Rails&#039; Unobtrusive Javascript framework to add ajax interaction to our blog apps.&lt;br /&gt;
&lt;br /&gt;
Please make sure you&#039;ve completed http://guides.rubyonrails.org/getting_started.html so we&#039;re all on the same page.&lt;br /&gt;
&lt;br /&gt;
Also, RSVP here: http://rails-school.heroku.com/lessons/ajax-in-rails .&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/KjI5Ic2327&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/29 Class: Intro to Product Development&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There&#039;s more to building web apps than hacking code, like figuring out what problem you&#039;re solving and how you&#039;ll know when you&#039;ve solved it.  This class we&#039;ll look at Michael&#039;s website for the class (http://rails-school.heroku.com) and polish it into a valuable tool for organizing our study group.&lt;br /&gt;
&lt;br /&gt;
Homework is to think about these questions, or come up with your own:&lt;br /&gt;
* Who are the target users of the class website?&lt;br /&gt;
* What utility do they need out of the site to start using it right away?&lt;br /&gt;
* What features could be added to open up the site to a larger audience?&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QjFPw7bflF&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/22 Class: Authentication with the Devise gem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .  Seriously!&lt;br /&gt;
&lt;br /&gt;
Enough talking about awesome Rails gems, let&#039;s use one in an app.  We&#039;re going to add authentication to the blogs we created in the Getting Started guide, using the devise gem.&lt;br /&gt;
&lt;br /&gt;
We will also have a beginners&#039; group for folks needing help getting Rails set up or wanting to learn Ruby.&lt;br /&gt;
&lt;br /&gt;
Notes- http://openetherpad.org/QC7KG7aKVB&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/15 Class: Demo Day!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please finish the tutorial at http://guides.rubyonrails.org/getting_started.html .&lt;br /&gt;
&lt;br /&gt;
This class we&#039;re going to start with a show-and-tell of projects we&#039;re working on or have recently completed.  The demos don&#039;t have to be Ruby- or Rails-related, but should be related to web programming in some way.  This is a chance to get answers to your project-specific questions, find fun new projects to work on, and receive great feedback.&lt;br /&gt;
&lt;br /&gt;
Then we&#039;ll break up into two groups, one for beginners and one for more experienced students.&lt;br /&gt;
&lt;br /&gt;
Notes - http://openetherpad.org/xsy1zKhrbj&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/8 Class: topic is BLOGS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In preparation please tackle http://guides.rubyonrails.org/getting_started.html and get as far as you can in setting up a simple blog app.  &lt;br /&gt;
&lt;br /&gt;
Please post some links here to your favorite blogs.  We&#039;ll take a look at some blog features and talk about how they might be implemented.&lt;br /&gt;
&lt;br /&gt;
Gabe&#039;s pick: http://www.overheardinnewyork.com/&lt;br /&gt;
&lt;br /&gt;
Notes: http://openetherpad.org/sIYNUEPzld&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5/2 Class:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notes: http://piratepad.net/dJupUHZoOP&lt;br /&gt;
&lt;br /&gt;
[[Category:Ruby]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Category:Events&amp;diff=28254</id>
		<title>Category:Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Category:Events&amp;diff=28254"/>
		<updated>2012-11-29T02:13:48Z</updated>

		<summary type="html">&lt;p&gt;199.241.202.20: /* Recurring Events edit */ Make Rails class title bold and add description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Note that this page uses transclusion. Content between the &amp;quot;onlyinclude&amp;quot; tags below will be pushed to the main page --&amp;gt;&lt;br /&gt;
Official, Semi-Official, one-off and other events at the Noisebridge space.&lt;br /&gt;
&lt;br /&gt;
=Event Calendar=&lt;br /&gt;
Not all events make it onto this calendar. Many events only make it to the Discussion or Announcements [[Mailinglist | mailing lists]], [[IRC]] or in person at [[:Category:Meeting_Notes | Tuesday meetings]]. Best of all, Noisebridge is about people getting together at the space in San Francisco to do stuff... like in person. Some events just happen.  Pay attention!&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to host an event yourself, we recommend involving at least one Noisebridge member, and have advice on  [[Hosting_an_Event|hosting an event]] at Noisebridge.&lt;br /&gt;
&lt;br /&gt;
Event posters are encouraged to crosspost to the Google Calendar. View the  [http://www.google.com/calendar/embed?src=vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com&amp;amp;ctz=America/Los_Angeles Google Calendar], view the [http://www.google.com/calendar/feeds/vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com/public/basic Google Calendar in XML], or the [http://www.google.com/calendar/ical/vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com/public/basic.ics Google Calendar in ical] format.&lt;br /&gt;
&lt;br /&gt;
To post Google Calendar entries for your event, ask on the noisebridge-discuss mailing list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Items inside this &amp;quot;onlyinclude&amp;quot; tag will be pushed to the main page --&amp;gt;&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
=== Upcoming Events &amp;lt;small&amp;gt;[https://www.noisebridge.net/index.php?title=Category:Events&amp;amp;action=edit&amp;amp;section=2 edit]&amp;lt;/small&amp;gt; ===&lt;br /&gt;
&amp;lt;!-- Please read our &amp;quot;Hosting an Event&amp;quot; page and possibly follow some of the guidelines there before posting your event here. https://www.noisebridge.net/wiki/Hosting_an_Event --&amp;gt;&lt;br /&gt;
&amp;lt;!-- It&#039;s smart to add in a link to a wiki page with more information about your even, and a way to contact the event organizer(s). Thanks! --&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;December 8, Saturday, 12:00 - 18:00 - [[ElecrticImpHackathon|Elecrtic Imp Hackathon]]&#039;&#039;&#039; - The Imp is an arm microcontroller that uses WiFi and a cloud service to connect to the internet.&lt;br /&gt;
&lt;br /&gt;
=== Recurring Events &amp;lt;small&amp;gt;[https://www.noisebridge.net/index.php?title=Category:Events&amp;amp;action=edit&amp;amp;section=3 edit]&amp;lt;/small&amp;gt; ===&lt;br /&gt;
&amp;lt;!-- Please read our &amp;quot;Hosting an Event&amp;quot; page and possibly follow some of the guidelines there before posting your event here. https://www.noisebridge.net/wiki/Hosting_an_Event --&amp;gt;&lt;br /&gt;
&amp;lt;!-- It&#039;s smart to add in a link to a wiki page with more information about your even, and a way to contact the event organizer(s). Thanks! --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Large turnout events should be written in &#039;&#039;&#039;bold&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Monday&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;14:30 - 17:00&#039;&#039;&#039; Circuit Hacking Mondays - Early version. If you can&#039;t stay up late, stay out on a school night, or if you have particular [[accessibility]] needs, Liz can help you learn to solder, tinker with things, and work on kits. Have dinner and come back for the evening CHM!&lt;br /&gt;
** &#039;&#039;&#039;19:00 - 23:00 [[Circuit Hacking Mondays]]&#039;&#039;&#039; - Learn to solder! [[User:maltman23|Mitch]], Rolf, [[User:Miloh|Miloh]], and others will bring kits to make cool, hackable things for all skill levels that you can bring home after you make them.  Bring your own projects to hack! Bring things to fix!  All welcome! &lt;br /&gt;
** &#039;&#039;&#039;19:00 - 22:00  [[Gamebridge|Gamebridge Unityversity]]&#039;&#039;&#039; Unity3D Game Development mentoring group is back now that [[Code Hero]] is in alpha.&lt;br /&gt;
** 19:00 [[Cook-in class]] Bring your ideas/food/appetite and try your hand at cooking.&lt;br /&gt;
** &#039;&#039;&#039;20:00-22:00 [[Frontend Web Development]]&#039;&#039;&#039; - Learn HTML/CSS/JS. We&#039;ll cover the basics (starting at &#039;&#039;&#039;19:30&#039;&#039;&#039;) and then go in-depth on different topics every week.&lt;br /&gt;
** [[House_Keeping#Trash_and_Recycling|Take Out the Trash Night]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Tuesday&#039;&#039;&#039;&lt;br /&gt;
** 15:00 - 16:30 [[Linux System Administration class]] meets in the Turing classroom. This is a change of format from the [[Linux System Administration Study Group]]. An instructor presents a topic of Linux system administration. You can follow along if you bring your own Linux computer. Command-line skills are assumed for many examples. The focus is primarily on server systems, less on workstation problems. &lt;br /&gt;
** 16:30 [[Intro to SQL Databases]] Database programming and design using MySQL. Every Tuesday in Turing classroom.&lt;br /&gt;
** 18:00 [[Linux SysAdm recap]] (changed from [[C and assembler on Linux]] This class recaps the presentation earlier today: in the Church classroom.&lt;br /&gt;
** 18:30-20:00(and on) [[Linux/BSD/UNIX Open Learning/Hacking]] Learning by doing in Linux/OpenBSD/FreeBSD/Unix/Others in Turing.&lt;br /&gt;
** &#039;&#039;&#039;19:00-21:00 [[Backend web dev in Ruby on Rails]]&#039;&#039;&#039; - Seminar and workshop for learning everything about Ruby, Rails, and web application development.&lt;br /&gt;
** 19:00 [[Tastebridge]] / [[Vegan Hacker]] Monthly Food Hacking, last Tuesday of every month, 7pm.  http://www.veganhackersf.com&lt;br /&gt;
** 19:30 [[Spacebridge]] - Noisebridge&#039;s space program&lt;br /&gt;
** &#039;&#039;&#039;20:00 [[Meetings|Noisebridge Weekly Meeting]]&#039;&#039;&#039; - Introducing new people and events to the space, general discussion, and decision making.&lt;br /&gt;
&amp;lt;!-- On hiatus? 2012-08-07** 22:00 [[SF Grey Hat Meetup]] If you have to ask you probably shouldn&#039;t show up. next meeting 3/13 will cover metasploit, vote for next topic. --&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Wednesday&#039;&#039;&#039;&lt;br /&gt;
** 18:00 [[Anarchafeminist Hackerhive]] The Hivemoot continues. &lt;br /&gt;
** 18:00 [[Replicator Wednesday|Replicator Wednesday]]! This event is on hiatus from Noisebridge until further notice.&lt;br /&gt;
** 18:00 [[LinuxDiscussion|Linux Discussion and Problem Solving]] - Linux meetup in the Turing classroom.&lt;br /&gt;
** 19:00 [[PyClass]] - Learn how to program using the Python programming language. New &amp;quot;series&amp;quot; starts December 5th!&lt;br /&gt;
** 19:00 [[SCoW]] - Sewing, Crafting, Or Whatever! Come make cool stuff with geeks.&lt;br /&gt;
** 20:00 [[BACE Timebank]] (2nd Wednesdays in the Library) - Help organize community mutual aid by trading in equal time credits.  To find out more and join go to [http://sfbace.org sfbace.org].&lt;br /&gt;
* &#039;&#039;&#039;Thursday&#039;&#039;&#039;&lt;br /&gt;
** [[House_Keeping#Trash_and_Recycling|Trash Night]]  - Take out the trash for Friday morning!&lt;br /&gt;
** 19:00 [https://tahoe-lafs.org/trac/tahoe-lafs/wiki Tahoe LAUGHS] Help build freedom.&lt;br /&gt;
&amp;lt;!-- on hiatus 2012-08-07 ** 18:30 [[Social_Engineers|Social Engineers]] 6.30pm- late. onwards Noisebridge&#039;s weekly attempt to hack its own social conundrums (including organizing, long-term planning, and consensus) using data, science, and heavy machinery. Email danny@spesh.com or join us on the [https://www.noisebridge.net/mailman/listinfo/socialengineering mailing list]. --&amp;gt;&lt;br /&gt;
** 19:30 [[Machine_Learning|Machine Learning]] come in and learn about statistical learning techniques.&lt;br /&gt;
&amp;lt;!-- on hiatus 2012-08-07 ** 19:00 [[Noisedroid/Nights]] - An Android-Themed Co-working Night. --&amp;gt;&lt;br /&gt;
** 19:00 [[german_corner|German Corner]] Learn and practice speaking German.&lt;br /&gt;
** 19:00 [[wearable fashion techies]] first meeting Nov 1st&lt;br /&gt;
** 20:00 [[Frontend_Web_Development#Lab|Frontend Web Development Lab]] - &#039;&#039;&#039;MEETS THIS WEEK ON WEDNESDAY!&#039;&#039;&#039; Understand by doing! A recap of Monday&#039;s lecture in workshop form - and a good time for one-on-one help with the material.&lt;br /&gt;
** 20:00 [https://www.noisebridge.net/mailman/listinfo/zine ZinesFromOuterSpace] - A weekly meetup for zinesters / printing hackers / DIY publishers, and brainstorming session for the next chapter of [[zine | ZiP]].&lt;br /&gt;
* &#039;&#039;&#039;Friday&#039;&#039;&#039;&lt;br /&gt;
** 18:30-20:30 Beginner [[French]] - Learn basic grammar and sentence structure. Classes meet in the Turing room. &lt;br /&gt;
* &#039;&#039;&#039;Sunday&#039;&#039;&#039;&lt;br /&gt;
** 13:00 [[Songbridge]]: Learn how to make and record music with a computer. We cover midi and vst as well as multi-track recording. Bring you laptop.&lt;br /&gt;
** 14:00 [http://baha.bitrot.info/ Bay Area Hacker&#039;s Association - security meeting] (2nd Sundays)&lt;br /&gt;
** 15:00 [[Go]] - Playing of the Go boardgame. On nice days we often take the boards to Dolores Park and play there.&lt;br /&gt;
** 18:00 Lock Sport Collaboration: Come learn how to pick locks with others. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ** 19:00 [[Hack Politics]] -- 1st and 3rd Sundays of the month.  Hack the political systems.  (Next meeting will be July 1, 2012). --&amp;gt;&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Orphaned Events ===&lt;br /&gt;
These events appear to be dormant or extinct.&lt;br /&gt;
&lt;br /&gt;
=== Proposed Future Events and Classes ===&lt;br /&gt;
:&amp;quot;&#039;(TBD)&amp;quot;&#039;: [[Sound Science]] A potential monthly lecture/demonstration series on the little known science behind sound reproduction. Topics to include: Transducer Physics(speakers and mics), Room Acoustics, Signal Path and Cabling,Loudspeaker design 101, Music Production Tips for Big Sound, and How to make a small system sound HUGE. Each session to include hands on projects like making speakers from stuff lying around, Non-Newtonian bass monsters, and ez speaker mods for anyone. If interested contact the new guy-&amp;gt; MattLong8 at gmail dot com, 805 four five three - six zero nine seven &lt;br /&gt;
:&amp;quot;&#039;(TBD)&amp;quot;&#039;: [[VideoHacking]] a weekly video/video art devoted hacker group, including experiments in the 3D vr realm...if interested contact julialc4@gmail.com&lt;br /&gt;
:Wednesdays at 21:00 [[Brewing Bridge]] - Malakkar Proposal: Learn how to make your drinks fun AND antibacterial, using yeast. This will be recurring if enough interest or need is present. Associated items - what to do with brewing leftovers, and brewers sample hour, etc.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Fie: Failure is Eminent]] - [[User:MedianMajik|James]] wants to start a System Recovery class that will meet either bi-monthly or weekly for a couple hours to try various backup and recovery methods on drives and data.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[101 Introduction to Linux]] - [[User:MedianMajik|James]] wants to start a 101 Introduction to Linux class where people can ask whatever questions they want and get them answered in 60 to 90 minutes.  Church would be the optimal location.  Looking for teachers.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Probability]] - Weekly probability study group based on [http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-041-probabilistic-systems-analysis-and-applied-probability-spring-2006/related-resources/ Fundamentals of Applied Probability Theory] by Al Drake&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Mandarin Corner|Mandarin]] - Learn or practice Mandarin, all levels. Also currently on hiatus. Get on the mailing list.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Movie Night!]] - [[User:ThOMG|Thom]] wants to build community through nerdy sci-fi! (+Bill+Ted+Excellence++) (how about a Friday hacker movie night? -[[User:Carl|Carl]])&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Introduction to the AVR Microcontroller]] - [[User:Mightyohm|Jeff]] and [[User:Maltman23|Mitch]] are planning an introductory class for people wanting to make cool projects with AVRs.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Basic Chemistry Lab Techniques]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Cuddle Puddle for the Economy]] - Stress-hacking with informal massage exchange.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Milk and Cookies]] - Come read your favorite selections out loud. With Milk and Cookies (and yeah, probably beer too).&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Processing Workshop 2]] - [[User:Scmurray|Scott]] is interested in teaching this, and is busy thinking about what, where, when, why, and how.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;:  [[Hack your Hardware]] -- We call BS on &amp;quot;no user-serviceable parts inside&amp;quot;&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Homebrew Instruction Class]] - The Wort (pt 1/3)&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Trip to Shooting Range]] - Field trip to a shooting range, to shoot guns.  Express interest at [[Trip to Shooting Range]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Surface Mount Soldering Workshop]] - Learn how to solder cicuits with small surface mount parts.  [[User:maltman23|Mitch Altman]] and Martin Bogomolni and others will show their tricks.  [[User:maltman23|Mitch]] will bring hackable kits that uses surface mounts for you to solder. &amp;lt;-YES!(mattlong8 at gmail dot com)&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Locksport and Lockpicking]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Version control tutorial]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Foreign language learning for rocket scientists]] - I&#039;m near-native (fool people when I try) in (French and) Japanese, and a pro trans/terpreter and will share my shortcuts (skill-order, vocab, speed/articulation, translation≅grammar). No expertise on tonal languages yet... so if you know how to remember tones or how tone-sandhi interacts with speed and/or how nuances of speaker attitude are expressed in them (what we do with rythm/inflection/sentence-intonation and stress in Eng., and with particles and ??? in e.g. Cantonese) please chime in or call me (415-608-0564) so I can convey your wisdom. [also looking for a from-scratch Arabic partner]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Getting started with Arduino]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Distributed Databases]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Scrum Club]] - I though I&#039;d test the waters and see if anyone was interested in a noisebridge scrum club details are here http://scrumclub.org/scrum-clubs/ if inturested hit me up twitter: @theabcasian, facebook: http://www.facebook.com/theabcasian&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[CNC Mill Workshop]] - Who wants to make stuff on the [[MaxNCMill]]?&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Math &amp;amp; Science Help]] - If you would like some math, science or engineering help, I&#039;m down to lend a hand.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Cyborg Group|Cyborg Group / Sensebridge]] - Work on projects like artificial senses.  Someone needs to lead this!&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[OpenEEG]] - Brain tech. Has historically met on Sundays, at the behest of interested parties.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Programming_for_Poets | Programming for Poets]] -  Gentle intro to programming using Processing&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[World Builders &amp;amp; Simgineers]] -  Work together to create a beautiful &amp;amp; open virtual world &amp;amp; platform.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[PlunderBridge]] -  Metal detecting, detector technology &amp;amp; treasure hunting expeditions.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Ruby Mining]] -  Ruby on Rails basics, interactive working group&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[MoinMoin Wiki]] -  MoinMoin Wiki (details see there)&lt;br /&gt;
&lt;br /&gt;
= Past Events =&lt;br /&gt;
===2012===&lt;br /&gt;
*&#039;&#039;&#039;Tuesday Feb. 14th, 18:00 to 20:00&#039;&#039;&#039; ZiP MegaZine releases its inaugural issue with &#039;&#039;&#039;My Noisy Valentine&#039;&#039;&#039; Zine Release Microparty in the Noisebridge cafe. For more info follow [[zine | this]] link.&lt;br /&gt;
&lt;br /&gt;
===2011===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;September 11th 14:00 to 17:00&#039;&#039;&#039; - The San Francisco Chapter of the Open Organisation Of Lockpickers and Bay Area Hacker&#039;s Association present a joint meeting on [https://secure.wikimedia.org/wikipedia/en/wiki/Locksport locksport]&lt;br /&gt;
*&#039;&#039;&#039;August 4, 7PM, Thursday&#039;&#039;&#039; - [http://zeidman.net Bob Zeidman] will be giving a talk on video games and intellectual property, hosted by TheMADE. He will also speak about IP infringement cases.&lt;br /&gt;
*&#039;&#039;&#039;August 9, 6:30PM, Tuesday&#039;&#039;&#039; - [http://www.meetup.com/makesf/events/26413241/ Make:SF] - Chris Jefferies will speak about the wireless sensor kit he is developing and we are bringing back our all star soldering kits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;April 13th, 19:00&#039;&#039;&#039; - Kombucha fermentation class with [[BioBridge]] &lt;br /&gt;
*&#039;&#039;&#039;April 7th, 20:00&#039;&#039;&#039; - [[In-Depth|Noisebridge: In-Depth]] Our monthly lecture and round table. This month&#039;s speaker will be Aragorn! his lecture will be &amp;quot;Anarchism &amp;amp; technology: An unbridgeable chasm&amp;quot;&lt;br /&gt;
*&#039;&#039;&#039;April 4th, 20:00&#039;&#039;&#039; - Camp KDE Party. Come and meet part of the KDE North America community and get a quick overview of this year&#039;s [http://camp.kde.org/ Camp KDE] conference. There will be beer. &lt;br /&gt;
*&#039;&#039;&#039;April 3rd, 16:00&#039;&#039;&#039; - NoiseCaching: Meet-up to build some geocaches, and talk about making geocoins. Then we&#039;ll head out to find some local caches and place caches we made. [http://www.geocaching.com More info about Geocaching here]&lt;br /&gt;
* &#039;&#039;&#039;March 20th, 19:00&#039;&#039;&#039; [[Hack Politics]] meetup -- the first meetup to figure out how we in the hacker community can effectively mobilize and create meaningful change in these interesting times&lt;br /&gt;
* &#039;&#039;&#039;March 12th, 12:00-18:00 - Noisebridge Hackathon!&#039;&#039;&#039; Second Saturday Hackathon is a casual monthly event dedicated to working on the space or relevant projects and building community.  This is a great time to get feedback or help on any projects you have been considering that center around the space, culture, and infrastructure of Noisebridge.  You can also help with existing projects and find out ways to get involved.&lt;br /&gt;
* &#039;&#039;&#039;March 10, Thursday, 19:00 - Group Grammar Clinic&#039;&#039;&#039; - Church Classroom - Donations gladly accepted - A clinic for grammar and writing evaluation. Please bring your web/social or technical writing for us to evaluate. Bring your laptop as well.  Collaboration groupware possibly provided. (Please suggest groupware software to use if you wish). Constructive feedback from other group members is encouraged so that this clinic is a group process. - Facilitator: [[User:Owen|Owen]] (opietro@yahoo.com)&lt;br /&gt;
* &#039;&#039;&#039;March 9th, 20:00&#039;&#039;&#039; - Ferment and filter a mash! [[fermentation logs]]&lt;br /&gt;
&lt;br /&gt;
===2010===&lt;br /&gt;
* &#039;&#039;&#039;Sunday, August 22, 19:00 CLUB-MATE DROPOFF AND TASTING PARTY&#039;&#039;&#039; Nick Farr will be in town to drop off Club-Mate ordered by San Franciscans!&lt;br /&gt;
* &#039;&#039;&#039;June 5th, 12:00-19:00 - [[NoiseBridgeRehab]]&#039;&#039;&#039; - Help make the space more usable and accessible! Noisebridge needs your help!&lt;br /&gt;
* &#039;&#039;&#039;June 5th, 16:00-20:00 - [[Science For Juggalos]]&#039;&#039;&#039; - Science Fair in front of the Warfield Theater teaching magnetism to Juggalos&lt;br /&gt;
* &#039;&#039;&#039;June 6th, 15:00 - [[AVC Meetup]]&#039;&#039;&#039; - Entrepreneurial bonding &amp;amp; matchmaking&lt;br /&gt;
* &#039;&#039;&#039;June 9th, 21:00 - Your liver supports Noisebridge&#039;&#039;&#039; - Come to Elixir @ 16th &amp;amp; Guerrero anytime after 21:00 and drink, drink, drink! 50% of tips go to Noisebridge&lt;br /&gt;
* &#039;&#039;&#039;February 27th, 20:00 - [[Hacker EPROM]]&#039;&#039;&#039; - Noisebridge&#039;s first prom! Nice tie and a (robot) date required. We will have a DJ and punch.&lt;br /&gt;
* &#039;&#039;&#039;February 24th, 19:00, Wednesday - Joris Peels, of [http://www.shapeways.com Shapeways]&#039;&#039;&#039;, and expert on 3D printing, will give a [[ShaperwaysPresentation | talk and demonstration]] at Noisebridge!.&lt;br /&gt;
* &#039;&#039;&#039;February 23rd, 18:00 - Cleaning day&#039;&#039;&#039; - Come and help clean Noisebridge, because everyone loves a clean hack space.&lt;br /&gt;
* &#039;&#039;&#039;February 12th, 21:00 - visit from Steve Jackson&#039;&#039;&#039;. Game designer [http://en.wikipedia.org/wiki/Steve_Jackson_%28US_game_designer%29 Steve Jackson], founder of Steve Jackson Games, will visit Noisebridge.&lt;br /&gt;
* &#039;&#039;&#039;January 27th, 18:00-20:00 - [[beatrixjar event|Circuit Bending Workshop]]&#039;&#039;&#039; - [http://www.beatrixjar.com/ Beatrix*JAR] (contact [[User:Gpvillamil|Gian Pablo]] for more info)&lt;br /&gt;
* &#039;&#039;&#039;January 27th, 20:00-22:00 - [[beatrixjar event|Circuit Bending Performance]]&#039;&#039;&#039; - [http://www.beatrixjar.com/ Beatrix*JAR] - &amp;quot;Celebrate a night of new sound that will change your idea of music forever!&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;January 25th, 19:30 - [[Bag Porn]]&#039;&#039;&#039; - What&#039;s in your bag?&lt;br /&gt;
* &#039;&#039;&#039;January 20th, 19:00-21:00 - [http://groups.google.com/group/bacat/about Bay Categories &amp;amp; Types]&#039;&#039;&#039; - Categories, monoids, monads, functors and more! Held in the Alonzo Church classroom.&lt;br /&gt;
* &#039;&#039;&#039;January 20th, 19:00 - [[User Experience Book Club SF]]&#039;&#039;&#039; - Our book this month is &amp;quot;A Theory of Fun for Game Design&amp;quot; by Raph Koster - http://is.gd/6sEqw (meets in Turing)&lt;br /&gt;
* &#039;&#039;&#039;January 21st, 20:00 - [[Five Minutes of Fame]]&#039;&#039;&#039; - Monthly set of lightning talks on diverse topics&lt;br /&gt;
* &#039;&#039;&#039;January 22nd, 17:00 - [[CleaningParty| Cleaning Party]]&#039;&#039;&#039; - Come help clean up Noisebridge! Awsum fun!&lt;br /&gt;
* ...January 14th,16th, and 17th 1:00- ??? Build Out day for kitchen/bathroom/laundry bring yourself and a good attitude, learn a few things as well&lt;br /&gt;
* &#039;&#039;&#039;January 15th, 18:00 - [[CNC_Mill_Workshop]]&#039;&#039;&#039; - Learn to use the CNC mill for 2D engraving and circuit board routing&lt;br /&gt;
* Thursdays 17:00 [[ASL Group|American Sign Language]] - Learn how to talk without using your voice (or just come chat in ASL). &amp;lt;small&amp;gt;[http://whenisgood.net/noisebridge/asl/generic click to reschedule]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2009===&lt;br /&gt;
* &#039;&#039;&#039;November 18th, 19:30&#039;&#039;&#039; - [[Dorkbot_2009_11_18|Dorkbot]]&lt;br /&gt;
* &#039;&#039;&#039;November 19th, 18:00&#039;&#039;&#039; - [[Mesh meetup]]&lt;br /&gt;
* &#039;&#039;&#039;November 19th, 20:00&#039;&#039;&#039; - [[Five Minutes of Fame]]&lt;br /&gt;
* &#039;&#039;&#039;November 20th, 18:00&#039;&#039;&#039; - Loud Objects [http://www.flickr.com/photos/createdigitalmedia/3428249036/ Noise Toy workshop].&lt;br /&gt;
* &#039;&#039;&#039;November 20th, 20:00&#039;&#039;&#039; - Performance by [http://www.loudobjects.com/ Loud Objects], (featuring Tristan Perich and Lesley Flanigan) and [http://www.myspace.com/jibkidder Jib Kidder].&lt;br /&gt;
:&#039;&#039;&#039;2009-11-05&#039;&#039;&#039; - [http://www.server-sky.com/ Server Sky presentation: Internet and Computation in Orbit] by Keith Lofstrom&lt;br /&gt;
:&#039;&#039;&#039;2009-11-05&#039;&#039;&#039; - [[Mesh meetup]]&lt;br /&gt;
:&#039;&#039;&#039;2009-11-02&#039;&#039;&#039; - [[French]] book club meeting to discuss  [http://www.amazon.com/exec/obidos/tg/detail/-/2842612892/ref=ord_cart_shr?_encoding=UTF8&amp;amp;m=ATVPDKIKX0DER&amp;amp;v=glance Une Si Longue Lettre]&lt;br /&gt;
: &#039;&#039;&#039; October 1st, 18:00&#039;&#039;&#039; - [[Wireless_Mesh_Network_Meetup | Mesh wireless meetup]]&lt;br /&gt;
: &#039;&#039;&#039; October 1st, 19:00&#039;&#039;&#039; - [http://groups.google.com/group/bacat Bay Area Categories and Types]&lt;br /&gt;
: &#039;&#039;&#039;2009-10-03&#039;&#039;&#039; [[Year 1 Open Hacker House]]&lt;br /&gt;
:&#039;&#039;&#039;Friday&#039;&#039;&#039;: [[CrazyCryptoNight]] - Discussion of cryptography for beginners through experts. 6-???&lt;br /&gt;
:&#039;&#039;&#039;Sunday&#039;&#039;&#039; : [[OpenEEG | OpenEEG Hacking]] Sundays, at 3-5pm.&lt;br /&gt;
:&#039;&#039;&#039;Monday&#039;&#039;&#039;: [[German]] - Learn German, all levels. 7pm beginners, 8pm advanced. RSVP 24 hours in advance for the benefit of the instructor. Events ran May-November 2009. Currently on Thursdays at 8. Get on the mailing list.&lt;br /&gt;
:&#039;&#039;&#039;Tuesday&#039;&#039;&#039;: [[Haskell/Haschool]] - Learn Haskell with Jason Dusek.  6PM - 7:30PM, from May until we&#039;re all experts.&lt;br /&gt;
:&#039;&#039;&#039;Wednesday&#039;&#039;&#039;: [[Adobe_Lightroom|Adobe Lightroom]] - Become a more organized photographer. Weekly class (mostly held off site).&lt;br /&gt;
:&#039;&#039;&#039;Thursday&#039;&#039;&#039;: [[Professional VFX Compositing With Adobe After Effects]] - Taught by [[User:SFSlim|Aaron Muszalski]]. 7:30PM - 10PM, most Thursdays in May &amp;amp; June &amp;amp; ? (click through dammit)&lt;br /&gt;
:&#039;&#039;&#039;2009-09-17&#039;&#039;&#039;: [[Five Minutes of Fame]] 3D Edition&lt;br /&gt;
:&#039;&#039;&#039;2009-09-17&#039;&#039;&#039;: [[Wireless Mesh Network Meetup | Mesh wireless meetup]]&lt;br /&gt;
:&#039;&#039;&#039;2009-08-20&#039;&#039;&#039;: [[Five Minutes of Fame]] One Dee Edition&lt;br /&gt;
:&#039;&#039;&#039;2009-07-16&#039;&#039;&#039;: [[Five Minutes of Fame]] Zero Dee&lt;br /&gt;
:&#039;&#039;&#039;2009-07-02 - 2009-07-05&#039;&#039;&#039;: [http://toorcamp.org Toorcamp]&lt;br /&gt;
:&#039;&#039;&#039;2009-07-01&#039;&#039;&#039;: Noisedroid meeting to discuss location logging on Android platform (and other stuff too, I&#039;m sure)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-30&#039;&#039;&#039;: [[Powerbocking Class|Powerbocking class]]&lt;br /&gt;
:&#039;&#039;&#039;2009-06-30&#039;&#039;&#039;: &amp;quot;Suing Telemarketers for Fun and Profit&amp;quot; (Toorcamp talk preview)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-28&#039;&#039;&#039;: &amp;quot;Meditation for Hackers&amp;quot; (Toorcamp workshop preview)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-18&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-06-15&#039;&#039;&#039;: [[Eagle Workshop]]  Session two of the Eagle CAD workshop.&lt;br /&gt;
:&#039;&#039;&#039;2009-06-13&#039;&#039;&#039;: [[RoboGames 2009]] Noisebridge had a booth staffed by vounteers, great fun!&lt;br /&gt;
:&#039;&#039;&#039;2009-05-21&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-04-27&#039;&#039;&#039;: [[EagleCAD workshop]] -- learn to use this CAD tool for printed circuit board design&lt;br /&gt;
:&#039;&#039;&#039;2009-04-16&#039;&#039;&#039;: [[Five Minutes of Fame]] April showers &amp;amp; flowers edition&lt;br /&gt;
:&#039;&#039;&#039;2009-04-11&#039;&#039;&#039;: [[RFID Hacking]] weekend workshop  (this event moved from the original March date)&lt;br /&gt;
:&#039;&#039;&#039;2009-04-05&#039;&#039;&#039;: [[First aid and CPR class]] Learning how to not only not die, but also reduce scarring!&lt;br /&gt;
:&#039;&#039;&#039;2009-04-03&#039;&#039;&#039;: [[Sudo pop]] 2PM and on. Making the first batch of a Noisebridge label yerba mate-niated rootbrew, gratis and DIY&lt;br /&gt;
:&#039;&#039;&#039;2009-03-26&#039;&#039;&#039;: [[OpenEEG | OpenEEG Hacking]] first meet up for this new group: 8 pm&lt;br /&gt;
:&#039;&#039;&#039;2009-03-19&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-03-12&#039;&#039;&#039;: [[OpenBTS and GSM]] talk by David Burgess&lt;br /&gt;
:&#039;&#039;&#039;2009-02-14&#039;&#039;&#039;: [[Open Heart Workshop]] Valentine&#039;s Day blinkyheart soldering party! &lt;br /&gt;
:&#039;&#039;&#039;2009-02-13&#039;&#039;&#039;: [[Time-t_Party|&amp;lt;tt&amp;gt;time_t&amp;lt;/tt&amp;gt; Party]] to celebrate 1,234,567,890 since the Unix epoch.&lt;br /&gt;
:&#039;&#039;&#039;2009-02-09&#039;&#039;&#039;: [[Spanish learning at 8:30]]&lt;br /&gt;
:&#039;&#039;&#039;2009-02-05&#039;&#039;&#039;: [[PGP Key Workshop]]&lt;br /&gt;
:&#039;&#039;&#039;2009-01-31&#039;&#039;&#039;: [[Locksport and Lockpicking]]&lt;br /&gt;
&lt;br /&gt;
===2008===&lt;br /&gt;
:&#039;&#039;&#039;2008-12-27&#039;&#039;&#039;: [[25C3]] Chaos Computer Congress in Berlin&lt;br /&gt;
:&#039;&#039;&#039;2008-12-20 &amp;amp; 21&#039;&#039;&#039;: [[Creme Brulee]] Workshop on creating a french dessert, with bonus propane torch.&lt;br /&gt;
:&#039;&#039;&#039;2008-12-17 20:00&#039;&#039;&#039;: [[Machine Learning]] Birds-of-a-feather&lt;br /&gt;
:&#039;&#039;&#039;2008-11-24&#039;&#039;&#039;: [[Circuit Hacking Monday]] circuit design workshop&lt;br /&gt;
:&#039;&#039;&#039;2008-11-21, 7pm&#039;&#039;&#039;:[[Milk and Cookies]] -- [[User:Dmolnar|David Molnar]] hosts Milk and Cookies at 83C. Bring a short 5-7minute thing to read to others. Bring a potluck cookie/snack/drink if you like. David will bring milk and cookies.&lt;br /&gt;
:&#039;&#039;&#039;2008-11-17, 7:30pm&#039;&#039;&#039;: [[Basic Bicycle Maintain]] - [[User:rubin110|Rubin]] and [[User:rigel|rigel]] hate it when we see a bike that isn&#039;t maintained. Screechy chains and clacking derailleur can go to hell. Basic bike tune up, sharing the smarts on simple things you can do at home to make your ride suck a whole lot less.&lt;br /&gt;
:&#039;&#039;&#039;2008-11-16, 5:00pm&#039;&#039;&#039;: [[RepRap Soldering Party]] - help assemble RepRap!  RSVPs required on wiki! [[User:Adi|adi]]&lt;br /&gt;
:&#039;&#039;&#039;2008-11-16, 3:00pm&#039;&#039;&#039;: [[Oscilloscopes]] - Learn how to use this versatile tool to test electronic circuits.  Maximum 6 slots, please sign up ahead of time! [[User:dstaff|dstaff]]&lt;br /&gt;
:&#039;&#039;&#039;2008-10-31&#039;&#039;&#039;: [[Halloween Open House]] - NoiseBridge&#039;s own [[PPPC]] threw an awesome open house/halloween gala. Post pictures if you got &#039;em!&lt;br /&gt;
:&#039;&#039;&#039;2008-10-25&#039;&#039;&#039;: [[Soldering Workshop]] and Pumpkin Hackin&#039; - Learn to solder for total newbies (or learn to solder better!), including surface mount. Additionally, carve your halloween pumpkins and enjoy some experimental pumpkin pie and/or soup.&lt;br /&gt;
:&#039;&#039;&#039;2008-10-07&#039;&#039;&#039;: (tuesday before meeting) - Etch a circuit board. I&#039;ll be trying a photo resist etching and a basic printed mask etching. This is step 1/3 for a project called &amp;quot;annoying USB thingie&amp;quot; which will execute pre-defined keystrokes by sneaking a tiny USB dongle onto a victim^h^h^h^h^h buddy&#039;s computer.&lt;br /&gt;
:&#039;&#039;&#039;2008-09-13&#039;&#039;&#039;: [[Processing Workshop]] — Learn this very easy-to-use programming language! - [[Processing Workshop Report]]&lt;br /&gt;
:&#039;&#039;&#039;2008-02-16&#039;&#039;&#039;: [[Brain Machine Workshop|Brain Machine Making Workshop]]: Our first hardware sprint!&lt;br /&gt;
&lt;br /&gt;
[[Category:Top level]]&lt;/div&gt;</summary>
		<author><name>199.241.202.20</name></author>
	</entry>
</feed>