From mghaught at gmail.com Tue Apr 3 16:34:01 2012 From: mghaught at gmail.com (Marty Haught) Date: Tue, 3 Apr 2012 10:34:01 -0600 Subject: [Boulder Ruby Group] BRG - April Meeting - Apr 17th Message-ID: April is upon us and it's time to get out the word on this month's Boulder Ruby meeting. We're meeting on Tuesday the 17th at 7pm. Right now we only have one talk lined up. David Graham will be talking about building an XMPP server with Event Machine. He'll dig into the streaming XML parsers, state machines, asynchronous queues, fibers, and thread pools needed to build a scalable, event-based chat server. If you're interested in speaking, please contact me offlist. http://boulderruby.org/meetings/2012/03/26/april-2012/ I want to quickly mention our May meeting as well. It's going to be on Thursday the 17th and will be part of Boulder Startup Week. We're also looking for presentations for that meeting. Cheers, Marty Haught http://boulderruby.org From cookrn at gmail.com Wed Apr 4 18:58:48 2012 From: cookrn at gmail.com (Ryan Cook) Date: Wed, 4 Apr 2012 12:58:48 -0600 Subject: [Boulder Ruby Group] Free Ruby / Javascript Training Message-ID: Hello Boulder Ruby Group! I'm doing free 2 hour Ruby / Javascript trainings on topics of your choice. If you're interested, sign up here: http://bit.ly/boulder_free_ruby_js_training Also, you can help me out by retweeting: https://twitter.com/#!/cookrn/status/187614390764318720 Thanks! Ryan -- Ryan Cook 720.319.7660 -------------- next part -------------- An HTML attachment was scrubbed... URL: From mlists at pmade.com Thu Apr 5 18:50:07 2012 From: mlists at pmade.com (Peter Jones) Date: Thu, 05 Apr 2012 12:50:07 -0600 Subject: [Boulder Ruby Group] Learning to program using Rails Message-ID: <874nsyrp28.fsf@pmade.com> Most of my Boulder and Denver Ruby buddies know how much I enjoy mentoring and teaching so I'm pretty excited to announce that I've teamed up with the DaVinci Institute in Louisville to create a programming course called DaVinci Coders. We all know someone who wants to be software developer but doesn't know where to start, so I'm asking you to pass this info on to them. DaVinci Coders is an 11-week course for smart, driven people who want to learn how to program. It's going to be highly immersive, covering all the tasks a developer deals with during a project's lifetime. Students will be committing code into Git on day one and deploying working applications to production shortly afterward. Each student will be paired up with a mentor, an experienced Ruby developer to help solve problems outside of the classroom. Students will also have access to the DaVinci Institute's co-working facility and regular presentations from industry experts. The course isn't just for people who want to make a career change, it's also perfect for entrepreneurs starting their own companies and managers who want to better understand the process they're responsible for. We're having an open house on April 21st in Louisville if you want to come up and see what this is all about. Courses start June 4th and we're taking applications until May 6th. More info and applications can be found at: http://davincicoders.com/ You're also welcome to email or call me. -- Peter Jones - pmade inc. 303-219-0226 http://pmade.com From nre at foraker.com Fri Apr 6 20:51:29 2012 From: nre at foraker.com (Neal Enssle) Date: Fri, 6 Apr 2012 20:51:29 +0000 Subject: [Boulder Ruby Group] Foraker Labs' Ruby on Beer hackfest: 4/12/12 Message-ID: Ruby on Beer is an informal hackfest and a chance to socialize with other Rubyists in the Boulder area. Bring your own laptop and join the Foraker Labs crew on the second Thursday each month for free beer, food, and hacking. http://rubyonbeer.com Our next meeting is THURSDAY, March 8th, starting at 5:00PM at our office and going until about 9:00PM: Foraker Labs 4775 Walnut Street, Suite 200 Boulder, Colorado There will be food. And beer. And of course we'll be hacking on stuff. Feel free to bring your own project or just come and pair up on a code kata or two. And while we obviously love all things Ruby and Rails, we're really more interested in fellowship and learning new things. So don't be afraid to drop in if you're working in a different technology! Need more information? Got questions? Drop us a line at rubyonbeer at foraker.com or follow us on Twitter: @forakerlabs. Planning on coming? Of course you are! Let us know by signing up on Meetup: http://www.meetup.com/Boulder-Ruby-on-Beer I look forward to seeing you there! Neal Neal Enssle Director of Technology Foraker Labs 4775 Walnut Street, Ste 200 Boulder, CO 80301 (303) 449-0202 nre at foraker.com http://www.foraker.com http://www.twitter.com/forakerlabs --------------------------- >From the Foraker blog: "Why Rails?": http://bit.ly/15uu25 From nre at foraker.com Fri Apr 6 21:40:32 2012 From: nre at foraker.com (Neal Enssle) Date: Fri, 6 Apr 2012 21:40:32 +0000 Subject: [Boulder Ruby Group] Foraker Labs' Ruby on Beer hackfest: 4/12/12: CORRECTION Message-ID: All: Apologies. The text of the email says "March 8th" which, obviously, was last month's event. This month's event is on Thursday, April 12th. Please let me know if you have any questions. Thanks, Neal Neal Enssle nre at foraker.com From christopher.mcmahon at gmail.com Mon Apr 9 22:24:17 2012 From: christopher.mcmahon at gmail.com (Chris McMahon) Date: Mon, 9 Apr 2012 16:24:17 -0600 Subject: [Boulder Ruby Group] HYPOTHETICAL: would you contribute to Ruby/Selenium/Webdriver automated browser testing for Wikipedia? Message-ID: Delurking just to see what kind of response I get from a reasonably small Ruby user group... I went to work recently for the Wikimedia Foundation as QA Lead, and one of the things I want to do is to put in place a browser test automation project for Wikipedia in particular and Mediawiki in general, open to the global software testing community. My best idea right now is to do this using standard Ruby gems/libraries in a testing "stack" that would contain: Jeff Morgan aka Cheezy's 'page-object' gem selenium-webdriver API watir-webdriver API Rspec for BDD-style assertions rake for task management I am still working out a lot of details (test environment(s) and internal maintenance, etc.) and I am a long way from any formal announcement, but I'm interested in a response: is this a project that you yourself might a) run locally just to see if it fails or b) contribute a browser test now and then? Just wondering, thanks... -Chris -------------- next part -------------- An HTML attachment was scrubbed... URL: From tcfodor at comcast.net Mon Apr 9 22:29:40 2012 From: tcfodor at comcast.net (Tiffany Fodor) Date: Mon, 9 Apr 2012 16:29:40 -0600 Subject: [Boulder Ruby Group] HYPOTHETICAL: would you contribute to Ruby/Selenium/Webdriver automated browser testing for Wikipedia? In-Reply-To: References: Message-ID: Hey Chris! I'd be happy to help out - both in running on various machines to see if it works and in contributing tests. -Tiffany Fodor tcfodor at comcast.net On Apr 9, 2012, at 4:24 PM, Chris McMahon wrote: > > > Delurking just to see what kind of response I get from a reasonably small Ruby user group... > > I went to work recently for the Wikimedia Foundation as QA Lead, and one of the things I want to do is to put in place a browser test automation project for Wikipedia in particular and Mediawiki in general, open to the global software testing community. My best idea right now is to do this using standard Ruby gems/libraries in a testing "stack" that would contain: > > Jeff Morgan aka Cheezy's 'page-object' gem > selenium-webdriver API > watir-webdriver API > Rspec for BDD-style assertions > rake for task management > > I am still working out a lot of details (test environment(s) and internal maintenance, etc.) and I am a long way from any formal announcement, but I'm interested in a response: is this a project that you yourself might a) run locally just to see if it fails or b) contribute a browser test now and then? > > Just wondering, thanks... > -Chris > _______________________________________________ > Bdrg-members mailing list > Bdrg-members at rubyforge.org > http://rubyforge.org/mailman/listinfo/bdrg-members From mghaught at gmail.com Tue Apr 17 00:23:06 2012 From: mghaught at gmail.com (Marty Haught) Date: Mon, 16 Apr 2012 18:23:06 -0600 Subject: [Boulder Ruby Group] BRG - April Meeting - Apr 17th Reminder Message-ID: Tomorrow is our April meeting for Boulder Ruby. We'll be meeting on Tuesday the 17th at 7pm at Pivotal Labs (directions below). They are generous hosting food and drink for the meeting so thank them for their support. Food will arrive at 6:45. David Graham will lead off our meeting talking about building an XMPP server with Event Machine. He'll dig into the streaming XML parsers, state machines, asynchronous queues, fibers, and thread pools needed to build a scalable, event-based chat server. Following that, David Kapp will speak about client-side template rendering. He?ll talk about what client-side rendering is, why you should care about it, give some examples, and talk about how to fit it into your projects. There are a lot of different libraries for this out there, and while the examples will be given using Handlebars.js, the general ideas should apply to any of them. http://boulderruby.org/meetings/2012/03/26/april-2012/ I look forward to seeing you all there. Cheers, Marty Haught http://boulderruby.org Directions: Pivotal Labs 1701 Pearl St Boulder, CO 80302 Use the 17th St entrance closer to the alley on the NE side of the intersection. You should see the Pivotal Labs logo in the window. The meeting space is upstairs. URL to google maps: http://bit.ly/fNTcZf From david.malcom.graham at gmail.com Wed Apr 18 04:46:05 2012 From: david.malcom.graham at gmail.com (David Graham) Date: Tue, 17 Apr 2012 22:46:05 -0600 Subject: [Boulder Ruby Group] BRG - April Meeting - Apr 17th Reminder In-Reply-To: References: Message-ID: Thanks to everyone who came out tonight. I had a great time presenting! The slides are on Speaker Deck: http://speakerdeck.com/u/dgraham/p/eventmachine-server-design-with-xmpp David On Mon, Apr 16, 2012 at 6:23 PM, Marty Haught wrote: > Tomorrow is our April meeting for Boulder Ruby. ?We'll be meeting on > Tuesday the 17th at 7pm at Pivotal Labs (directions below). ?They are > generous hosting food and drink for the meeting so thank them for > their support. ?Food will arrive at 6:45. > > David Graham will lead off our meeting talking about building an XMPP > server with Event Machine. He'll dig into the streaming XML parsers, > state machines, asynchronous queues, fibers, and thread pools needed > to build a scalable, event-based chat server. > > Following that, David Kapp will speak about client-side template > rendering. He?ll talk about what client-side rendering is, why you > should care about it, give some examples, and talk about how to fit it > into your projects. There are a lot of different libraries for this > out there, and while the examples will be given using Handlebars.js, > the general ideas should apply to any of them. > > http://boulderruby.org/meetings/2012/03/26/april-2012/ > > I look forward to seeing you all there. > > Cheers, > Marty Haught > http://boulderruby.org > > Directions: > Pivotal Labs > 1701 Pearl St > Boulder, CO 80302 > > Use the 17th St entrance closer to the alley on the NE side of the > intersection. You should see the Pivotal Labs logo in the window. The > meeting space is upstairs. > > URL to google maps: http://bit.ly/fNTcZf > _______________________________________________ > Bdrg-members mailing list > Bdrg-members at rubyforge.org > http://rubyforge.org/mailman/listinfo/bdrg-members From gfxlists at graphex.com Wed Apr 18 16:36:56 2012 From: gfxlists at graphex.com (Sean McKibben) Date: Wed, 18 Apr 2012 10:36:56 -0600 Subject: [Boulder Ruby Group] BRG - April Meeting - Apr 17th Reminder In-Reply-To: References: Message-ID: Great talk, David. At one point I mentioned something about IO having to be done on the reactor thread, but didn't know why. I still don't, but that advice came from 14:00 in to this video: http://www.confreaks.com/videos/555-scotlandruby2011-introduction-to-eventmachine-and-evented-programming "in production weird errors if you do IO from a non-reactor thread, yadda, yadda" (paraphrase) So it might just be voodoo paranoia, but "when you're dealing with concurrency, there's nothing wrong with being paranoid" Thanks again for the great presentation. The state machine approach really helped my thinking about EM coding (and good concurrency patterns in general). Sean On Apr 17, 2012, at 10:46 PM, David Graham wrote: > Thanks to everyone who came out tonight. I had a great time presenting! > > The slides are on Speaker Deck: > http://speakerdeck.com/u/dgraham/p/eventmachine-server-design-with-xmpp > > David > > > On Mon, Apr 16, 2012 at 6:23 PM, Marty Haught wrote: >> Tomorrow is our April meeting for Boulder Ruby. We'll be meeting on >> Tuesday the 17th at 7pm at Pivotal Labs (directions below). They are >> generous hosting food and drink for the meeting so thank them for >> their support. Food will arrive at 6:45. >> >> David Graham will lead off our meeting talking about building an XMPP >> server with Event Machine. He'll dig into the streaming XML parsers, >> state machines, asynchronous queues, fibers, and thread pools needed >> to build a scalable, event-based chat server. >> >> Following that, David Kapp will speak about client-side template >> rendering. He?ll talk about what client-side rendering is, why you >> should care about it, give some examples, and talk about how to fit it >> into your projects. There are a lot of different libraries for this >> out there, and while the examples will be given using Handlebars.js, >> the general ideas should apply to any of them. >> >> http://boulderruby.org/meetings/2012/03/26/april-2012/ >> >> I look forward to seeing you all there. >> >> Cheers, >> Marty Haught >> http://boulderruby.org >> >> Directions: >> Pivotal Labs >> 1701 Pearl St >> Boulder, CO 80302 >> >> Use the 17th St entrance closer to the alley on the NE side of the >> intersection. You should see the Pivotal Labs logo in the window. The >> meeting space is upstairs. >> >> URL to google maps: http://bit.ly/fNTcZf >> _______________________________________________ >> Bdrg-members mailing list >> Bdrg-members at rubyforge.org >> http://rubyforge.org/mailman/listinfo/bdrg-members > _______________________________________________ > Bdrg-members mailing list > Bdrg-members at rubyforge.org > http://rubyforge.org/mailman/listinfo/bdrg-members -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.malcom.graham at gmail.com Wed Apr 18 20:41:54 2012 From: david.malcom.graham at gmail.com (David Graham) Date: Wed, 18 Apr 2012 14:41:54 -0600 Subject: [Boulder Ruby Group] BRG - April Meeting - Apr 17th Reminder In-Reply-To: References: Message-ID: Thanks for finding that video! "If you're sending something over the network, it always has to happen on the reactor thread." He's referring to the send_datamethod. It's true that you can only write data back to clients connected to your EventMachine server on the reactor thread. That's why deferruns the operation block on the thread pool and the callback block on the reactor thread. But if you open your own blocking IO socket to some other server, like ActiveRecord does, you're free to do IO on threads in the EventMachine thread pool. I found this example from James Tucker, one of the EventMachine maintainers, that demonstrates something very similar to what I showed last night. It's using DataMapper rather than ActiveRecord, but it shows the query happening on the thread pool with the results being written back to the client on the reactor thread. https://groups.google.com/d/msg/eventmachine/pyjbJ4H3f7I/RTrnxEShTm4J David On Wed, Apr 18, 2012 at 10:36 AM, Sean McKibben wrote: > Great talk, David. At one point I mentioned something about IO having to be > done on the reactor thread, but didn't know why. I still don't, but that > advice came from 14:00 in to this video: > http://www.confreaks.com/videos/555-scotlandruby2011-introduction-to-eventmachine-and-evented-programming > "in production weird errors if you do IO from a non-reactor thread, yadda, > yadda" (paraphrase) > > So it might just be voodoo paranoia, but "when you're dealing with > concurrency, there's nothing wrong with being paranoid" > > Thanks again for the great presentation. The state machine approach really > helped my thinking about EM coding (and good concurrency patterns in > general). > > Sean > > On Apr 17, 2012, at 10:46 PM, David Graham wrote: > > Thanks to everyone who came out tonight. I had a great time presenting! > > The slides are on Speaker Deck: > http://speakerdeck.com/u/dgraham/p/eventmachine-server-design-with-xmpp > > David > > > On Mon, Apr 16, 2012 at 6:23 PM, Marty Haught wrote: > > Tomorrow is our April meeting for Boulder Ruby. We'll be meeting on > > Tuesday the 17th at 7pm at Pivotal Labs (directions below). They are > > generous hosting food and drink for the meeting so thank them for > > their support. Food will arrive at 6:45. > > > David Graham will lead off our meeting talking about building an XMPP > > server with Event Machine. He'll dig into the streaming XML parsers, > > state machines, asynchronous queues, fibers, and thread pools needed > > to build a scalable, event-based chat server. > > > Following that, David Kapp will speak about client-side template > > rendering. He?ll talk about what client-side rendering is, why you > > should care about it, give some examples, and talk about how to fit it > > into your projects. There are a lot of different libraries for this > > out there, and while the examples will be given using Handlebars.js, > > the general ideas should apply to any of them. > > > http://boulderruby.org/meetings/2012/03/26/april-2012/ > > > I look forward to seeing you all there. > > > Cheers, > > Marty Haught > > http://boulderruby.org > > > Directions: > > Pivotal Labs > > 1701 Pearl St > > Boulder, CO 80302 > > > Use the 17th St entrance closer to the alley on the NE side of the > > intersection. You should see the Pivotal Labs logo in the window. The > > meeting space is upstairs. > > > URL to google maps: http://bit.ly/fNTcZf > > _______________________________________________ > > Bdrg-members mailing list > > Bdrg-members at rubyforge.org > > http://rubyforge.org/mailman/listinfo/bdrg-members > > _______________________________________________ > Bdrg-members mailing list > Bdrg-members at rubyforge.org > http://rubyforge.org/mailman/listinfo/bdrg-members > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gfxlists at graphex.com Wed Apr 18 21:06:28 2012 From: gfxlists at graphex.com (Sean McKibben) Date: Wed, 18 Apr 2012 15:06:28 -0600 Subject: [Boulder Ruby Group] BRG - April Meeting - Apr 17th Reminder In-Reply-To: References: Message-ID: <77AF9814-5FB3-4713-82B3-F989D2882420@graphex.com> Ah, that does help clear things up. I'd been doing a EM.next_tick block (basically the same thing as EM.schedule) to get I/O calls out to the reactor thread, but of course you can't really do that if you are calling something in a gem that will block (rule #1!). At one point I looked in to doing an EventMachine based client for Riak, and got a reply from Mathias saying: Be aware of the limitations of using fibers though, their stacks only fit 4K so keep your stacks small Which is just another gotcha to consider when working into the threaded/fiberous frontier lands of ruby. Thanks, Sean On Apr 18, 2012, at 2:41 PM, David Graham wrote: > Thanks for finding that video! > > "If you're sending something over the network, it always has to happen on the reactor thread." > > He's referring to the send_data method. It's true that you can only write data back to clients connected to your EventMachine server on the reactor thread. That's why defer runs the operation block on the thread pool and the callback block on the reactor thread. > > But if you open your own blocking IO socket to some other server, like ActiveRecord does, you're free to do IO on threads in the EventMachine thread pool. > > I found this example from James Tucker, one of the EventMachine maintainers, that demonstrates something very similar to what I showed last night. It's using DataMapper rather than ActiveRecord, but it shows the query happening on the thread pool with the results being written back to the client on the reactor thread. > > https://groups.google.com/d/msg/eventmachine/pyjbJ4H3f7I/RTrnxEShTm4J > > David > > > On Wed, Apr 18, 2012 at 10:36 AM, Sean McKibben wrote: > > Great talk, David. At one point I mentioned something about IO having to be > > done on the reactor thread, but didn't know why. I still don't, but that > > advice came from 14:00 in to this video: > > http://www.confreaks.com/videos/555-scotlandruby2011-introduction-to-eventmachine-and-evented-programming > > "in production weird errors if you do IO from a non-reactor thread, yadda, > > yadda" (paraphrase) > > > > So it might just be voodoo paranoia, but "when you're dealing with > > concurrency, there's nothing wrong with being paranoid" > > > > Thanks again for the great presentation. The state machine approach really > > helped my thinking about EM coding (and good concurrency patterns in > > general). > > > > Sean > > > > On Apr 17, 2012, at 10:46 PM, David Graham wrote: > > > > Thanks to everyone who came out tonight. I had a great time presenting! > > > > The slides are on Speaker Deck: > > http://speakerdeck.com/u/dgraham/p/eventmachine-server-design-with-xmpp > > > > David > > > > > > On Mon, Apr 16, 2012 at 6:23 PM, Marty Haught wrote: > > > > Tomorrow is our April meeting for Boulder Ruby. We'll be meeting on > > > > Tuesday the 17th at 7pm at Pivotal Labs (directions below). They are > > > > generous hosting food and drink for the meeting so thank them for > > > > their support. Food will arrive at 6:45. > > > > > > David Graham will lead off our meeting talking about building an XMPP > > > > server with Event Machine. He'll dig into the streaming XML parsers, > > > > state machines, asynchronous queues, fibers, and thread pools needed > > > > to build a scalable, event-based chat server. > > > > > > Following that, David Kapp will speak about client-side template > > > > rendering. He?ll talk about what client-side rendering is, why you > > > > should care about it, give some examples, and talk about how to fit it > > > > into your projects. There are a lot of different libraries for this > > > > out there, and while the examples will be given using Handlebars.js, > > > > the general ideas should apply to any of them. > > > > > > http://boulderruby.org/meetings/2012/03/26/april-2012/ > > > > > > I look forward to seeing you all there. > > > > > > Cheers, > > > > Marty Haught > > > > http://boulderruby.org > > > > > > Directions: > > > > Pivotal Labs > > > > 1701 Pearl St > > > > Boulder, CO 80302 > > > > > > Use the 17th St entrance closer to the alley on the NE side of the > > > > intersection. You should see the Pivotal Labs logo in the window. The > > > > meeting space is upstairs. > > > > > > URL to google maps: http://bit.ly/fNTcZf > > > > _______________________________________________ > > > > Bdrg-members mailing list > > > > Bdrg-members at rubyforge.org > > > > http://rubyforge.org/mailman/listinfo/bdrg-members > > > > _______________________________________________ > > Bdrg-members mailing list > > Bdrg-members at rubyforge.org > > http://rubyforge.org/mailman/listinfo/bdrg-members > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cookrn at gmail.com Sun Apr 22 20:39:58 2012 From: cookrn at gmail.com (Ryan Cook) Date: Sun, 22 Apr 2012 14:39:58 -0600 Subject: [Boulder Ruby Group] Boulder Startup Week Events Message-ID: Hey Boulder Ruby, http://boulderstartupweek.com/schedule/ As you may or may not know, Boulder Startup Week is coming up. This is a great opportunity not only to go to a lot of awesome events and network, but a way to teach people all of the awesome things that you know. I'm suggesting that each of you try to come up with an idea for a small session/event that you could run that: - Is with a small group of people (no more than 10) - Get's people coding or reading code - Explores new ideas - Purports best practices - Uses new tools or services One example might be: "Ruby Debugging in Practice -- How To Develop With Pry" (this session is up for grabs if anyone wants to run it) If the Boulder Ruby community could add at least one of these each day of the week (May 14th - 18th), it would be a great thing! Please ping me with your ideas and I can offer suggestions on where to meet and put you in touch with the event organizer so your session can make it onto the schedule. Please repost this to other local user groups that you're a member of, especially of other programming languages, so we can get some diversity. Happy Sunday! Ryan -- Ryan Cook 720.319.7660 -------------- next part -------------- An HTML attachment was scrubbed... URL: