From the folks who brought you DetroitDevDay, a new conference to look toward the future of software development. A day long event with nationally recognized speakers to discuss cutting edge ideas in software development and new programming languages!
It’s 2019, promise me you will stop implementing large monolithic applications that take forever to load and even longer to develop on. The future of the web is JavaScript, APIs, and Markup; known as the JAMstack. See how GatsbyJS, Headless CMS, and GraphQL are the next decade’s tech instead.
Sites that take forever and a day to render a web page have horrible consequences to your users and your goals, and don’t just take my word for it. A recent study by Akamai shows that every 100-millisecond delay in website load time can hurt conversion rates by 7%. That’s because the tech we have been using was architected long ago.
Join my session and I’ll show you how to leverage a Microservice Architecture, the best Static Site Generator out there, Headless CMS, and Microsoft Azure to deliver a static website that can be deployed easily on dozens of services. You will be able to forget about the last decade’s tech problems of complicated deploys, server maintenance, and scaling fears.
Flutter is Google’s cross-platform mobile platform for crafting high-quality native interfaces on iOS and Android in record time. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source.
Together we will start with an empty Flutter project and build it up step by step into a usable app. Along the way, you will pick up some of the fundamentals of Flutter development as well as the fundamentals of the Dart language. This intro will equip you with enough of a base to start building your own mobile apps in record time!
Project Repo: https://github.com/donwardpeng/Flutter-DetTechWatch
Serdar Dogruyol a.k.a Sedo is a core member of Crystal programming language team and the creator of Kemal Web Framework. Hailing from the beautiful city of Istanbul, he works remotely for RainforestQA.
Sedo is a long-time OSS advocate and has contributed to many OSS projects. His main interests are Crystal (programming language), Self Development and Keynesian Economics.
In his free time, Sedo reads books, practices Japanese and travels around the world to share knowledge.
Regular expressions are everywhere. But they don’t scale in several important ways:
The Rosie Pattern Language (RPL) addresses all of these scale challenges: big data is processed in predictable (usually linear) time in the input size; packages of composable patterns are easily shared; and it has a readable syntax, with named patterns, flexible whitespace, and comments, like a programming language.
Jamie earned her Ph.D. in Computer Science from Cornell University, and has held positions in academia and industry. As a Senior Technical Staff Member in IBM, she created international technical standards that remain in wide use by the mobile phone industry today. She has also been chief architect for several IBM products. Today, she is back in academia, on the faculty of the Computer Science Department at North Carolina State University. In her spare time she plays ice hockey and writes compilers.
The web has been steadily moving towards richer client side experiences for a long time now. A lot of people point to GMail as the beginning of the single page app phenomenon, and it has only grown since then. Your users expect a rich interface from your application now, and you need to deliver it.
But the migration to SPAs hasn’t been without its problems. Fundamentally, SPAs are actually two applications: a client side application that runs in your users browser, and the server side application that it communicates with it. Since you have now fundamentally built a distributed app you have added a whole slew of new problems into your world. How do you keep the business rules in sync between the systems? Have all of the error cases been accounted for? How do we manage releases between these separate, but tightly coupled applications?
What if your server side application could provide a rich clientside experience without the Javascript? Introducing Phoenix LiveView a way to have your cake and eat it too.
Always avoiding the fads to explore the systems that felt “right” to him. Matt has developed a passion for developing maintainable quality software that delivers what his customers really need (even if they don’t know what that is). He jumped on the React bandwagon pretty early, and is passionate about helping that community develop better practices to help them develop quality maintainable software.
In his spare time, which with two toddlers is basically non-existent, Matt like to explore what is next, after JS and/or React, and doing projects around his house, like attempting to finish a basement despite no knowledge of construction or carpentry.
ReasonML is a new language and way to build not just websites powered by ReactJS, but powers a whole new ecosystem of utilization. Electron apps, CLIs, VM-based servers and any application JavaScript currently has can be improved using ReasonML. Build native CLI tools that are fast. Build native MacOS apps that don’t have to require all of Chrome and a 100mb min bundle size. Run your ReasonML apps on bare metal!
The power that comes with ReasonML will change the way we write our JavaScript apps today. I’m excited to share with you what the future looks like!
Tests are critical for verifying that we’re building the software we want; however, a good test suite is hard to achieve. Setting up scenarios is boring, repetitive, and time consuming. Not to mention we have to think of all these edge cases before our users exploit them.
Property-based testing introduces developers to a new way of thinking about testing. We can create thousands of clever tests with just a small amount of code. We can then spend our time and effort effectively to help make sure the assumptions of our software hold true.
Mike is a senior software engineer at StockX where he helps provide experiences for over a million users on their Android app. He has a passion for functional programming, software correctness, and mechanical keyboards.
The most popular databases in the world all speak SQL, and almost 60% of Stack Overflow members use SQL. SQL is the query language that dominates when it comes to interacting with data. Data has changed since the 1970s; it’s no longer just stored in flat tables, but as rich, hierarchical object structures like JSON. SQL isn’t dead though, it just needed to evolve a little bit. In this session, you’ll learn about the next iteration of SQL: SQL++. Born from a UCSD research project, SQL++ is backwards-compatible and can work with heterogeneous data, with or without schemas and indexing. It is still the readable, declarative, highly composable language that you’re used to, but with extra super-powers. This session will focus on the enhancements that SQL++ brings, will show some of the databases that are already implementing it (including Couchbase, AsterixDB, Drill), and guidance on why and when to use it. You will enter with SQL skills and leave with big data skills.
Do you ever get tired of writing unit tests for ridiculous edge cases? Are you stuck on an old AngularJS app and need to modernize it, unsure how to move forward? Are you an FP lover looking for something more cohesive than lodash/fp and Ramda? Do you have a need for high-reliability in your project’s domain? Maybe the barrage of JS frameworks & libraries, ES features, TypeScript features, and package security issues are wearing you down.
Well, look no further! I will introduce you to Elm, a fun way to build reliable web apps. We will look at common issues with reliability in popular frameworks and explore some of the ways Elm prevents them. Along the way, we’ll see how Elm reduces JS fatigue and makes happier developers. At the end, I will show how you can easily introduce Elm into an existing Angular or React app.
Jared M. Smith is a developer with 10+ years of experience collaborating, designing, and developing reliable software. With a background in healthcare and web development using a myriad of tools to solve problems for people, now he is writing Elm and Python full-time in transportation and logistics. He is contagiously enthusiastic about software development and a lover of languages, both natural and programming.
Currently based out of Evansville, IN, he loves to play pool, practice yoga, and travel with his spouse and 3-year-old son.
With Swift 5 and ABI stability, Swift has matured into a language ready for new adopters. In this talk, Leo gives an introduction to Swift development as well as its journey.
In this session, Leo will cover the basics of the syntax and how it is similar to other languages. This session will explain some differences such as Optionals, Enumerations, and Error Handling. We then build our first iOS Application with navigation, tabs, and a table view.
By building the application, we can get into some of the patterns and practices in iOS development including Delegation, Protocol-Oriented Programming, and Functional Programming. Lastly, we’ll get into the basics of Apple Watch development and how we can carry our skills to the watch.
If you are interested in getting started with Swift and developing for the Apple Watch, you’ll want to check this workshop out.
What You'll Need...
Elm is a functional programming language for front-end web development. Elm has been gaining popularity as it aims to solve many of the main pain points of the modern JavaScript developer.
In this workshop, participants will build a small Elm app from the ground up. We'll start with basic syntax, explain how "The Elm Architecture" guides us as we develop our app and walk through Data Modelling and working with JSON APIs
We assume prior knowledge only of JavaScript or another imperative or object-oriented language.
Mike Onslow is a Principal Software Engineer at Clarity Voice. He has a passion for solving problems through the use of technology and sharing his knowledge with others. Over the past couple of years, Mike has found a technology stack that he truly loves in Elm and Elixir.
Activity/Talk | Speaker | Start | End |
---|---|---|---|
Registration and morning refreshments | n/a | 8:30am | 9:00am |
Opening Annoucements and Speaker Introduction | Organizers | 9:00am | 9:10am |
Do Not Build a Website with Last Decade’s Tech | Brian McKeiver | 9:10am | 9:45am |
From the Ground Up - Developing a Mobile App using Flutter | Don Ward | 9:50am | 10:25am |
Break | n/a | 10:25am | 10:40am |
The Phoenix Rises: Using Phoenix LiveView for Realtime apps with no Javascript | Matthew LaForest | 10:40am | 11:15am |
Make reliable web apps without JS fatigue | Jared M. Smith | 11:10am | 11:45am |
Lunch and Swag Pickup | n/a | 11:45am | 12:45pm |
Getting started with Swift and Apple Watch development Workshop | Leo Dion | 12:45pm | 2:45pm |
Building an interactive app from scratch in Elm Workshop | Mike Onslow | 12:45pm | 2:45pm |
How ReasonML Will Make You 10x The ReactJS Developer | Peter Piekarczyk | 12:50pm | 1:25pm |
Introduction to SQL++ for Big Data: Same Language, More Power | Matthew D. Groves | 1:30pm | 2:05pm |
Break | n/a | 2:05pm | 2:20pm |
Time to Pony Up!: A Tour of Pony | Josh Horwitz | 2:20pm | 2:55pm |
Crystal: A language for humans and computers | Serdar (Sedo) Dogruyol | 3:00pm | 3:35pm |
Break | n/a | 3:35pm | 3:50pm |
Replacing 50 Year Old Regex Technology with Rosie Pattern Language | Jamie Jennings | 3:50pm | 4:25pm |
Generating Your Assumptions | Michael Torres | 4:30pm | 5:00pm |
Closing Ceremonies | n/a | 5:00pm | 5:30pm |
All attendees, speakers, sponsors and volunteers at our conference are required to agree with the following code of conduct. Organizers will enforce this code throughout the event. We are expecting cooperation from all participants to help ensuring a safe environment for everybody.
You have our contact details in the emails we've sent.
Our conference is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion (or lack thereof), or technology choices. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organizers.
Harassment includes offensive verbal comments related to gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion, technology choices, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.
Participants asked to stop any harassing behavior are expected to comply immediately.
Sponsors are also subject to the anti-harassment policy. In particular, sponsors should not use sexualized images, activities, or other material. Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment.
If a participant engages in harassing behavior, the conference organizers may take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund.
If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff immediately.
Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.
We expect participants to follow these rules at conference and workshop venues and conference-related social events.