Encryption: A Functional Perspective
by Jason Ozias
A brief overview of what encryption is (and isn’t), going through some of the details of the main types (block and stream), and stepping through a few implementations in Clojure.
The meeting starts at 6:30 with food beforehand this month.
Doug Rohrer – Elixir and the Internet of Things
Writing Command Line Applications with Elixir
I’d love to check out and learn Elixir but I don’t really have a problem that is big enough or one that Elixir is well suited for.”
How many times have you heard this?
I have been writing small command line applications using Elixir to solve some of the same kind of problems that I used to use languages like Ruby or Python for in the past and I’m loving it!
Elixir and mix comes with great tools out of the box for writing these kind programs. Also Meta-programming, macros, protocols, pipes and pattern matching can be leveraged to break down problems into small readable and easy digest code.
Elixir is a very expressive language that is good at solving all manner of problems in an elegant way. That means even problems where concurrency, high availability and code reloading are not important or of less of a concern.
Yes Elixir is a powerful language but it is also fun and a great way to think about and express problems in a different way.
By the end of my talk I hope other people will feel the same way as I do about Elixir and go
forth and create programs to solve problems of any size.
James works at Gaslight and has I’ve been lucky enough to be a part the wonderful Cincinnati programming community for a number of years. He spends most of this days working on Ruby on Rails and Rich Client applications. He has more recently been learning functional programming and working with Elixir to solve both small and large problems.
Overtone & Dancing Robots
This special edition of CincyFP will showcase Overtone, a Clojure library for live coding musics.
Carin Meier will give a short demo of robots dancing into live coded Clojure Music then Tom Willis will follow up with a deep dive into Overtone:
Overtone is a really cool environment for making music with clojure. Most examples I have seen focus more on the aspects of live performance where as I wondered how one could use it as an environment for composing music. Being new to clojure, and a part time musician I decided to see how far I could get using clojure/overtone to write songs.
Reactive Showdown – Clojure vs Elixir vs. Scala
We have an exciting CincyFP planned for April. The first contender in the octagon is Elixir & OTP. Built on the Erlang VM, Elixir has deep roots in the granddaddy of all actor systems. The next contender in is Scala + Akka. Scala’s actor system was model after Erlang’s and brings many of the same features to the Java JVM. Our final contender is Clojure with core.async. Based off the Go language’s async channels core.async provides a different construct than the standard actor model. To test these three foes we will be breaking up into groups and implementing a simple Kata with each of the three technologies. Come join the fun and learn about some very exciting technologies that are changing the way we think about large scale systems.
Start off the new year with Elixir!
Doug Rohrer, Jason Voegele, and David Anderson will give a short presentation about some compelling performance gains from an application moved to Elixir.
The rest of the session we will dive in head first and do some Elixir katas.
Ryan Cromwell will be presenting
Sweet Elixir! A Gentle Introduction to Erlang’s cute younger brother Elixir
Around 60% of telecom passes through Erlang. It’s fast, concurrent, distributed, and resembles ancient runes. Ruby is beautiful and powerful, but struggles at scale and treats concurrency as a second class citizen. Elixir – a young, functional, meta programming language – aims to resolve this mighty conflict by providing a rosy syntax inspired by Ruby that compiles to Erlang VM compatible bytecode.
We’ll take a tour of Elixir basics and functional programming concepts like pattern matching, pipelines and tail-call recursion. From there we’ll explore the distributed and concurrent nature of Elixir, the fault tolerant nature of OTP, and leverage existing Erlang modules.
You scoff at the lack of angle brackets or curly braces?! “Where are my webs” you ask?! We’ll take a quick look at the Rails inspired web framework Dynamo and ActiveRecord-esque Atlas created by Chris McCord.