Slides presented at TechWeekend 5, shifted between some of my earlier talks and this one.
=
Reference papers i suggest
=
1. Joe Armstrong's thesis
www.erlang.org/download/armstrong_thesis_2003.pdf
2. Exploring Alternate memory architectures for Erlang
www.fantasi.se/publications/Wilhelmsson_MSc.pdf
3. Programming Efficiently with Binaries and Bit Strings
www.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
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
6 things to know about erlang
1. 6 things to know about erlang
Bhasker V Kode
CEO at hover.in
at TechWeekend Pune
December 18th, 2010
Dec 2010 http://developers.hover.in
2. 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
3. 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
4. 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...
● $ erl
Erlang R13B04 (erts5.7.5) [source] [smp:2:2] [rq:2] [async
threads:0] [hipe] [kernelpoll:false]
●Eshell V5.7.5 (abort with ^G)
●1>
Dec 2010 http://developers.hover.in
5. 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
6. 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
8. 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
9. 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 Functional
Programming (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
kode@hover.in +919767644631 @bosky101
Dec 2010 http://developers.hover.in
10. 6 things to know about erlang
Bhasker V Kode
CEO at hover.in
at TechWeekend Pune
December 18th, 2010
Dec 2010 http://developers.hover.in