Community Participation

At Soostone, we have been an integral member of the Open Source Community from the start and care deeply about contributing back. Members of our team co-organize the New York Monthly Haskell Meetup, give recorded tech talks at the events, maintain numerous open source libraries, and actively participate in discussions relevant to the community.

Being an active member of the technology community is a rooted strategy that lets us hire among our like-minded colleagues, stay engaged in topics relevant to the state-of-the-art and make a positive impact on the technologies we care about.

Soostone values the tech community and is committed to open source.

At Soostone, we do our best to contribute back to the open source community through the work we do. Our team members maintain several packages on Hackage, contribute significantly to the Snap Web Framework, co-organize the New York Haskell Meetup and frequently participate in various community debates. We encourage all our team members to play an active role in the community in ways they find interesting and rewarding.

Hadron: Conquering Hadoop with Haskell
Ozgun Ataman | January 22, 2014

Hadoop provides a powerful tool for batch-analyzing large amounts of multi-structured data. It can be made to tap into various sources of raw data in their dormant state and parallelize computations onto hundreds of nodes.

Yet Hadoop's ecosystem leaves something to be desired for Haskell programmers. Complex data formats such as custom-format logs, proprietary data stores and deep JSON files must be decoded into something the Hive/Pig ecosystem will understand, introducing many redundancies along the way. The alternative is to drop down to Hadoop Streaming and use the available Java/Python/Ruby/Scala toolchain, abandoning the advantages of Haskell.

In this talk, we will introduce Hadron: A Haskell library/toolkit that makes it possible to construct Map-Reduce programs in Haskell and run them on Hadoop as smoothly as possible. We will discuss what motivated Hadron, how its design materialized within a very limited timeframe, how a "free monad" was used to kill two birds with one stone, and some of the API pain points that remain as future work.

Hadron has been developed by Soostone originally for use in client projects and will be formally open sourced following this month's NY Haskell Meetup.

Watch on Vimeo

Using Lenses to Structure State
Nathan Bouscal | January 22, 2014

This introductory talk presents a simple Haskell program capturing the game of poker. Using this example, we will walk through tactics for program design in Haskell, from constructing appropriate datatypes to using monadic state. Along the way, we'll see how basic uses of the "lens" library can tie things together neatly, letting the underlying domain logic shine through.

Watch on Vimeo

Coding and Reasoning with Purity, Strong Types and Monads
Doug Beardsley | January 29, 2013

Doug Beardsley talks about purity, strong types, and monads--why you should care about them, and how they can help you write better quality software. Drawing on experience with real world projects, we will take a look at practical motivations for these concepts. Then we will explore how they were actually used in the development of the recent 0.10 release of the Heist template system.

Watch on Vimeo

Practical Data Processing With Haskell
Ozgun Ataman | November 14, 2012

Ozgun Ataman gives an introductory talk on Haskell, diving right in with how you can start using Haskell for practical data manipulation tasks today. You'll be introduced to a typical setup for Haskell development and given a demonstration of how a common data format (CSV, JSON, etc.) can be parsed, processed and finally output using Haskell. The talk will include a small actual Haskell program to be modified live and some commentary around using Haskell in practical applications.

Watch on Vimeo