We've merged with the Big Nerd Ranch! Learn More

our blog

The Highgroove blog. Sit pit-side with us to learn how we work. Sometimes technical, sometimes business-oriented, but always focused on simple solutions.

Posts tagged with Presentations

You are browsing posts about Presentations. Check out all posts on our blog.

GRCA 83608 Kolb Brothers Projector (front)

At Highgroove we love giving presentations. We sponsor the Atlanta Ruby Users Group (ATLRUG), we each attend at least one conference per year where we are highly encouraged to speak rather than simply attend, and we give weekly tech talks at the office. Each Highgroover has their own presentation tool-stack ranging from extremely simple using nothing more than a web browser with various tabs they manually rotate through, to sophisticated Keynote slide-decks. One can also use a very editor and CLI-centric collection of tools to build flexible presentations using many of our everyday tools like git, guard, slim, and Github with Github Pages. If you like using those sorts of tools to speed things along read on after the jump.

→ Read More

RailsConf 2012

Highgroove sent me, Jonathan, and Patrick to RailsConf 2012. I've been learning a lot by going to some great talks and enjoying talking to my fellow Rails developers. If you see any of us, feel free to say hello!

There's a big push to make this the most public RailsConf ever, so all talks are being recorded. On top of that, I have also been trying to take notes and make them public.

→ Read More

Last night, I spoke at the Georgia Tech Entrepreneur Society on “Building a Product.”

I have built several products myself, and everyday we are heavily involved in the building of products for our wonderful clients at Highgroove. Before the talk, my mind was spinning with ideas on what to tell these Georgia Tech Entrepreneurs.

I ended up telling a few stories, but there are really two main points I wanted to impart, that I’ve seen make products (at least, web-based, or technology-based products) successful:

  • Eating your own Dog Food

This is crucial. There is no way you can make a product without using it day to day. Many of the improvements Derek and Andre make to Scout are gradual adjustments that build on each other, adding up to something big over time (charts are a good example). 1

The clients we’ve seen that use their own product have a much better chance of succeeding, we can attest to this.

  • There’s nothing wrong with giving up.

Nobody likes to fail. When you get good at failing, it’s actually more like a lesson. In fact, when you get really good at marketing, each tiny lesson is actually “a stepping stone towards success.” We’ve made plenty of mistakes building products, but the worst is continuing down a path that just isn’t right, or won’t amount to any value.

We’ve given up plenty of times, and blogged about it. It’s important, when you give up, to assess why — we like doing that through blogging and sharing about our failures (and successes). 2

Thanks to the Georgia Tech Entrepreneur Society for hosting me. If you’re a Georgia Tech student interested in business, startups, and tech, they have weekly meetings and speakers.

1 Our failed experiment: great on the rack, bad in the mirror on the Scout Blog

2 We Just Undid Three Months of Dev work. Here’s What We Learned on the Scout Blog

by cbq

Teaching Ruby on Rails

Published August 22, 2009 in Presentations Ruby On Rails

At last month’s Atlanta Ruby User Group (Meetp), I gave a presentation on “Teaching Ruby on Rails.”

I’ve taught Ruby on Rails for the Big Nerd Ranch for almost 4 years now, and given on-site trainings all over the world, from Wells Fargo to the New York Times, to startups and even government agencies. I’ve also done this talk before at the first Acts As Conference (Ruby on Rails local conference in Orlando, Florida), but I have refined it a bit based on more experience teaching Rails at various organizations.

Being an effective teacher, and thus, Teaching Rails (and for that matter, any real technical programming language and framework) boils down to 4 main points:

  • Define Your Purpose
  • Know Your Audience
  • Give Relevant Examples
  • Teach How to Learn

We’re hoping to get video of the presentation up soon, but if you just want access to the slides with notes, I’ve provided them in the footnotes.

Trying to handle image manipulation, creating PDFs, or in-memory caching in pure Ruby is like trying to win the Tour de France on your hipster single-speed bike. The single-speed works 90% of the time, but when you have demanding performance requirements, it’s not good enough. Many popular Ruby libraries, such as MySQL/PostgreSQL, RMagick, and most of the webservers Ruby applications are deployed on (like Passenger, Mongrel, and Thin), harness the blazing speed of the C language and libraries to handle the heavy lifting and performance-intensive business that Ruby can’t keep up with on its own.

In some of my recent work, I had the opportunity to delve into and expand on a Ruby extension written in C for looking up geographic information based on IPs. This library was vital to one of our client’s projects that has immense performance requirements without the possibility of full request caching. By utilizing the existing GeoIP C library for accessing their special in-memory binary database, we were able to keep up with the demand the application would be seeing.

As is common at Highgroove Studios, along with making sure our contributions to the library were open sourced, I took the lessons and experience gained from this unusual endeavor and presented them to our local Ruby User Group here in Atlanta. I focused more on exposing the bridge between the Ruby and the C environments and understanding the internals of the Ruby language from a C standpoint. However, armed with this knowledge, any Rubyist is able to open up most any Ruby extension or even the Ruby language implementation itself and understand what’s going on. My goal was to get the developers over the initial hurdle of being able to read the code and understand it enough to investigate further.

Personally, I gained from this experience a better appreciation for the real beauty of the Ruby language and the effort required to make it as fluid and dynamic as it is as well as having a more thorough understanding of the internal workings of the language. Working this close to the language core has also made a difference on my Ruby style, both in trying to fight the language less but to also use it more efficiently and effectively.

For more information, check out the presentation slides1 and some of the C examples I wrote for the presentation2. Also check out the GeoIP I contributed to which inspired this whole adventure3.

1 http://www.slideshare.net/maraby/writing-ruby-extensions

2 http://github.com/mtodd/ruby-c

3 http://github.com/mtodd/geoip

James and Dana are back from Mountain West Ruby Conf, and the videos of their talks are up:

http://mwrc2009.confreaks.com/

James said of the conference:

“The talks were very high caliber, the venue great, and the hosts generous. This conference also proves that not only does a single-track conference still work, it’s just plain better.”

Many critics are hailing Little Big Planet as the video game of the year. Its “flexible, fun, and powerful” level creator and sharing system has created an interactive platform never before seen in gaming.

But you don’t need to tell our James Edward Gray II about it – in March, at the MountainWest Ruby Conference" in Salt Lake City, he’ll be giving a featured speech on how Ruby programmers can learn from Little Big Planet’s creative problem solving and code reading. He’ll also be discussing some of the most creative Ruby projects out there, showing how their developers build servers, optimize code, and more.

A Playstation 3 and advanced knowledge of Super Mario Brothers Level 1-1 is optional but encouraged for attendees of this talk.

by cbq

Rack at the Atlanta Ruby Meetup

Published January 12, 2009 in Ruby On Rails Presentations

Come see Matt talk about the Rack project, a minimal interface between webservers supporting Ruby and Ruby frameworks that’s behind the new Rails Metal functionality.

He’ll be going over Rack, and showing an example of a quick and dirty framework. He may even show how we use Rack handler’s to help handle Scout’s load.

Other topics include:

  • Weather Stuff from a developer at the Weather Channel
  • Rails Metal!

Check out the Atlanta Ruby Meetup Group and the January Meeting Event Details for more information.

by cbq

MerbCamp Registration Open

Published September 09, 2008 in Community Presentations Conferences

MerbCamp is the first official gathering for the Merb community.

Our own Matt Todd is speaking on “Going Beyond Web Sites with Merb” — where he’ll talk about using Merb to do things other than just your run-of-the-mill web-sites — things like APIs, Web Services, lightweight protocols, and making your grass greener. Well, maybe not that last one.

You can Register at:

http://merbcamp.com/

We’ve had the pleasure of working with Matt Todd recently on several Highgroove projects.

Matt’s going to be speaking at RubyFringe, “an avant-garde conference for developers that are excited about emerging Ruby projects and technologies” on July 18-20, 2008 in Toronto, Canada.

And while there is a very clever joke I could insinuate about Matt’s talk entitled Being Dumb And Using It To Your Advantage, on Matt being “the expert on dumb,” I can’t quite come up with it — and then there’s the fact that he is actually really frickin’ smart.

If you’ve ever thought of an idea, only to convince yourself “eh, that’ll never work, that’s a dumb idea” — his talk will make you think otherwise.

Last night, I demoed Scout to a room-full of Rubyists at the Atlanta Ruby User Group Meeting.

I would love to share all the wonderful feedback, but instead, I’ll share some of the excellent questions (and more elaborate answers) that were asked of Scout:

What are the security pitfalls, i.e. can someone simply write a ‘rm -rf’ plugin?

To answer that, let’s look at the architecture of Scout first:

  • You install the tiny Scout client (which is a Ruby gem) on your server.
  • The client connects over https (always) through a 256-bit secure, encrypted connection (the same encryption your bank uses).
  • Scout never logs in to any of your servers.
  • All communication is initiated by the client.
  • The client downloads a pre-loaded plugin plan, consisting only of plugins of your choosing, so it cannot run plugins you didn’t explicitly authorize.
  • The server also uses that same secure encryption for all communication. Individual accounts are protected.
  • Client keys (uniquely generated) can be revoked at any time, disabling the client.

The security measures needed for Scout are the same as for any other software. In fact, in some ways, it’s easier to be more secure – the plugins are relatively few lines of code and easy to review. For a more closed environent, you can create a copy of the plugin code and host it on one of your own servers (a plugin is plain text).

Is Scout open source?

The Scout client is completely open source. The gem is a normal Ruby gem, open for development, and distributed under the MIT and/or Ruby License (whichever you prefer). The Scout Plugins people write are also completely open, in fact, they are surrounded and fostered by a community that encourages branching, fixes, and general open-ness.

The Server, where you aggregate your data, do reporting, and in general, collect information about your account is not open-source. We maintain the server, and keep all your data safe and sound.

When does it launch?

We’re doing the plumbing now – account subscriptions, a new home page, privacy policies, backup procedures, etc. We’ve recognized that lots of people are anxious to get going and we’re working to get it ready for public use as fast as possible.

For those who missed my talk at the most excellent Acts As Conference put on by the good folks at Rails For All in Orlando, Florida — here’s the cheat sheet.

My talk was on the lessons learned from teaching the Ruby on Rails Bootcamp and various on-site Trainings over the past year and a half. Here are the 4 key things you need to do to be a successful trainer:

Define Your Purpose – Come up with a clear, specific, desired outcome. Are you attempting to teach the basics, or promote mastery? A quick how-to, or a detailed guide to a particular way of development? A clear purpose helps your audience hit the ground running. An unorganized braindump can leave your students frustrated when they go at it alone.

Know Your Audience – You’ve got to understand everything you can about your audience. This means not only their current level of knowledge, but their past experiences, and even their goals. Ask questions before and during your training to understand everything you can about them. This will help immensely with the next tip.

Give Relevant Examples – Cater your examples to the domain that your audience knows. If you are teaching a bunch of journalists, use concepts from the publishing world. Never use foo, bar, or any other made up word in any example. If you don’t know, guess, and if your audience corrects you on the concept, you now have attentive listeners, contributing to your solution!

Teach How to Learn – Show, don’t tell. Stress how to find out why something works the way it does. Give plenty of examples, and help your audience figure out concepts. Give them the resources to continue learning and to find out more. Show them how you figured it out, or where you went to learn.

I’m sure there are plenty more tips, but I’ve found these 4 to be extremely valuable to me in coming up with valuable lessons and ways of teaching. Thanks to everyone who came up to me afterward to ask questions and share feedback about teaching!

Just a quick note that I’ll be speaking on "Lessons from the Trenches “ Learning from the Rails Bootcamp at the regional Ruby on Rails Conference dubbed acts_as_conference (a play on the Rails way of introducing behavior through code) in Orlando, Florida, on Feb 8-9.

If you’re interested in how to effectively teach your friends, colleagues, bosses, and maybe even your mom about Ruby on Rails, registration is now open to the public. Looks to be a great conference line-up, with keynoters Obie Fernandez and Dan Benjamin, and plenty of great talks.

by james

Talking in Texas

Published September 04, 2007 in Community Presentations Conferences

I’ll be representing Highgroove at the Lone Star Rubyconf this weekend. I’ll give two talks, one for the charity event the night before and another at the main conference.

At the charity event I’m going to go over Ruby’s block syntax. I’ll cover what blocks are, how they are used, and give a lot of great examples. This is a good talk to sit in on if you’re new to Ruby and it’s even for a good cause.

For the conference I’m going to talk about heroes and super powers. I’m sure I’ll manage to sneak a little Ruby in there too, for those that enjoy that. This talk takes an in depth look at glue code and Ruby’s features supporting such. It’ll be fun stuff that doesn’t get talked about enough.

If you are attending the conference, do flag me down and say hello. I’m always interested in meeting fellow Rubyists.

Hope to see you there!

by james

The Dime Tour of Rails

Published May 14, 2007 in Presentations Ruby On Rails

If you are just getting into Rails or still don’t get what all the fuss is about and you happen to be near Oklahoma, you may walk to catch my talk tomorrow night for Refresh OKC. The meeting starts at 6:30 PM in the Oklahoma City Public Library.

I’ve got a massive talk prepared covering as large a portion of Rails as I can possibly fit in given the time. I do include some cool topics like using the Rails console and even AJAX. I even sneak in a little magic.

Do drop by if you are in the neighborhood…

A Presentation on with Screech Powers, Cesar Milan (The Dog Whisper), Sean Penn, and guest Ruby celebrity (and Atlanta native) Obie Fernandez. Despite the antics, Capistrano is a powerful, yet simple, bona-fide, big-boy tool. It sure does make our life easier. We like it so much, we’ve made it our goal with Slingshot Hosting to get your Ruby on Rails application up and running with our customized Capistrano Recipes, so you can focus on development.

“Capistrano – Atlanta Ruby Users Group PDF”(editor’s note – pdf removed)

I'll be giving a Rails presentation to OK.rb this coming Tuesday (June 13th). Anyone in the OKC area is more than welcome to attend.

My talk will be a tour of some live production code HighGroove has generated for clients. I'll cover sections of interest from three different applications. This should be a good chance for us to explore how Rails applications come together.

For more in formation visit OK.rb's meeting schedule or email me with your questions.

Related Tags: