UNIGROUP GENERAL MEETING
Unigroup's May 2014 meeting will be on Functional Programming Languages: What they are, language origins, unique features and strengths, and the Local NYC User Group Communities that have formed around their use.
We'll also have brief review of the recent LOPSA-EAST Conference, to discuss some of the interesting topics presented there.
New for 2013: Regarding credit card payment methods, Unigroup now has the ability to accept all major credit cards: AMEX, MasterCard, Visa, Discover.
SPECIAL INSTRUCTIONS: --------------------- Most Unigroup meetings are open to the public! To REGISTER for this event, please RSVP by using the Unigroup Registration Page. This will allow us to automate the registration process. (Registration will also add you to our mailing list.) Please avoid emailed RSVPs. Please continue to check the Unigroup web site and THIS page, for any last minute updates concerning this meeting. If you registered for this meeting, please check your email for any last minute announcements as the meeting approaches. Also make sure any anti-spam white-lists are updated to _ALLOW_ Unigroup traffic! If you block Unigroup Emails, your address will be dropped from our mailing list. Also, if you have an interest in Unigroup, be sure to receive Unigroup information DIRECTLY from Unigroup, via direct receipt of Emails and by visiting the Unigroup Web Site. NO OTHER SOURCE provides timely, accurate and complete Unigroup information. Please RSVP as soon as possible, preferably at least 2-3 days prior to the meeting date, so we can plan the food order. RSVP deadline is usually the night before the meeting day. Note: RSVP is requested for this location to make sure the guard will let you into the building. RSVP also helps us to properly plan the meeting (food, drinks, handouts, seating, etc.) and speed up your sign-in at the meeting. If you forget to RSVP prior to the meeting day, you may still be able to show up and attend our meeting, however, we cannot guarantee what building security will do if you are "not on the list".
Location: The Cooper Union (http://www.cooper.edu) School of Engineering (*** New Building ***) 41 Cooper Square (3rd Avenue @ 7th Street, between 6th & 7th Streets) East Village, Manhattan New York City, 10003 Meeting Room: ** (See Above, Room May Change Month-to-Month) Located on the East side of Cooper Square. Look for the new building with the non-traditional appearance. Entrance is at the corner of 3rd Avenue and 7th Street. Building lobby sign-in is required at the guard's desk. Enter the building, check in with the guard at the lobby for directions to the Unigroup Meeting Room. Nearest mass transit stations are: '6' to Astor Place (stops right at The Cooper Union), then walk 1 block East and 1 block South. 'R' to 8th Street, then walk about 2 blocks East then 1 block South. '4/5/6/R/N/Q' to Union Square, then walk South and East. 'B/D/F/V' to Broadway-Lafayette, then walk North and East. Or take the new connection to the uptown '6'! Free street parking in the area becomes available at 6pm. There are also parking lots on Broadway, at (or just south of) Astor Place (8th Street).
Topic: Functional Programming Languages - Panel Discussion
Introduction & Description of Talk:
Programming Languages such as: Clojure, Erlang, F#, Haskell, Lisp, Ocaml, Scala, Scheme, etc., have been gaining traction in the Software Development Community, and some local NYC User Groups have been formed around their use.
For our May 2014 meeting, Unigroup is putting together a Panel Discussion to compare and contrast these languages (as many as we can have represented on the panel), and explain when and why they should be used.
Our initial invites for the panel are the leadership and other representatives from the local NYC Functional Languages User Groups, but other individuals who use functional languages are also welcome. Do let us know if you use one or more functional languages, and if you would like to participate on the panel!
We'd like to hear about the use of these languages across all platforms and operating systems, even though their use under Unix+Linux+BSD would be of primary interest for our group.
Further information about the respective Functional Programming Languages may be found below.
References & Web Resources:
Wikipedia on Functional Languages: http://en.wikipedia.org/wiki/Functional_programming http://en.wikipedia.org/wiki/Comparison_of_functional_programming_languages OCaml:: Main Web Site: http://ocaml.org OCaml:: Great book: https://realworldocaml.org OCaml:: Blogs: http://ocaml.org/community/planet/ OCaml:: Packages: https://opam.ocaml.org F#:: FSharp.Org: http://fsharp.org Haskell:: Main Web Site: http://haskell.org Haskell:: Beginner-level Introduction (good for people with no functional programming experience): http://learnyouahaskell.com Haskell:: Intermediate-level Book (good for people with experience in other functional langauges): http://book.realworldhaskell.org Haskell:: Libraries: http://hackage.haskell.org
Ashish Agarwal :: OCaml
OCaml is a strong statically typed functional language that also supports traditional imperative and object oriented programming. It is derived from decades of research, with Milner awarded the 1991 Turing Award for developing its predecessor ML. I came to use ML during my PhD work with Bob Harper, a programming language theorist who co-authored the definition of ML with Milner. Upon graduation I switched to OCaml as it is the industrial strength version of ML. Recently, the OCaml community has done a great job of improving the necessary tools, libraries, and documentation, and it is now used by a wide range of companies including Facebook and Citrix. I chose OCaml because it was dramatically easier to program in than my previously preferred Java and C++. Performance is also excellent, so there was no reason not to switch.
My work intersects Computer Science and the natural sciences. After completing my PhD in programming languages from Carnegie Mellon, I did a postdoc in Bioinformatics at Yale. From there I took a position at NYU, where I headed the development of the hardware and software infrastructure for the Genomics Sequencing Core. We implemented a system to manage terabytes of data, run analysis pipelines on an HPC cluster, and present data visualizations for our users through an authenticated website. All code was implemented in OCaml. The system was put into production in just 2 months and updated frequently with the help of strong types. It has been in production use for over 2 years and has never had a significant bug. I am currently working independently to develop new tools for Bioinformatics.
Richard Minerich, Microsoft MVP (F#) :: F#
Richard Minerich is the Director of Research and Development at Bayard Rock. We work towards better solutions to problems in the anti-money laundering space. I've been speaking, writing and running events around F# for six or so years now. I run the monthly NYC F# User Group meeting, the yearly NYC F# Tutorials conference, and help out with the NYC Haskell User Group.
Years ago, when I chose to invest time in F#, I didn't know all that much about functional programming. I began learning it because it appeared to have features similar to Clojure and I had seen a presentation by Rich Hickey on modeling highly concurrent programs with immutability which completely blew my mind. After some use I fell in love with all of the benefits that came with the types, which has completely changed how I view program maintenance. Most recently Type Providers were introduced which allow automatic type and code generation over external data, including other languages. Currently no other language has anything comparable.
Ryan Trinkle :: Haskell
I'm interested in using cutting-edge software techniques to solve real-world problems. I got into Haskell shortly after finishing my B.S. in Computer Systems Engineering, spend a good amount of time learning more about it while getting my J.D., and then worked in a variety of software start-ups. Currently, I'm CTO at skedge.me, a Haskell-based scheduling platform that serves clients such as Bed Bath & Beyond and cosmetics retailer Sephora. Switching skedge.me to Haskell was a "bet-the-company" proposition that ended up paying off - our new tech stack is orders of magnitude more scalable, easier to maintain, and better able to serve customer needs.
Haskell brings a lot to the table, but its biggest advantage from my perspective is its expressiveness. In addition to the huge expressiveness advantages it shares with other functional langauges, Haskell's pervasive use of monads greatly expands the opportunity for abstraction, especially when dealing with IO. For example, at skedge.me, most of our backend code is run in the context of a database transaction - which means it can be rolled back or restarted. Our application also performs a lot of important side effects - for example, sending notification emails. Monads allow us to create a context in which transaction-safe IO, such as database queries, can be performed, but other side effects are not allowed. As a result, we've never had a bug relating to actions being erroneously performed during a transaction.
The NYC Functional Programming Language User Community...
The NYC F# User Group: http://www.meetup.com/nyc-fsharp
The goal of the NYC F# User Group is to build a knowledge-sharing community for F# users in the New York area. We get great speakers from all over the world who cover things ranging from basic beginning with F# hands-on events to very advanced in-depth explorations of frameworks and new language features. You can see our upcoming events and where they are located here: http://www.meetup.com/nyc-fsharp
Also, our speaker is currently putting together the 3rd Yearly NYC F# Tutorials for October 2nd-3rd. It's a two-track conference, one for beginners to get comfortable writing F#, and one for the advanced to expand their knowledge. You can find out more about the F# Tutorials here: https://skillsmatter.com/conferences/1886-progressive-f-tutorials-nyc-2014
The New York Haskell Meetup: http://www.meetup.com/NY-Haskell
The New York Haskell Meetup is monthly meetup - usually the last Wednesday of each month - that features presentations on a wide range of Haskell-related topics, ranging from beginner-level tutorials to advanced theory. Our speakers include enthusiasts, industry professionals, and academics. We have also held a number of affiliated events, such as the Haskell Workshop, a collaborative, self-directed space for people to work on their own Haskell projects, and periodic holiday parties in conjunction with other meetup groups.
The NYC OCaml Meetup: http://www.meetup.com/NYC-OCaml
Everyone is free to schedule an event for the NYC OCaml Meetup. Our events have been either talks, tutorials, or coffee. Talks cover a range of beginner to advanced material and are usually hosted at Jane Street, a high frequency trading firm that implements all of its code in OCaml. For tutorials, you bring a laptop, and follow along a short project, like implementing an IRC client. Finally, we often meet over coffee to write code and exchange ideas.
Addison-Wesley Professional/Prentice Hall PTR/Pearson, and O'Reilly have been kind enough to provide us with review copies of some of their books, which we will continue to raffle off as giveaways at our meetings. The publishers always ask that the persons receiving the books provide a review and/or feedback about their books.
Unigroup would like to thank both companies for the support provided by their User Group programs.
As always, all of the books will be available for review at the start of the meeting.
Also, SuSE has also provided us with SuSE Linux SLES and SLED Install Media. We gave out SuSE Linux Media at our prior meetings and have more DVDs for upcoming meetings.
Unigroup is a Professional Technical Organization and User Group, and its members pay a yearly membership fee. For Unigroup members, there is usually no additional charges (ie. no meeting fees) during their membership year. Non-members who wish to attend Unigroup meetings are usually required to pay a "Single Meeting Fee".
Yearly Membership (includes all meetings): $ 50.00 Student Yearly Membership (with current! ID): $ 25.00 Non-Member Single Meeting: $ 20.00 Non-Member Student Single Meeting (with! ID): $ 5.00 * Payment Methods: Cash, Check, American Express. MasterCard, VISA, Discover (new for 2013). ! Students: We are looking for proof that you are currently enrolled in classes (rather than working full-time), and as such, your Student ID should show a CURRENT date. We have been presented Student IDs containing NO dates whatsoever, and in the current environment, perpetual/non-expiring access to university facilities just does not feel right. If your ID contains no date, please bring additional proof of current enrollment. Thanks.
NOTE: Simply receiving Unigroup Email Announcements does NOT indicate membership in Unigroup.
Members: Remember to bring your membership card with you to the meeting, to confirm your yearly renewal date!
FOOD AND REFRESHMENTS
Complimentary Food and Refreshments will be served. This includes "wraps" such as turkey, roast beef, chicken, tuna and grilled vegetables as well as assorted salads (potato, tossed, pasta, etc), cookies, brownies, bottled water and assorted beverages.
Our thanks go to Cloudera for sponsoring the food service for this meeting!
Please join us for this meeting, you won't want to miss it!