Tag Archives: Inc.

  • Introducing LeoFS – the Lion of Storage Systems
    2013-03-18 Erlang Central

    Videos



    To quote Ludwig Mies van der Rohe, "Less is more" and "God is in the details". This is the philosophy behind LeoFS, a DFS(Distributed File System) open source storage system developed and used by Rakuten, Japan's answer to Amazon and its #1 Shopping Site. LeoFS is a Web shaped object storage system that stores and serves many Rakuten’s image files. It is built to operate in highly distributed environments, such as the cloud, and consists of loosely connected nodes with no SPOF(single po ...


    Read more


  • Services Platform: Experiments in OTP-Compliant Dataflow Programming
    2013-03-18 Erlang Central

    Videos



    Erlang Services Platform (Erlang/SP) is a library that is fully integrated and compliant with existing OTP libraries, but attempts to enable Dataflow Programming techniques. The library anticipates future chips with 100s - 10Ks of cores, allowing problems to be solved by organizing Cooperating Processes (co-ops) around Directed Acyclic Graphs (DAGs) as an augmentation to traditional gen_* system architectures Talk objectives: Compares and contrasts typical OTP programming techniques with Dat ...


    Read more


  • Managing processes without OTP, and how to make them OTP compliant
    2012-07-28 Erlang Central

    Videos



    Erlang developers are exhorted to learn and use OTP. This often entails letting OTP manage your message queues with gen_server, gen_fsm, gen_event, et al. Sometimes you just have to get your hands dirty managing messages. In those cases, proc_lib and knowledge of the sys package will serve you better than raw erlang processes if the rest of your system uses OTP principles. Jay will show how to use the proc_lib services, some tricks for managing message queues, and how the sys library is used to ...


    Read more


  • BUBBA: Benchmarking Using Browser-Based Animation
    2012-03-26 Erlang Central

    Videos



    Microbenchmarks are notoriously bad at predicting overall performance, but running experiments with actual production code using alternative implementations for key algorithms can identify expected performance improvements if the comparisons are executed relative to each other in the same environment. I show how to use YAWS, HTML5 and d3.js to dynamically graph the benchmark performance of erlang code. The goal is to make it easy for a contributor to demonstrate an improvement to your code and c ...


    Read more


  • Complex Erlang/Erjang Processing
    2011-06-06 Erlang Central

    Videos



    Complex Event Processing is a technology that enables the observation, orientation of, decision against and issuance of actions in low latency near real time. In a nutshell CEP (or Event Stream Processing, ESP) engines invert the traditional relationship between processing engines and data stores. Rather than persisting data on disk and querying in an ad hoc fashion. We take the query, optimize the hell out of it, compile it ultimately to native code and flood it with a high frequency of real ti ...


    Read more


  • Process-Striped Buffering with gen_stream
    2011-03-21 Erlang Central

    Videos



    A new OTP behaviour named 'gen_stream' is proposed for R15.  It features a simple interface for consuming serial streams which reside on slow media, are generated computationally or may be infinite in length.  Internally, the stream may be prefetched and/or generated concurrently, allowing the application implementor the ability to declaratively define the concurrency characteristics, improving the performance characteristics of the data source. The inspiration for gen_stream came from Tim ...


    Read more


  • Highly distributed VoIP at Aptela – Cool features (and headaches)
    2011-03-21 Erlang Central

    Videos



    Aptela provides hosted communications services for small business. Our platform includes complex call routing, messaging, web-portals, mobile apps, PSTN/SIP access, and a coffee-grinder attachment. At peak, we handle dozens of calls - and an infinity of HTTP requests - per second Last year we swapped out our (homegrown) EJB/Postgres based platform with a (also homegrown) highly distributed OTP/CouchDB based one. It wasn't an easy switch given the peculiarities and pitfalls of designing for a ...


    Read more


  • Hibari – Key Value Bigdata Store
    2010-11-17 Erlang Central

    Videos



    Hibari is a production-ready, distributed, key-value, big data store. Hibari uses chain replication for strong consistency, high-availability, and durability. Hibari has excellent performance especially for read and large value operations. Hibari is implemented in Erlang.  As of July 2010, Hibari is open-source software under the Apache 2.0 license. We'd like to talk about Hibari's major features and how Hibari has been deployed as part of large commercial Webmail system in Asia.  We also i ...


    Read more


  • UBF – Hands-On
    2010-11-15 Erlang Central

    Presentations

    UBF is the "Universal Binary Format", originally designed and implemented by Joe Armstrong.  See http://www.sics.se/~joe/ubf.html for full details. My company has added a large number of enhancements and improvements to the original UBF framework.  This work is slowly making its way into the wider world, using an MIT license and distributed via GitHub (http://github.com/norton/ubf/tree/master). During the tutorial's first half, we would like to present about the basics of UBF - UBF(a), U ...


    Read more


  • Teach an Old Dog new Tricks; Add a new Behaviour to Erlang/OTP
    2010-11-07 Erlang Central

    Videos

    This two part talk introduces OTP behaviours for beginning erlang programmers, explaining OTP and the role of behaviours and how to add your own custom OTP-integrated behaviour.  Part two provides insights into the structure of the OTP source baseline, documentation, test_server, github and the OTP team so that you can contribute your new behaviour to the Erlang Open Source legacy. You can view the slides from this talk here. ...


    Read more