InfoQ

Presentation

Recorded at:
Recorded at

Conceptual Algorithms

Presented by Tom Preston-Werner on Jan 17, 2009

Community
Ruby
Topics
Software Testing ,
Methodologies ,
Delivering Quality ,
Programming ,
Debugging ,
Software Troubleshooting
Tags
RubyFringe ,
github ,
Patterns and Practices
Summary
In this talk from RubyFringe, GitHub's Tom Preston-Werner talks about a methodical approach to solving problems and debugging. Also: he explains how to use the "Deathbed Filter" for choosing projects.

Bio
Tom Preston-Werner is one of the founders of GitHub. He's created various Ruby tools such as the monitoring tool god, and many more.

About the conference
RubyFringe is an avant-garde conference for developers that are excited about emerging Ruby projects and technologies. They're mounting a unique and eccentric gathering of the people and projects that are driving things forward in our community.
Entertaining talk by Markus Kohler Posted Jan 21, 2009 1:59 AM
Re: Entertaining talk by Werner Schuster Posted Jan 21, 2009 4:48 PM
Re: Entertaining talk by Markus Kohler Posted Jan 28, 2009 11:14 AM
Re: Entertaining talk by William Louth Posted Jan 29, 2009 5:24 AM
Wau!!! by Jure http://blog.regulus.si Posted Jan 22, 2009 10:37 AM
  1. Back to top

    Entertaining talk

    Jan 21, 2009 1:59 AM by Markus Kohler

    It's a little bit shocking how difficult it is in Ruby to analyze memory leaks.
    Analyzing memory leaks is easy in Java (Eclipse Memory Analyzer).
    Analyzing memory usage is much more difficult, but still can be done with MAT. Check my blogs posts

  2. Back to top

    Re: Entertaining talk

    Jan 21, 2009 4:48 PM by Werner Schuster

    I'm not so sure - the memory leak Tom's talking about is a leak in the Ruby interpreter not an application leak.
    There are a bunch of leaks - although recently a fix for many of them was found:
    www.infoq.com/news/2009/01/ruby-patches-fix-leaks
    (turns out it was naughty GCC + the conservative Ruby GC).

    For the nice kind of memory leak (the self-inflicted one in user code) Ruby doesn't need outside tools since it can look at the objects in the heap and iterate over the reachable ones. Eg here's a simple homegrown profiler using ObjectSpace:
    scottstuff.net/blog/articles/2006/08/17/memory-...

    Obviously - you'll still need some of the algorithms for analyzing the object graph and figuring out what might be a memory leak or not, and tools like MAT have these of course.

  3. Back to top

    Wau!!!

    Jan 22, 2009 10:37 AM by Jure http://blog.regulus.si

    Thanks a lot for this presentation, Tom!
    I would listen to audio versions of this in a regular podcast :)
    Jure Sršen

  4. Back to top

    Re: Entertaining talk

    Jan 28, 2009 11:14 AM by Markus Kohler

    Sure that was a leak caused by the GC not working correctly.
    I never heard of such a bug in the JVM GC within the last 9 years.

    You typically need an external tool, because if you don't have enough memory anymore you cannot use additional memory within the same process.

  5. Back to top

    Re: Entertaining talk

    Jan 29, 2009 5:24 AM by William Louth

    Entertaining? This guy would put you to asleep with his long drawn out project promotion, language (not just ruby itself), and inability to get to the point without meandering off the course in mid-flight. I find it amazing that the lesson in this session needed to said and in such a excruciating manner. And I thought Java conferences were bad filled with the same repeating talk show (sales) hosts.

    William

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.