Aaron W will be presenting the following sessions
Naresh Jain / Aaron W Hsu - Q & A Session With Functional Conf Speakers
Aaron W Hsu - APL Training WheelsAaron W HsuComputer ScientistIndiana University
schedule 1 year agoSold Out!
APL is getting a lot of attention lately due to its potential for very high performance portability and suitability for both rapid prototyping of complex solutions as well as deployment of complex algorithms to high-speed, modern parallel hardware. It has the potential to vastly improve the speed, scalability, and size of your code bases. But APL has a reputation as an intimidating language to learn.
In this back to the basics tutorial, we will explore the core of APL, and focus on those areas that usually trip up the beginner in learning APL. We will also walk you through how to approach an APL expression, how to reason about them, and how to read them efficiently. We will teach you the skills that the expert APLer has internalized, and how you can work through these skills externally and explicitly in a way that will help you to eventually internalize these critical skills in a way that makes you efficient at using APL on real world problems.
Aaron W Hsu / Morten Kromberg - APL Workshop IntensiveAaron W HsuComputer ScientistIndiana UniversityMorten KrombergCXODyalog
schedule 1 year agoSold Out!
This is an intensive workshop for those who are interested in learning how to think, read, and write APL. It will help give you the tools, mental framework, and structure for doing things "the APL way." In this workshop, you will have the chance to spend intensive time thinking like an APL programmer. What makes it different? How does the code look at the end? What thought process do you go through to get there? Get a chance to play around with a wide array of problems and solving them "the APL way."
Taijiquan Classics say, "Four ounces deflects a thousand pounds."
APLers might say instead, "Fifty characters solve a thousand problems."
Aaron W Hsu - Programming Obesity: A Code Health EpidemicAaron W HsuComputer ScientistIndiana University
schedule 1 year agoSold Out!
Programs are getting fat. They're becoming slow. They're taking up more computing resources. They're getting harder to maintain and more complex from the ground up. Layer upon layer of sophistication is causing us to lose our ability to predict what software will do. Where's that bug? Why is everything going so slowly? Am I even using the right data structures? Where's that important point in the documentation again?
What's happened to us? In this meta-dive into the nature of our approach to programming, we will explore some of the dangers of our current approaches to programming and the how/why of our current programming obesity problem. We will look at real case studies and see just how bad the situation can be.
But we will also explore how we can battle these sources of obesity. In this passionate plea for code that we can gain control over again, we will look at examples of how we can return to a state of high-performance on all levels, from code size to code scalability. We will look at the principles that can help us to reach leaner, more efficient, more usable, less buggy code. We will hopefully find some light at the end of the tunnel, and how we can change our outlook on programming to push ourselves towards code that benefits not only ourselves, but also those that will come after us.
1. What got you into Functional Programming (FP)?
I was having a hard time working out a Radix Sort with Recursion using QBASIC back in the day. A mentor suggested I consider Lisp, and I started learning Scheme, which totally changed my life and introduced me to the wonders of functional programming.
2. What has been your best moment or highlight working with FP?
Doing something I really consider state of the art and ground-breaking on multiple levels as my Thesis, and then successfully defending that Thesis. Being "validated" that applying design and human principles to a hard problem really can make things open up in ways that seem impossible before a new perspective is introduced.
3. What are some of the greatest challenges of working with FP?
FP has a huge navel gazing problem. So much of the good work on FP is spent on internally grinding on problems that are introduced because of a blind adherence to some other "first principle" without thinking of the bigger picture. Changing your perspective can mean that those "big problems" and interesting challenges just disappear as moot points.
4. All the mainstream programming languages are adding functional programming features. Most new languages and frameworks are strongly influenced by FP. What is your advice to object-oriented programmers?
FP and OOP isn't as far apart in some ways as people would like to think, and best practices around these languages really do come down to controlling and managing complexity over the long haul. We need to understand the human aspect of computational struggle, and think big picture at a micro-level, not just build abstractive towers of "micro abstraction."
5. What will be some of the key takeaways from your sessions at the conference?
I'm hoping to really open up the can of worms that is the core APL paradigm and demonstrate just how simple and rich APL's fundamental structures are.
In a broader context, I'm hoping to really highlight some of the lessons I've learned over the years working on my Thesis and generalize them to a wider audience, showing some harsh, but important and hopeful lessons that apply across the entire computing space, not just APL-land.
6. The conference has more than 50 sessions. Which ones are you most looking forward to attending and why?
I'm definitely interested in the Keynotes, and I'm also interested in getting a feel for what the rest of the community feels is the "state of the art" regarding web frameworks.