BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Presentations Conceptual Algorithms

Conceptual Algorithms

Bookmarks
44:06

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.

Recorded at:

Jan 17, 2009

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Entertaining talk

    by Markus Kohler,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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

  • Re: Entertaining talk

    by Werner Schuster,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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.

  • Wau!!!

    by Jure Srsen,

    Your message is awaiting moderation. Thank you for participating in the discussion.

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

  • Re: Entertaining talk

    by Markus Kohler,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT