InfoQ

InfoQ

Presentation

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Recorded at:
Recorded at

Conceptual Algorithms

Presented by Tom Preston-Werner on Jan 17, 2009 Length 00:44:06
Sections
Process & Practices,
Architecture & Design,
Development
Topics
Delivering Quality ,
Debugging ,
Methodologies ,
Software Troubleshooting ,
Software Testing ,
Programming ,
Ruby
Tags
Patterns and Practices ,
RubyFringe ,
github
 

How would you like to view the presentation?

In case you are having issues watching this video, please follow these simple steps to help us investigate the issue:
1. Right click on the video player and select Copy log
2. Paste the copied information in an email to video-issue@infoq.com (clicking this link will fill in the default details in most email clients).
Note: in case your email client hasn't automatically picked up the email subject, please include in your email the URL of the video too.
3. Done.
We will investigate the issue and get back to you as soon as possible. Thanks for helping us improve our site!
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
Re: Entertaining talk by Werner Schuster Posted
Re: Entertaining talk by Markus Kohler Posted
Re: Entertaining talk by William Louth Posted
Wau!!! by Jure Srsen Posted
  1. Back to top

    Entertaining talk

    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

    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!!!

    by Jure Srsen

    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

    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

    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

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.

Polyglot Persistence for Java Developers - Moving Out of the Relational Comfort Zone

Chris Richardson shows how he ported a relational database to three NoSQL data stores: Redis, Cassandra and MongoDB.

The Golden Circle – Why How What

Jean Tabaka challenges the audience to reflect on what Agile practices they are employing, how they are using them, ending with the questions “Why have their organization chosen to go Agile?