Profile

Cover photo
Bryan O'Sullivan
Works at Facebook
Lives in San Francisco, California
704 followers|19,248 views
AboutPostsPhotosVideos

Stream

Bryan O'Sullivan

Shared publicly  - 
 
New York friends, I'm going to be in town from June 17 through 21. If you'd like to meet up, drop me a line.
1
Satnam Singh's profile photo
 
I'm in NYC at the same time. Not sure if I can fraternize with the enemy.
Add a comment...

Bryan O'Sullivan

Shared publicly  - 
 
Current status: hating Subversion with the blinding heat of a thousand fiery suns.
19
Ben Collins-Sussman's profile photoDan Villiom Podlaski Christiansen's profile photoBryan O'Sullivan's profile photoBoyd Smith's profile photo
17 comments
 
I guess someday Linux itself will be laughable, though it's hard to imagine when that might be.

Maybe after the zombie apocalypse, two survivors will be sitting together, gnawing some bark, and one will be like, "remember when people made new things? Remember Linux?" And the other will be like, "hah! Yup. Seems laughable now, doesn't it?" And they'll watch the sunset, and eat their bark.
Add a comment...

Bryan O'Sullivan

Shared publicly  - 
 
(Re)announcing statprof, a statistical/sampling profiler for Python:

Sampling profilers are extremely useful: in contrast, Python's default profiler only counts function calls, which leaves you almost blind if you have a hot loop inside a function.

This profiler was originally written years ago by Andy Wingo. I fixed bugs, added a few features, spiffed up the docs a bit, and now you're free to hack!
10
4
Chad Selph's profile photo
 
This link is broken :(
Add a comment...

Bryan O'Sullivan

Shared publicly  - 
 
Nice interview with my boss at Facebook about how we release software. Oh, and we're hiring :-)
7
4
David Leimbach's profile photoNathan Howell's profile photoPete Zaitcev's profile photoRusty Mellinger's profile photo
4 comments
 
And yet, "Bryan O'Sullivan" does not seem to bring up anything related on Facebook, while this article is shared at G+.
Add a comment...

Bryan O'Sullivan

Shared publicly  - 
 
Does there exist a sane profiler for Python?

The lsprof-based profiler in modern Python only counts function calls, which means a hot spot inside a function is typically invisible. This makes lsprof and cProfile almost useless in many common cases.
1
1
Augie Fackler's profile photoJohan Tibell's profile photoP Tufts's profile photoBryan O'Sullivan's profile photo

Bryan O'Sullivan

Shared publicly  - 
 
Just wrote a patch for Mercurial's git importer that uses libgit2/pygit2, if available, to improve performance. The current importer shells out to git a ton, which is of course not very fast.

The result is quite nice so far: import time is improved by about 5x on a small repo (libgit2). Edit: and >8x faster on a larger repo - converting git itself takes 4 hours (!) with stock hg, 28 minutes with my patch. Sweet!
10
Dan Ostrowski's profile photo
 
Nice work, Bryan. :)
Add a comment...

Bryan O'Sullivan

Shared publicly  - 
 
Surprising Python performance fact of the day: subprocess.Popen is slower than os.system, even though the latter goes through /bin/sh!

I tweaked Mercurial's git importer to use subprocess instead of os.popen, to see if I could get a little extra speed out of it, because the git importer has to run a ton of git commands - and this decreased its performance by 15%.
7
Benoit Boissinot's profile photoAugie Fackler's profile photoNathan Howell's profile photoBryan O'Sullivan's profile photo
5 comments
 
+Gregory P. Smith seems like you should be aware of this.
Add a comment...
Have him in circles
704 people

Bryan O'Sullivan

Shared publicly  - 
 
It's always fun to wrestle with type families in GHC, even though I have yet to escape the mental straitjacket of "although I think I understand the sentences I just read, I can't turn this into insight into my own code".
2
Michael Litchard's profile photo
 
"although I think I understand the sentences I just read, I can't turn this into insight into my own code"

I thought that was just me.
Add a comment...

Bryan O'Sullivan

Shared publicly  - 
 
Ah, the joys of trying to find a bug in an LCA algorithm.
2
1
Martin Geisler's profile photoEdward Kmett's profile photoRyan Hayes's profile photoBryan O'Sullivan's profile photo
9 comments
 
I was reminded of this post by somone finding and upvoting my reply. I figured I should update it lest someone else find this and do the same -- and have to derive the algorithm from scratch. The code for my online LCA algorithm can be found on hackage in the lca package: http://hackage.haskell.org/package/lca Apparently someone linked to it in wikipedia as well.
Add a comment...

Bryan O'Sullivan

Shared publicly  - 
 
If you want a good example of bad Python, read the pstats module in the standard distribution. Actually, read the logging module first. While you digest them, let's play a game: why are so many of the standard Python libraries crap?
5
5
Evan Laforge's profile photoLisa Chabot's profile photoRyan Hayes's profile photoFrerich Raabe's profile photo
4 comments
 
I really hate when the standard library uses regular expressions...
Add a comment...

Bryan O'Sullivan

Shared publicly  - 
 
 
This was the best sticker I saw at SXSW, sported by the inimitable +Jason Scott
6
Add a comment...

Bryan O'Sullivan

Shared publicly  - 
 
git people: help!

How do I make commit SHAs reproducible? Suppose I have an empty repo and I want to create a new root commit. I keep the file name, contents, committer name, and date all constant, but I end up with a different SHA hash for that commit every time. What am I missing?
1
Daniel Yokomizo's profile photoMauricio Scheffer's profile photoBryan O'Sullivan's profile photoJared Hance's profile photo
12 comments
 
For future debugging: You can manually inspect the contents of the commit objects to see exactly what the difference is (might need to unpack first)
Add a comment...
People
Have him in circles
704 people
Work
Employment
  • Facebook
    Codemonkey, 2011 - present
  • MailRank
    CTO, 2010 - 2011
  • Linden Lab
    Director, 2007 - 2010
Basic Information
Gender
Male
Story
Introduction
Irish writer, hacker, speaker, climber, skier, dad, based in San Francisco.

Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
San Francisco, California
Previously
Waterford, Ireland