HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
The Road to Running Haskell at Facebook Scale - Jon Coens

Erlang Solutions · Youtube · 110 HN points · 2 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention Erlang Solutions's video "The Road to Running Haskell at Facebook Scale - Jon Coens".
Youtube Summary
Slides and more info: http://www.codemesh.io/codemesh2015/jon-coens

The Haxl project is running in production at Facebook, and it's been a fascinating ride along the way. We've migrated a 100K line codebase to a completely separate language, built novel infrastructure in Haskell, launched it in a crucial system, and grew dozens of Haskell developers, all without missing a beat. Come learn what blood, sweat, and tears were needed to make this Haskell success story.

Talk objectives:

- The talk aims to show our experiences with using Haskell on a large project: what we needed to change in Haskell to make it run in a high-performance server and what it took to migrate between languages (both technical and human).

Target audience:

- Anyone curious how migrating an existing project to Haskell may look like or what Facebook's biggest foray into Haskell has been.

About Jon

Jon Coens is a software engineer at Facebook. After building robots at CMU's CS program, he's been building anti-spam infrastructure to keep the bad guys off Facebook. In 2013, he founded the Haxl project with Simon Marlow and has spearheaded the growth of Haskell at Facebook.
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
Jun 15, 2016 · 2 points, 0 comments · submitted by joobus
Jan 12, 2016 · 101 points, 15 comments · submitted by kornish
co_dh
I'm really excited about this. If facebook is able to use it in production, then Haskell is no longer an academic language. I would tell my boss that we can use Haskell because facebook is using it:)

BTW, the stackage project have resolved a big problem (Cabel hell) in Haskell ecosystem, and I start to use haskell again.

boothead
If you need anyone to back you up, I would be happy to share my experience building a team of Haskellers, putting it into production at a start up and how Haskell scales to a large enterprise.
carterschonwald
and likewise I'm part of a team thats got Haskell code in production at a fortune 20(ish) company. And we've been slowly growing a positive reputation within the firm for repeatedly building and delivering some pretty ambitious projects too! :)
kornish
(not the parent commenter, but..)

That would be great - do you have any writing about your experience anywhere?

Someone a few days ago made a comment that Haskell posts on HN frequently get many upvotes but fewer comments, and that this symptom is indicative of lots of people who are following the language but haven't had a chance to dive in. I think hearing more success stories about putting it into prod would go a long way towards allaying fears from earlier days. Seems like the HN community would benefit from hearing your story.

boothead
Here's the other link I mentioned:

https://groups.google.com/forum/#!searchin/commercialhaskell...

elcapitan
+1
boothead
I have a write up about the start up stuff here:

https://www.fpcomplete.com/business/blog/utilizing-haskell-f...

There's also a more in depth version on the commercial haskell mailing list (I can't find it from work I'm afraid).

Feel free to fire any more questions at me :-)

None
None
KirinDave
Facebook using Haskell, or any language, does not make it less "academic" or more "production quality."

Ultimately, we can use lots of different languages in different roles. People have been shipping Haskell code in production for years. The runtime and compiler have been up to snuff for some time, and honestly the build tools were not in any worse of a place than Go's are right now.

The decision if something is production-ready for your shop is a matter of your personal (and/or organizational) commitment to that technical platform. You do not need the blessing of a big company to use a tool. Perpetuating this idea only makes it harder for people to try new tools. And so long as Haskell continues to be flexible and easy to extend, it'll still be useful to academia (hence the 100+ language extensions still available).

ori_b
Strongly agree -- I'm on a team at Facebook that has D code in production. There is a lot of investment that we'd have to do to make it what I'd call solidly production quality.

At one point, I found myself writing a heap profiler, since the tools available where inadequate. If your company doesn't have the ability or will to fix issues deep within the runtime of the shiny new system you're using, I'd be cautious about using a shiny new tool in production. I'm not necessarily saying "Don't do it", but you do need to think long and hard about how you'd handle a tricky bug in your tool.

KirinDave
Yeah, although I always try to be more positive for startups. Rarely are those bugs so destructive that they'll take down your business unless you do a really deep dive like that.

And if it's a leverage factor for a small time, the math is almost always in favor of the more pointed tool.

kornish
I agree that the line of reasoning in the parent comment is flawed ("if Facebook is using it, then we can use it too") and that making a language decision is very much about picking the right tool for the job.

However, I think the comment touches on a truth: public perception matters in language decisions. A tool which is perceived to only be useful to academics and tinkerers often times won't make it onto the short list, even when it merits being there. Seeing that Facebook can use this tool effectively at scale might mitigate the early adoption risk that many feel, and let them concentrate on evaluating Haskell for how it fits the problem. Without the validation of seeing it used for large, real-world systems, it might never make it that far.

dmix
Have they done a similar talk about their use of Erlang for their Facebook chat (ejabberd) platform at scale?
lambdas
They stopped using Erlang at least two years ago and use C++ for the chat now
citeguised
Recently started to dive into FP and Haskell, and it's nice to see it used at this scale.

If anyone is looking for a starting-point: I stumbled upon a great book: http://haskellbook.com/ It's still early-access, but the biggest part is done and it's already at 1000+ pages.

(I'm not affiliated with this project in any way)

cplat
+1 for this book. Also, version 0.9 got released yesterday adding more chapters.
I have a video in my watch queue that shows Facebook is:

https://youtu.be/sl2zo7tzrO8

Nov 13, 2015 · 7 points, 0 comments · submitted by mightybyte
HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.