Close and Go BackBack to Viget

Events

Recap: Refresh the Triangle January Meeting

Matt Swasey
Matt Swasey, Web Developer, January 25, 2008 0

This past Wednesday (Jan 23rd), Patrick and I headed down to Durham, NC to attend and take part in the January meeting of Refresh the Triangle. This month’s “Refresh” was hosted at Bronto’s beautiful office space in downtown Durham.

This Refresh we wanted to try out a new and different form of presentation known as “Lightning Talks,” brief ten-minute talks in quick succession. Wayne Sutton kicked things off with his talk about using Twitter to drive traffic to your site, as well as some creative ideas on how to have fun within the growing Twitter community.

Our own Patrick Reagan showed us how we can clean up HTML mark-up within our Ruby/Rails projects using Haml. The crowd was all “oohs and ahhs” as Pat used his Keynote wizardry to transform messy mark-up into beautiful Haml code right before our very eyes!

Josh Vickery took us through the often intimidating world of the Gimp, with the unique perspective of a hacker in need of the occasional web graphic. This was especially appreciated by us developers who lack the expertise of our designer brothers and sisters, but who still require the occasional simple image for our projects.

Another Viget original, Peyton Crump, gave us a designer’s perspective on using and implementing the Google Maps API. Additionally, Peyton provided everyone with a large array of resources and links for everything concerning Google Maps API, making his presentation an invaluable resource in and of itself for both designers and developers interested in creating Google Maps mash-ups, maplets, and so forth.

Finally, Julia Kulla-Mader shared her enthusiasm and vast knowledge of the open-source PHP-based CMS Drupal. Julia is a contributor to the Drupal project and was very keen on expressing some of the reasons that make Drupal such a popular CMS in both personal and professional web markets.

All this information and knowledge-sharing took place over the span of 90 minutes. The meeting was followed by a few beers and friendly conversation down at Tyler’s bar, which shares the same magnificent red-brick building as Bronto’s office.

The January Refresh saw a mix of designers and developers coming together and sharing some of the technologies that we’re really passionate about. While we’re still settling into the rapid cadence of our lightning talks, we’re also really coming into our own at the Refresh the Triangle meetings. If you are a developer, designer, or just simply interested in technology and its rapidly-shifting trends, I encourage you to check out a Refresh meeting. You’ll get an opportunity to expand your knowledge on design and development topics, as well as get to know the cream-of-the-crop talent in your local area.

Recap: Refresh the Triangle Holiday Meeting

Clinton R. Nixon
Clinton R. Nixon, Senior Developer, December 07, 2007 0


Refresh the Triangle 002


Yesterday, I had the honor of speaking at the second meeting of Refresh the Triangle. We were hosted by Shoeboxed.com, a local start-up, and their space accommodated the crowd of about 30 people nicely.

My talk was on techniques for securing web applications, and common security holes to look out for. After a very inspiring similar talk at Refresh DC, I was definitely excited to share my knowledge about security with the mixed group of designers and developers and show off the glaring holes in some Ruby on Rails and PHP sample applications. As a presentation geek, I wanted to try out a more experiential technique, using demonstrations instead of slides.  The crowd got involved, asking great questions about topics like Cross-Site Request Forgery and laughing at the insecurity of “Upload King!” and “Festival of Bookmarks.” The demo code and security resources are available for you to enjoy.

As is Refresh custom, a post-meeting meeting at a local pub inspired great discussion and showed what a vibrant group of web professionals we have in North Carolina. We’re very lucky at Viget Labs to be part of both Refresh DC and Refresh the Triangle, and we invite you to visit the Refresh the Triangle site to suggest future topics or find out about upcoming events!

RubyConf Recap

Mark Cornick
Mark Cornick, Web Developer, November 08, 2007 0

Several Viget Labs developers participated in RubyConf 2007 from November 2-4 in Charlotte, North Carolina. Ben was once again selected as a speaker, and Patrick, Clinton, Kyle and I came along.

Unlike the Ruby on Rails-oriented conferences we attended earlier in the year, RubyConf is devoted to Ruby outside of the specific context of Rails. As such, although several presenters made passing references to Rails, it was not the focus of any presentation. Our attendance at RubyConf would, therefore, provide an opportunity to think outside the Rails box we usually occupy in our work at Viget.

Friday’s agenda started with Rails core developer Marcel Molina Jr.’s “What Makes Code Beautiful?” attempting to bring definition to what is always a subjective matter. This was followed by Jim Weirich’s “Advanced Ruby Class Design” which approached readable code from a slightly different angle. Following a tasty lunch, afternoon sessions included discussions of Camping, a “micro-framework”; Treetop, a system for text parsing and interpretation; and the intriguingly-named “Hurting Code for Fun and Profit.” The day concluded with Yukihiro “Matz” Matsumoto, creator of Ruby, answering a variety of questions from the audience.

Saturday morning brought a discussion of three alternate Ruby language implementations: IronRuby, targeting .NET; JRuby, targeting the JVM; and Rubinius, targeting Ruby itself. In his evening keynote, Matz made reference to these three implementations, as well as the upcoming YARV virtual machine, calling himself merely the “designer” of Ruby, rather than its implementor. Matz is famous for this humility and good humor and sees these alternate implementations as widening the scope of Ruby rather than competing with his own work. Between the morning plenaries and evening keynote, break-out sessions included profiling and tuning Ruby, shipping desktop applications written in Ruby, and the vastly-improved Ruby support in the new Leopard release of Mac OS X.

On Sunday, we were awakened to the sounds of TV’s “A-Team” in Dr. Nic’s presentation on Rubigen, an extraction of Rails’ generators into more generic Ruby form. This was followed by David Chelimsky and Dave Astels presenting on the current state of behavior-driven development with RSpec, and Jay Phillips speaking on his Adhearsion VOIP framework. Ben finally got to speak in the last set of break-out sessions; his “Cleanliness is Next to Domain-Specificity” showed how creating a domain-specific dialect in Ruby can really clean up your code. Other afternoon sessions included discussions of OpenID, JRuby, and the solr search engine.

Outside of the conference hours, we enjoyed taking in some of downtown Charlotte’s restaurants and bars (be sure to stop in at Mert’s for some excellent soul food if you’re ever in the area); meeting with friends, colleagues and clients; and reuniting with our fellow developers, whom we mostly see over Campfire since the opening of our Durham office. For all of these reasons, RubyConf 2007 was a great experience, and a fitting end to a year of conference appearances in Portland, Berlin, Raleigh, Austin, and Pisa, among others. We’re already making plans for 2008, so keep an eye on the Four Labs blog for details, and look for us to come near you soon!

Back From RailsConf Europe

Patrick Reagan
Patrick Reagan, Development Director, September 22, 2007 0

On Friday, Ben and I returned to Falls Church after a week-long trip to Berlin for the 2nd annual European Rails Conference.  Berlin was a lot of fun and the conference was a blast – again, the folks from both Ruby Central and O’Reilly Media organized another great event.  Thanks to FiveRuns and their Try and Fly contest, we were fortunate enough to attend.

After experiencing a packed schedule in Portland, we knew that this time around we had to get out and enjoy some local German culture (and beer).  We started our adventure off with the excellent Bratwurst on Rails event held at Kalkscheune and hosted by the Berlin Ruby User Group with support from ELC Technologies and O’Reilly.  It was great to see some familiar faces and connect with new people from around Europe at the event.  In the following days we visited some chilling historical spots, checked out some local cuisine, and tried our best at becoming Berliners – all while being painfully aware of how bad our German was.

Despite all our extracurricular activities, I was able to catch up on some aspects of Rails development at the conference:


  • RSpecDan, David, and Aslak did a great job providing a history of Behaviour-Driven Development and demonstrating how to use the RSpec framework to exercise BDD in Ruby.  I had seen David give a live demo of RSpec at LSRC the week before, but the 4-hour tutorial format at RailsConf really helped fill in some of the missing pieces.

  • Rails 2.0 – Though I missed David’s keynote (it wasn’t me, it was the Pilsner!), he announced the upcoming release of Rails 2.0 in the coming months in addition to some new features since 1.2.3.  While it was good to finally hear that 2.0 is on the horizon, we’ve actually been ahead of the curve now that we’re building our greenfield apps against the current “edge” release.

  • Capistrano – Though our deployments have made use of Capistrano 2.0 for quite some time (thanks, Mark), I was able to pick up some new tips from the useful recipes that Ferdinand discussed.  Selfishly, the highlight for me was when he mentioned his affinity for Mark’s RSync deployment strategy that he’s been using for a majority of his deployments – it’s always great to see people in the community benefiting from our open-source efforts.

  • Metaprogramming – Fresh off his RejectConf performance in Portland, Dr. Nic discussed some great metaprogramming techniques in Ruby and demo’ed his Magic Model Generator plugin as well as some controversial uses of metaprogramming.

  • Amazon Web ServicesJohnathan’s talk again reminded me that I need to start looking more into the EC2 and S3 platforms that Amazon offers to anyone who needs quick access to additional computing or storage needs.  The availability of AWS along with the RightScale platform promises to make multi-server scaling less painful.

  • Selenium – Till Vollmer (of MindMeister) got me thinking about using Selenium (on Rails) again for automated UI testing.  The MindMeister application has some pretty complicated AJAX functionality, and he was able to clearly demonstrate the benefit of using Selenium on an application with such a complex user interface.

  • (A) Presenter Pattern – I had never heard Jay Fields speak at a conference before, but I do follow his blog and thought this would be a good talk to attend.  I had seen Marcel discuss his presenter pattern in January at the Rails Edge conference and I was interested in seeing how Jay’s implementation differed.  After his 15 minute talk, and at his own urging, Jay’s “solution” is not something that we will pursue.

Due to a scheduling issue, one of the sessions was transformed in to an hour-long lightning talk session.  At Chad’s request, Ben was able to give a quick demonstration of Sandstone, his new CMS plugin, to a responsive crowd.  This format is always a big hit with the attendees, so it was nice to see it happen again at the European conference.

From what I can remember, my experience in Berlin was a great one.  Thanks again to the guys from AutoScout, Rails for All, and FiveRuns for the beers, food, and good times.

Fall Rumble Shakes Out Harvest of Applications

Clinton R. Nixon
Clinton R. Nixon, Senior Developer, September 14, 2007 0

Last weekend, September 7 and 8, Viget Labs entered two teams in the Rails Rumble, a 48-hour grueling marathon of web application development. In those 48 hours, each team had to design, develop, and successfully deploy a web application built in Ruby on Rails. Both Ben’s team and my team finished the race, creating a beautiful interface for using IRC from the web and a social calendaring system.

Exercises like this are chances to stretch your creativity and they present a unique opportunity to learn. Lessons learned while under stress—“in the trench,” one might say—are lessons kept a long time. I learned several interesting things while completing Clubhouse.


  • The Triangle area of North Carolina is really heating up for quality web development. We had Ben working as a solo team, and my team was made up of three members from some of the highest-caliber web companies in the area. It was amazing to see how three people from different work environments were able to achieve a high level of cohesion in one weekend. Our shared vocabulary of web standards, Agile development, and simplicity in design didn’t hurt. The Triangle also produced a brilliant new take on Digg, a document collaboration system, and a way to find restaurant recommendations from your friends.

  • Rails is moving very quickly towards a 2.0 release. Even over the weekend, as we developed, the code base changed. There are so many good things in Edge Rails right now to take advantage of.

  • Confronted with such a time limit, our team looked for options to lay out web pages without spending a lot of time tweaking CSS to work with every browser. I had not used the Yahoo! User Interface CSS tools before; but, after using them for a weekend, I can fully recommend their CSS for grids. It is, frankly, amazing in its cross-browser support for complicated grid-based layouts.

  • One thing I found that the Rails community needs, though, is a way to point out the highest quality plugins. When it came time to add tagging and pagination to my application, I was presented with myriad options. Options are good; but, a way to find the pros and cons of each option is better.

  • Writing software truly is a multi-faceted process. Having a project manager, a designer, and a developer on my team helped us out. Those three perspectives let us describe the elephant we were groping for in the dark with much more accuracy.

  • With that said, a sharp focus and a small group can greatly heighten the chance of success. Out of about 150 teams that entered the Rumble, 92 completed a functioning, useful application. That is a tremendous success rate! Many of those teams are going on to try to turn their application into a start-up. The limit on team size—four people—is, I believe, directly responsible for the ability to make quick decisions and keep application requirements focused and simple.

Of course, we were fueled all weekend by the promise of fabulous prizes (and a championship belt.) If you have a chance, feel free to check out Viget’s entries into the Rumble, Irksome and Clubhouse, as well as the other fabulous entries, and vote!

A Development Community for Viget Labs and Beyond

Every team member here at Viget Labs strives to be an innovator. We members of the development team are no different - that's why we're constantly engaging in community discussions and exploring the unknown that is the next generation of open-source web applications.

Viget Is Hiring!

Viget has job openings for Ruby Developers, Interns, and Front-End Developers. Learn More »

Upcoming Events

RailsConf - May 29 to June 1
Senior Developer Ben Scofield is presenting "Advanced RESTful Rails" at RailsConf

O’Reilly’s Open Source Convention - July 21 - 25
Clinton R. Nixon, our other Senior Developer, will be speaking on "Extending Rails: Understanding and Building Plugins."

Recent Comments

I might be missing something but couldn’t a clever person spoof the cookie?