6 things to know about erlang
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/@bosky101TRANSCRIPT
![Page 1: 6 things to know about erlang](https://reader035.vdocuments.pub/reader035/viewer/2022081816/54919f46ac79591b288b4594/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081816/54919f46ac79591b288b4594/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081816/54919f46ac79591b288b4594/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081816/54919f46ac79591b288b4594/html5/thumbnails/4.jpg)
Getting Started● http://erlang.org to download, see docs● runs on multiple platforms (even...)● Download from src, configure, make or sudo aptget erlang etc. then...● $ erlErlang R13B04 (erts5.7.5) [source] [smp:2:2] [rq:2] [asyncthreads:0] [hipe] [kernelpoll:false]●Eshell V5.7.5 (abort with ^G)●1>
Dec 2010 http://developers.hover.in
![Page 5: 6 things to know about erlang](https://reader035.vdocuments.pub/reader035/viewer/2022081816/54919f46ac79591b288b4594/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081816/54919f46ac79591b288b4594/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081816/54919f46ac79591b288b4594/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081816/54919f46ac79591b288b4594/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081816/54919f46ac79591b288b4594/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022081816/54919f46ac79591b288b4594/html5/thumbnails/10.jpg)
things to know about erlang
Bhasker V KodeCEO at hover.in
at TechWeekend PuneDecember 18th, 2010
6
Dec 2010 http://developers.hover.in