/mini-portfolio

An example mini portfolio for Arena's hiring process

Alan Johnson Mini Portfolio

  • https://stackoverflow.com/a/26690131/807674 I am particularly proud of this StackOverflow answer. I have received a lot of help from that site, and I try to share back knowledge when I can. In this case, the topic of how best to represent algebraic data types in Scala was something I had trouble with when first learning the language. As I gained experience, I also gained familiarity with the nuances of the language and began to understand the pros and cons of different viable solutions to the problem. In a way, this answer summarizes that voyage.

  • https://github.com/acjay/akka-websocket-chat/blob/master/blog/03_Our_Server_Scaffold.md This is from an instructional project I am working on to demonstrate the approach to project development in Scala that I have developed over time. It is also intended to demonstrate Akka Streams and Akka HTTP's Web Socket support. These are powerful tools I have used in past work, and I wanted to crystalize some of the lessons I learned. The linked file here is a blog post that explains the centerpiece of the Web Socket logic. Using a literate programming tool called LMT, the actual Scala source code is generated by concatenating code fragments from the blog post.

  • https://github.com/artsy/react-redux-controller/blob/master/src/index.js This is an open-source project that was developed in the process of delivering a project at a previous job. In the early days of Redux, I saw a need for minimizing boilerplate in delivering state to components deep within a React application. I also saw a need for a first-class home for the internal processes of a web application, which are triggered in response to user interactions and external events. The result was this tiny framework. The linked file contains the actual higher-order component that does the heavy lifting.