Midwest.io

Sessions

Monday, November 9th

  1. 10:00am
    A Gentle Guide to Genetic Algorithms

    This talk will be a practical introduction to the algorithms at the intersection of biology and machine learning, genetic algorithms. A small segment of the talk will cover the history of genetic algorithms and the circumstances of their birth. The rest of the talk will cover an implementation of a GA used to create seating assignments in one row of seating at a conference room and the pros and cons of these algorithms based on the results of this use case. This talk is aimed data scientists, computer science researchers, and machine learning practitioners looking to learn something new about a topic they may have heard about and to those interested in learning about an interesting algorithm in the field of machine learning. The talk will be a fantastic way to get people thinking and stimulated about an interesting concept in the field using a use case that's close to the conference setting.

    Safia Abdalla
    Data Scientist

    Safia is the co-organizer of PyLadies Chicago, the Lead of Mentorship Initiatives at ChickTech Chicago, and the founder at Data Science for America. She's excited about making things fast, using data for social good, reading interesting research papers, and coffee. In her spare time, she enjoys conversations with interesting people, running alongside Lake Michigan, and chocolate.

  2. 10:00am
    Modern iOS Applications with Swift

    Swift, Apple's successor to Objective-C, opens new avenues for iOS applications. In this talk, The talk will present pains in Objective-C and patterns in swift to resolve them as well as incremental steps you can take to move your team towards a more functional style. The talk will also cover ways to structure your project for maximal modularity and compilation speed. Finally, the talk will discuss testing, deployment, and continuous integration changes that Swift requires.

    You should attend this talk if you're interested in adopting Swift for your iOS application. Don't make the same mistakes I did.

    Heath Borders
    Staff Engineer

    Heath has been developing professionally for iOS since iOS 2.0 (2008), and amateurishly for Android since Android 1.5 Cupcake (2009). He was a consultant for 6 years working on mobile apps for Deloitte, Kaiser Permanente, and Bridgewater Associates, and now is a Staff Engineer leading a team of 6 Swift developers at Jive Software.

  3. 11:00am
    A Brief History of (Logical) Time

    Nearly 40 years ago, Leslie Lamport wrote the seminal work "Time, Clocks and the Ordering of Events in a Distributed System". Ever since then academia and industry have been struggling with the implications of this sentence: "In a distributed system, it is sometimes impossible to say that one of two events occurred first."

    (Of course, Albert Einstein didn't need Lamport to point that out.)

    If the fundamental laws of physics stand in our way, what can we do to track causality?

    Among other topics we'll discuss Lamport timestamps, CRDTs, NTP, and databases. Expect the dreaded concept of "eventual consistency" to rear its head. Often.

    Attendees are expected to have an inquisitive mind, but no other prerequisites are required. You should not expect to come away with any packaged solutions to your problems, but you'll have a greater awareness of the pitfalls you'll face as distributed systems become the norm in this era of mobile computing, cloud computing, and big data.

    John Daily
    Software Developer

    John Daily has wandered a meandering path through systems and network administration, cyber security, global iOS mobile device management, technical evangelism, and software development. He currently helps develop the Riak NoSQL database for Basho.

    He has a passion for pragmatic programming languages such as C, Perl, and Erlang. Beauty is definitely in the eye of the beholder.

  4. 11:00am
    Where, Ware, and Wear: Connect IQ and the Wearable World

    This talk will overview the history of Connect IQ and outline some of the challenges and gambles of making an app system for low resource, use case focused wearable products. It will cover topics of programming languages, virtual machine design, and how monkeys make everything better.

    Nicolas Kral
    Product Achitect

    As a product architect at Garmin International, Nicolas designed the Connect IQ app system for Garmin wearables and created the Monkey C programming language. He now serves as the Connect IQ Alpha Monkey, and has been a member of the Evil League of Evil since 2008.

  5. 12:00pm
    The Next Generation of Software Engineers

    A child that wants to become a software engineer today faces a myriad of challenges that were not present 30 years ago. These challenges are discouraging the next generation from pursuing careers in technology. This talk will walk you through the journey of a what it takes to become a software engineer.

    We will be breaking down the societal, educational and pop culture influences that steer a child closer or further from a career in technology. We'll examine snapshots of critical moments in the lives of a boy and a girl, starting at age 5 until age 35. We'll spend some time explaining what these trends mean for the technology industry and world culture both today and in the future. If you are not comfortable with our current trajectory, I'll discuss effective ways to change it.

    Software is a rewarding and booming field. Come find out what is stopping your child from being a part of it.

    Jordan Kalal
    Software Engineer

    Jordan Kalal has developed after-school engineering programs for elementary, middle and high school level students. Her current project is piloting the second semester of curriculum for Tech sHeroes, an after-school program targeted at teaching girls programming skills at Trial Ridge Middle School. She has been working at Cerner for 2 years as a Software Engineer.

  6. 12:00pm
    Toolmaking with Syntax Trees

    We have complex, challenging problems when we implement our UI. If that wasn't hard enough, there's a myriad of good and bad ways to write our JavaScript-and it keeps evolving! ES6 is here, ES7 is showing up, and guess what, those are now called ES2015, ES2016, and there will be a 17, 18, 19...

    Fortunately, there is also a revolution in JavaScript tooling. New tools are here to help us understand and improve our code. Let's look at one of these tools, ESLint, and peek under the hood! But first, let's rediscover how languages are parsed, analyzed, and represented as abstract syntax trees.

    During this session, we'll learn to reason about ASTs to detect good and bad patterns in computer language. To drive this home, we'll build our own tools including custom rules for ESLint.

    Will Klein
    Software Engineer

    Will is an engineer from Denver, Colorado. He's built websites for banks & credit unions, web apps for insurance, and now develops front-end at Rally Software. Having seen multiple JavaScript projects "at scale," he hopes that tooling will save us from the chaos.

  7. 1:00pm
    Functional Operations

    Technical operations is plagued with an unhealthy infatuation of typically untested, imperative code with a high reliance on shared mutable state using dynamically typed languages such as Ruby, Python, Bash, and - ugh - remember Perl? :)

    In an age where building reliable infrastructure to elastically scale applications and services are paramount to business success, we need to start rethinking the infrastructure engineer’s toolkit and guiding principles.

    This talk will take a look at applying various declarative and functional techniques to building and automating infrastructure. From functional package management and congruent configuration to declarative cloud provisioning we’ll see just how practical these techniques typically used in functional programming for applications can be used to help build more robust and predictable infrastructures.

    While specific code examples will be offered, the emphasis of this talk will be on guiding principles.

    Susan Potter
    Software Engineer

    Susan is a distributed systems software engineer straddling engineering and operations to help make data and service infrastructure more operationally manageable at scale.

    Over the last 16 years Susan has worked on large scale trading systems, multi-tenant service oriented architectures, continuous deployment as well as ""big data"" analytics products. She currently works at Lookout building a service delivery pipeline that delivers verifiable infrastructure using declarative and functional programming approaches.

  8. 1:00pm
    How to Write a Worthwhile Test

    Open a test at random. Answer:

    • Why does it exist?
    • What is under test?
    • How does it explain edge cases?
    • What real things does it replace with fake things?
    • What can cause the test to fail?

    Unless the answers to those questions are obvious, no one has any clue whether the test is worthwhile. But the murkiness of most test code drives teams to ritualize its upkeep. When tests glow red, generous sacrifices are offered until they turn green again. Over time, faith in the Agile Church of Testing has eroded. Dogma that "thou shalt test" now rings hollow.

    Epic tomes have been written on the theory of sound testing, but their detached wisdom rarely survives contact with actual projects. Our understanding becomes muddied as we mangle our tests under the pressure to get things working and features out the door.

    This talk will clear the waters by presenting a guideline for testing: a set of sensible defaults to be adopted and tweaked for your own projects. Each rule will be easy-to-follow, promote consistency, and backed by deeper reasoning available to anyone who seeks it. By planting a shared guidepost, everyone on a team or in a community—from novices to experts—will be better-equipped to write tests that can be plainly understood by others.

    Justin Searls
    Co-Founder

    Justin spends most of his time troubleshooting npm, tweeting about flight delays, and foolishly exhorting other people to write tests the same way he does. He helped co-found Test Double, a software agency dedicated to making software that's better for users to use, businesses to own, and developers to work with.

  9. 2:00pm
    Achievement Unlocked: A Better Path to Language Learning

    We are all familiar with the standard tedious method of learning new programming languages: "hello world", then some builtin functions, then basic data types, etc, ad naseum. But what if we could turn the process of learning a new language into an addictive game.

    In this talk I will introduce you to the make-a-lisp process (the game) and show how its structure enables Charles Coonradt's 5 principles of gamification: defined goals, scorekeeping, frequent feedback, personal choice of methods, and consistent coaching. I hope to convince you that gamification of the learning process, and specifically the make-a-lisp process, is one of the most effective and efficient ways to learn new programming languages. Or at least I hope I will have convinced you to try out the "game".

    Joel Martin
    Principal Software Engineer

    Joel Martin is a Principal Software Engineer at ViaSat (formerly LonoCloud) and a PhD student at the University of Texas at Arlington. He enjoys taking new and old ideas and combining them in interesting ways. Some of his other projects include noVNC (HTML5 VNC client used in OpenStack), ClojureScript-in-ClojureScript (port of ClojureScript to ClojureScript, clojurescript.net), and Raft.js (JS implementation of the Raft distributed consensus protocol).

  10. 2:00pm
    Data Streams on ElasticSearch

    Databases were traditionally designed to operate on CRUD apps. With the explosion of data in early 2000s, the whole NoSQL movement was born to allow web-scale CRUD operations.

    However with the emergence of the #realtimeweb, database designs find themselves broken yet again. IoT is fundamentally transforming the data processing needs from hours and minutes to mini and μ-second scales.

    Appbase.io is building the first streaming DB, for the most performance intensive data processing needs. The role of data and queries is fundamentally reversed here - Queries are always indexed and data is treated as a fast changing incoming stream to be matched against queries.

    In this talk, I would like to introduce the concept of streaming DBs, and go over an open-source implementation where we have integrated this interface into ElasticSearch. We are able to scale this to over 100,000 documents per second over just 12 c4.2xlarge EC2 instances. I would also like to cover the use-cases we are seeing in IoT, e-commerce, travel, consumer apps space; and how "streaming" will influence database designs over the coming years.

    Siddharth Kothari
    Co-Founder and CTO

    Siddharth is the Co-founder and CTO of appbase.io (Techstars '15) - where he works on "data streams". He has worked in the past at Google and Carnegie Mellon and has frequently speaks and blogs about streaming databases.

  11. 3:00pm
    The Fun of Connection: Abstraction for Adaptive Data Systems

    In the new Cooper-Hewitt museum in NYC there was a display about the Free Universal Construction Kit, an abstraction around most popular building toys like Lego, Tinkertoy, K'nex, and Lincoln Logs, made possible by 3D printing.

    This incredible toy can help inspire even the most advanced developers for how we think about abstractions in our applications, building technology agnostic services. We'll talk about POSIX stdin/stdout, Google's protobufs, JSON, and other data serialization formats and protocols.

    This talk will be somewhat high level. While we'll write some code, it's about getting to the core of computer science: thinking abstractly as opposed to digging into a single specific technology.

    This talk should appeal to developers of any ability. Many of us grew up in systems of construction toys, building cities merging our Lego and our Fishertechnik. As adults we live in a similar world, often building systems in walled gardens and needing new ways to break down the barriers and rethink our perspectives on programming.

    Chet Mancini
    Data Engineer

    Chet Mancini is a data engineer at Intent Media, Inc in NYC, where he works on the data science team to store and process terabytes of web travel data to build predictive models of shopper behavior. He enjoys functional programming, immutable data structures, downhill skiing, and cycling around Brooklyn. Chet has a master’s degree in computer science from Cornell University. You can find him on Twitter and Github under @chetmancini.

  12. 3:00pm
    Measuring the Performance of Single Page Web Applications

    The "onload" event no longer matters. Single Page Applications are a problem when trying to measure page load performance because there aren’t easy ways to tell when a new "page load" has been requested as a result of an intentional user action, or when all of the resource fetches triggered by that action have completed.

    Even with requests that are initiated by a user action, not all may fit into the definition of a “page view”. For example, a user typing into a search box that has auto-complete capabilities will often result in network requests, but these requests result in very small amounts of data transfer, happen very frequently, and do not count towards page-views.

    The scene is further complicated by the variety of SPA frameworks like AngularJS, Backbone.js, Ember.js and others.

    In this talk, we’ll learn about some of the tricks used by boomerang to measure the performance of single page applications, going as far as capturing errors and waterfall information across browsers.

    Nic Jansma
    Software Developer

    Nic works at SOASTA, develops high-performance websites, apps and open-source tools, and is a Microsoft MVP for IE.

  13. 4:00pm
    You May Not be a Polyglot, but Your Software Needs to Be

    As business needs continue to go global, so have the needs of software applications. You may not speak multiple languages, but your software should. A properly globalized solution is generally achieved by ensuring the appropriate internationalization, localization and translation steps have taken place, however as developers we have misconceptions that make this process more costly and less effective than it needs to be.

    Having worked in Engineering, Translation and Localization for over a decade, I have seen first-hand how projects struggle through the Globalization process. I will discuss common misconceptions and I will provide tips to help engineers be better positioned to be successful in these projects.

    Denisse Osorio de Large
    Chapter Leader

    Denisse is currently an Engineering Executive at Cerner Corporation. Early in her career Denisse worked as a software engineer focusing on web applications. She has extensive experience with globalization and translation of software systems. Denisse has two daughters and hopes they will one day become programmers.

  14. 4:00pm
    GET TO THE CHOPVAR: Writing an ArnoldC-to-JavaScript compiler in JavaScript

    Have you heard of CoffeeScript? Dart? TypeScript? Have you ever wanted to invent your own programming language and run it in the browser? Well, you can! Write your own compiler! Or a transpiler, or whatever the cool kids are calling them these days. No formal knowledge of compilers is required.

    In this talk, I'll show you how to use tools like Jison to build a compiler that targets JavaScript as a runtime. You can even generate Source Maps, so you can debug against your original code in the browser.

    We'll then put it to use by writing a compiler for the greatest programming language of all time: ArnoldC.

    Matt Steele
    Front-end Developer

    Matt Steele is a front-end developer living in Omaha. He works on all things JavaScript at Union Pacific Railroad. He doesn't use Rails much. Matt helps run the Omaha Java User Group, NebraskaJS, and NEJS Conf. Matt can be found online at steele.blue.

Tuesday, November 10th

  1. 10:00am
    Next-level Web Design with SVG

    It can be a struggle to translate the details of a design vision into the browser. Creating bitmap images, icons, and graphics can be time consuming and result in inconsistency and difficulty with managing updates. Scalable vector graphics (SVGs) might be just what you're looking for.

    SVGs are now supported on every modern browser and mobile device, and usage is on the upswing, but most people only use them for icons. Most developers and designers don’t realize how powerful and useful SVGs are. From scalable images to full-blown web applications, SVGs fit many needs.

    In this session:

    • I will discuss the importance of understanding the capabilities of SVGs and how developers and designers can improve the quality of designs created in the browser.
    • Through an understanding of SVG capabilities you will know how each layer of Illustrator is rendered through SVGs in the browser.
    • You won’t learn about SVG font icons; you WILL learn about how to efficiently export SVGs so your team won’t curse your name. With SVGs you can render each design layer directly in the browser.
    • Apply filters, lighting effects, gaussian blur, and animations, all directly through the use of this file format. Get exactly what you want in the browser.
    • Plus a few of my favorite tips/tricks about SVG elements and attributes.
    Robyn Larsen
    Front-end Web Developer

    Former nuclear engineer now blurring the lines between work and play as a front end web developer, mentor and entrepreneur. Over the past few years she has snowboarded some of the world’s most majestic mountains, travelled to over 23 countries, cultivated movements and mentored students. Her tools of choice are HTML5, CSS3, Sass, responsive design, and JavaScript. She lives by challenging assumptions, improving process, and never settles. Now you can now find her working at Normative, a Toronto based design firm that specializes in designing for the networked world.

  2. 10:00am
    Reliable Concurrency Without the Actor Model

    The challenges of concurrent programming are well known. Commonly the actor model and Erlang are proposed as the solution. Unaddressed, however, is what to do when your problem doesn't fit the actor model. What happens if you are working on streaming data, or if you need to share memory? In this talk we will explore how to achieve safe concurrency without queues, messages, or multiple processes; using software transactional memory.

    Andrew Rademacher
    Co-Founder

    Andrew is a co-founder of Edge Up Sports, a company applying human behavior modeling to fantasy football. At Edge Up Sports, he has deployed large architectures entirely in functional languages like Haskell. Additionally, he speaks regularly on functional programming and the Haskell programming language.

  3. 11:00am
    Chaos Engineering

    Development practices for distributed systems promise the benefits of both flexibility and velocity, but confidence enables those benefits. As these systems evolve, they exceed the ability of any single human to mentally model. The future of software is complex, increasingly opaque even to the engineers building it. We can no longer rely on an architect to reason about these systems. If we can’t reason about them, how can we have confidence in them?

    An empirical, systems-based approach is needed to build confidence. We learn about the behavior of a distributed system by observing and experimenting on the system as it runs in production. We call this Chaos Engineering.

    Chaos Engineering is a powerful practice that is already changing how software is designed and engineered at some of the largest-scale operations in the world. Where other practices address velocity and flexibility, Chaos specifically tackles systemic uncertainty in these distributed systems. The Principles of Chaos provide confidence to innovate quickly at massive scales and give customers the high quality experiences they deserve.

    Engineers and architects will walk away from this talk with an appreciation for complexity in distributed systems, and excited about this new approach to building confidence on top of that complexity.

    Casey Rosenthal
    Engineering Manager

    Casey is the Traffic and Chaos Engineering Manager at Netflix, with a mission to fortify availability in anticipation of failures. We respond to devastating outages in stride while preserving the quality of service for our customers. As an Executive Manager, Senior Architect, and Software Engineer, Casey has managed teams to tackle Big Data, architect solutions to difficult problems, and train others to do the same. He leverages experience with distributed systems, artificial intelligence, translating novel algorithms and academia into working models, and selling a 'vision of the possible' to clients and colleagues alike. For fun, he models human behavior using personality profiles in Ruby, Erlang, Prolog, and Scala.

  4. 11:00am
    System Images Are Nothing Like Heirloom Sourdough Starters

    Virtual machine images shouldn't be handed down from generation to generation like a much beloved sourdough starter. Learn why to build deployment ready VM images with every check-in and learn how to do it across most virtualization platforms using Jenkins, Packer, and more. After this talk you'll have tools to build images that run seamlessly on your laptop and in production.

    Tim Freund
    Software Developer

    Tim is a software developer that got roped into system administration and automation because he knew just enough unix to be dangerous. He likes building tools for other engineers and the thrill of debugging someone else's mess.

  5. 12:00pm
    Securing Your Company's Data: Encryption, Deleting and Other Best Practices

    If your company is storing customer information, then it's a safe bet that some hacker will (eventually) try to steal it. Without being security experts ourselves, how can we secure our organizations - and our customer data? Using Sony, OPM and other well known hacks as examples, we'll examine how we can improve security at our own organizations.

    This talk is designed for developers and entrepreneurs who wish to learn about basic best practices for data security. We'll focus on security tools that are relatively affordable and easy to implement. Shevinsky will also discuss the political and social reasons why organizations often fail at security.

    Elissa Shevinsky
    CEO

    Elissa Shevinsky is a serial entrepreneur and CEO of Jekudo Privacy Company. Elissa has been building successful startups since she joined Geekcorps as an R&D intern in 2000. She learned how to build software at Everyday Health (filed for IPO in 2010) in 2003. In 2008 she started her first company.

    Editor of “Lean Out” published by OR Books, Shevinsky is frequently quoted in the press on Silicon Valley and tech culture.

  6. 12:00pm
    Performance Testing for Modern Apps

    The performance of your application affects your business more than you might think. Top engineering organizations think of performance not as a nice-to-have, but as a crucial feature of their product. Unfortunately, most engineering teams do not regularly test the performance and scalability of their infrastructure. Dustin Whittle shares the latest techniques and tools for performance testing modern web and mobile applications. Join this session and learn how to capacity plan and evaluate performance and the scalability of the server-side through Siege, Bees with Machine Guns, and Locust.io. We will dive into modern performance testing on the client-side and how to leverage navigation/resource timing apis and tools like Google PageSpeed and SiteSpeed.io to understand the real world performance of your users. We will cover how HTTP2 and modern browsers change the game for performance optimization with new best practices. Take back an understanding of how to automate performance and load testing and evaluate the impact it has on performance and your business.

    Dustin Whittle
    Developer Evangelist

    Dustin Whittle is a Developer Evangelist at AppDynamics where he focuses on helping organizations manage application performance. Before joining AppDynamics, Dustin was CTO at Kwarter, a consultant at SensioLabs, and developer evangelist at Yahoo!. He has experience building and leading engineering teams and working with developers and partners to drive platform adoption. When Dustin isn’t working he enjoys flying, sailing, diving, golfing, and traveling around the world. Find out more at dustinwhittle.com or follow him @dustinwhittle.

  7. 1:00pm
    All You Need Is Fold

    (Fold, fold, fold)

    (Fold, fold, fold)

    (Fold, fold, fold)

    "There's nothing you can do that can't be done

    Nothing you can sing that can't be sung

    Nothing you can say but you can learn how to play the game

    It's easy

    There's nothing you can make that can't be made

    No one you can save that can't be saved

    Nothing you can do but you can learn to be you in time

    It's easy"

    All you need is fold

    All you need is fold

    All you need is fold, fold

    Fold is all you need

    Using the work of Dr. Graham Hutton as our guide, we'll look at how to satisfy all of your list processing needs with one function, fold.

    First we'll start off simple by finding the length of a list, then we'll reverse a list, followed by and-ing and or-ing a list; all using fold.

    Next we'll look at implementing the higher order functions of: map, filter, and zip.

    Last we'll look at fold in action by using it on the Coin Changer kata.

    You'll never look at fold the same way again.

    Mike Harris
    Software Developer

    Mike Harris is a software craftsman and life long learner, who is constantly searching for the best tools for the job. Mike enjoys learning new program languages, tools, and techniques which he uses in his day-to-day work as a Software Developer at Robert W. Baird & Co. Mike blogs at http://comp-phil.blogspot.com/

  8. 1:00pm
    Sparkling Pandas

    Abstract coming soon

    Juliet Hougland
    Data Scientist

    Juliet is a Data Scientist at Cloudera, and contributor/committer/maintainer for the Sparkling Pandas project. Her commercial applications of data science include developing predictive maintenance models for oil & gas pipelines at Deep Signal, and designing/building a platform for real-time model application, data storage, and model building at WibiData. Juliet was the technical editor for Learning Spark by Karau et al. and Advanced Analytics with Spark by Ryza et al. She holds an MS in Applied Mathematics from University of Colorado, Boulder and graduated Phi Beta Kappa from Reed College with a BA in Math-Physics.

  9. 2:00pm
    Keep Calm, it's Reverse Engineering Time

    As developers, sometimes we have to investigate a bug, or add a new feature in a codebase that is completely new to us. Sometimes it can be even developed in technology that we are unfamiliar with, often with no one available to ask anything about that code. How can we do this?

    In this talk I would like to share some ideas, tips and tools related to reverse engineering of various code components (server side, frontend, etc) – that can help developers to successfully overcome this challenge.

    Alissa Bonas
    Software Engineer

    Alissa Bonas is a software engineer and a team lead at Red Hat. She is a maintainer and contributor to several open source projects, has a great interest in usability topics and participates in Rails Girls initiative as a coach.

  10. 2:00pm
    Writing Custom In-browser Tools for Smarter WebApp Development

    Modern browsers include their own flavor of development tools (Chrome DevTools, Firebug, IE's Developer Tools, etc.) that are excellent for speeding up webapp development and debugging common issues. But what if you had custom, in-browser tools that were tailored for developing and debugging your application?

    Every webapp has concerns of its own that generic tools don't address. Perhaps you've dug through custom HTML attributes for entity IDs to diagnose a database issue. Or maybe you've searched the codebase for CSS class names in hope of finding some clue as to what code generated a piece of HTML.

    In this session, learn how you can combine browser extensions and on-page scripts to create rich, custom tools to improve your development and support workflows. We'll get into specifics with an approach that involves writing a custom Chrome extension and using an iframe-based fallback for cross-browser support. This session assumes at least intermediate JavaScript knowledge.

    Lyle Shearer
    Software Engineer

    A Nebraska native and UNL graduate, Lyle is a software engineer with a deep passion for JavaScript and the ever-evolving development platform that is the web. Working since 2009 at Hudl, a Lincoln-based sports video software company, he has grown into a Front-end Tech Lead position where he can focus on making website development easier, more robust, and performant.

    Outside of the office, Lyle is a recreational snowboarder and an avid traveler with a hunger for experiencing new cultures.

  11. 3:00pm
    Telling Stories with Data Visualization

    Data visualization lives in the intersection of art and science. Designing compelling visuals reveals information about our systems, and in turn allows us to ask new and more interesting questions. However knowing how to find the stories in our data is hard and knowing how to tell those story visually is even harder.

    In this talk we'll explore some historical data visualization techniques and best practices and show how we can use modern tools to implement them.

    Specifically we'll use Javascript and D3 to build interactive charts and complex visuals.

    Attendees will leave with a better understanding of data visualization and some practical examples of how to utilize this knowledge.

    Chris Keathley
    Software Developer

    Chris is a software developer at Carbon Five where he spends his time hacking on Ruby and Javascript. Although he started out writing C he found his true love was building applications on the web. These days he spends most of his time in Javascript, trying to push the web to it’s limits. When not writing code for work, Chris can be found writing code for fun, talking about the joys of functional programming, roasting coffee, or building legos with his kids.

  12. 3:00pm
    What's in a Name? Fast Fuzzy String Matching

    Searching for similar strings is harder than it sounds. Variations in formatting and misspellings make exact matches impossible and there are many different similarity functions to choose from. This talk is about the development of a fast custom index for fuzzy name matching.

    This is a technical talk that will interest anyone who wants to see an example of bit level optimization being used in practice. Name matching has applications in record linkage, de-duplication, and fraud detection. While it doesn’t shy away from technical details, you don’t need to know much about bitwise algorithms in advance.

    Seth Verrinder & Kyle Putnam
    Seth Verrinder & Kyle Putnam
    Software Developers

    Kyle and Seth are both software developers who work together at DST in Kansas City.

    Kyle’s experience includes healthcare, marketing, and financial services. His interests include machine learning, functional programming, and mathematics. In his spare time, he does whatever he wants.

    Seth has worked on software for point-of-sale, color management, athletic training, and financial services. His interests include functional programming and finding ways to make software more efficient.

  13. 4:00pm
    Talmudic Maxims to Maximize Your Growth as a Developer

    You’ve been programming for a while now. You’re beginning to feel that you’ve got a handle on things but at the same time can’t escape the feeling that you’ve somehow plateaued in your growth as a software developer. In this talk Yitzchok, a rabbinic scholar and software developer, shares the “wisdom of the sages” as practical, actionable advice – strategies and tactics – that you can use to reinvigorate your growth as a software developer.

    Yitzchok Willroth
    Developer & Rabbi

    Yitzchok Willroth is a Talmudic scholar and enterprise web application developer (though seldom at the same time) living in Lakewood, NJ. A start-up veteran and dev bootcamp instructor, he is the founder and organizer of the ShorePHP User Group, co-organizer of the New York PHP User Group, and an active participant in the PHPMentoring initiative. Passionate about clean code and robust application architecture, he is also a strong proponent of remote teams as a way for organizations to thrive while affording developers a healthy work:life balance.