6 things to know about erlang

10
things to know about erlang Bhasker V Kode CEO at hover.in at TechWeekend Pune December 18th, 2010 6 Dec 2010 http://developers.hover.in

description

Slides presented at TechWeekend 5, shifted between some of my earlier talks and this one.=Reference papers i suggest=1. Joe Armstrong's thesiswww.erlang.org/download/armstrong_thesis_2003.pdf2. Exploring Alternate memory architectures for Erlangwww.fantasi.se/publications/Wilhelmsson_MSc.pdf3. Programming Efficiently with Binaries and Bit Stringswww.erlang.org/euc/07/papers/1700Gustafsson.pdf =Agenda at =http://punetech.com/clojure-erlang-functional-programming-intro-to-fp-why-its-important-techweekend5-18-dec/=live blogging at =http://punetech.com/liveblog-tw5-intro-to-functional-programming-why-its-important/@bosky101

Transcript of 6 things to know about erlang

Page 1: 6 things to know about erlang

things to know about erlang

Bhasker V KodeCEO at hover.in

at TechWeekend PuneDecember 18th, 2010

6

Dec 2010 http://developers.hover.in

Page 2: 6 things to know about erlang

Agenda of this Erlang talk● Past, Present, Future● Getting started● Virtual Machine & Internals● For Language geeks● For Application developers● For Web developers

Dec 2010 http://developers.hover.in

Page 3: 6 things to know about erlang

Past, Present, Future● history● exciting● multi-core future ● RAM vs disk. Cache is King.● why is data becoming archival● Offers something for everyone

Dec 2010 http://developers.hover.in

Page 4: 6 things to know about erlang

Getting Started● http://erlang.org to download, see docs● runs on multiple platforms (even...)● Download from src, configure, make or sudo apt­get erlang etc. then...● $ erlErlang R13B04 (erts­5.7.5) [source] [smp:2:2] [rq:2] [async­threads:0] [hipe] [kernel­poll:false]●Eshell V5.7.5  (abort with ^G)●1> 

Dec 2010 http://developers.hover.in

Page 5: 6 things to know about erlang

Virtual Machine & Internals● What is a process, it's heap ● How do processes communicate● How is the data shared between them● What is shared, What is not● What role does binary play● Schedulers, Role of Multi-core● Tweaking the virtual machine / shell

Dec 2010 http://developers.hover.in

Page 6: 6 things to know about erlang

For Language geeks● Compile .erl to .beam, emacs mode● Tail recursive fn's, finite state machines● Pattern matching, Immutable variables● Syntax, Modules, Terms● Spawning processes, listening for errors● Distribution across nodes , RPC● supervisors, non-defensive

Dec 2010 http://developers.hover.in

Page 7: 6 things to know about erlang

Application developers● Map Reduce Fold ● Thinking beyond “for loops”● eg1: count total $ this room of MxN seats● eg2: indexes & inverted indexes● eg3: solving ambiguity● eg4: mnesia database & 3 table types● eg5: OTP's readymade modules

Dec 2010 http://developers.hover.in

Page 8: 6 things to know about erlang

For web developers● WEB:Yaws,mochiweb,nitrogen,misultin,etc● DB:Riak,Couch,dynomite,hibari,scalaris,etc● TESTING: distil,eunit,quickcheck,tsung●{In the wild} amazon,facebook, microsoft, github, nokia, ea, {indian} geodesic, hover● BONUS: long-poll, unicode, pdf, BIF 's,

Dec 2010 http://developers.hover.in

Page 9: 6 things to know about erlang

summary of tech at hover.in● LYME stack since ~jan 08, have 4 (-?) 64bit 8GB SSD nodes

● Crawler + associated NLP parsers, text analysis, index's in tokyo cabinet, inverted index's in erlang 's mnesia, in-house caching layers,cyclic queues. Cpu time-splicing algo's, priority queue's or heat-seeking algos, flowcontrols, headless-firefox for thumbnails, patches to tokyocabinet 'medici', bidding, ad matching + serving. 50+ erlang modules. Working on: Prediction & machine learning

● Millions of hits per node per day. Millions of hovers per month. Invited to speak at Commercial Users of FunctionalProgramming (Edinburgh along with Facebook), Erlang Factory(London), Foss.in ( Bangalore )

● 2-4 developers + several interns across ~2 years. Seed funded. Sales offices in Pune, Bangalore, Delhi, Mumbai & Hiring http://slideshare.net/bosky101 http://developers.hover.in [email protected] +919767644631 @bosky101

Dec 2010 http://developers.hover.in

Page 10: 6 things to know about erlang

things to know about erlang

Bhasker V KodeCEO at hover.in

at TechWeekend PuneDecember 18th, 2010

6

Dec 2010 http://developers.hover.in