Drones are increasingly used in various commercial and consumer scenarios – from agriculture drones (providing farmers with crop and irrigation patterns) to consumer drones (that follow you around as you engage in action sports), to drone racing. Drones are outfitted with a large number of sensors (cameras, accelerometers, gyros, etc.), and can continuously stream these signals in real time for analysis.
This talk introduces the landscape of the various drone technologies that are currently available, and shows you how to acquire and analyze the real-time signals from the drones to design intelligent applications. We will demonstrate how to leverage machine learning models that perform real-time facial detection along with predictions of age, gender, emotion, and object recognition using the signals acquired from the drones. You will walk away understanding the basics of how to develop applications that utilize and visualize these real-time insights.
This talk includes fun with drones, how to tackle the problem of world hunger, and some Game of Thrones silliness. It is targeted at data scientists, students, researchers, and IT professionals who have an interest in building intelligent applications using drones and machine learning. It will be a fun and exciting exploration as we demonstrate a drone with the power of recognizing faces. You will learn how to leverage these same machine learning models to imbue intelligence into drones or other applications.
Jennifer Marsman is a Principal Developer Evangelist in Microsoft’s Developer and Platform Evangelism group, where she educates developers on Microsoft’s new technologies. In this role, Jennifer is a frequent speaker at software development conferences across the United States. In 2009, Jennifer was chosen as "Techie whose innovation will have the biggest impact" by X-OLOGY for her work with GiveCamps, a weekend-long event where developers code for charity. She has also received many honors from Microsoft, including the Central Region Top Contributor Award, Heartland District Top Contributor Award, DPE Community Evangelist Award, CPE Champion Award, MSUS Diversity & Inclusion Award, and Gold Club. Prior to becoming a Developer Evangelist, Jennifer was a software developer in Microsoft’s Natural Interactive Services division. In this role, she earned two patents for her work in search and data mining algorithms. Jennifer has also held positions with Ford Motor Company, National Instruments, and Soar Technology. Jennifer holds a Bachelor’s Degree in Computer Engineering and Master’s Degree in Computer Science and Engineering from the University of Michigan in Ann Arbor. Her graduate work specialized in artificial intelligence and computational theory. Jennifer blogs at http://blogs.msdn.com/jennifer and tweets at http://twitter.com/jennifermarsman.
You’ve seen the WWDC videos, maybe watched a few conference talks, and you are convinced of the magic of protocols and feel ready to take advantage of Swift’s Protocol-Oriented Programming approach. Then you sit down, fire up Xcode and… then what? You know protocols can help make your code cleaner and more flexible, but you aren’t sure where to begin. In this talk, we’ll break down practical application of protocols for networking, animations, and updating the UI. Come away with solid examples of how protocols can streamline your code and some sample source code you can put to work immediately.
Anne Cahalan is an application developer at Detroit Labs and a survivor of their apprenticeship program. She makes apps with Xcode, sweaters with sticks, and cocktails with bourbon.
Our community is aware that diversity is key to success. But token representation in race, gender, or sexual orientation is not enough. Diverse teams often fail to include and benefit from the contributions of all members.
Let's break this issue down to every day habits and behaviors. We'll dive into how small changes in speech, meetings, pairing, social activities and perks can add up to make sure we harness the benefits of diversity we're seeking.
Mark designs and develops web and mobile applications. He believes that user experience and creativity are essentials of software development, and that technology is just a small part of addressing the diversity of human need. He is an amateur woodworker, metalworker, and sailor.
Elixir gives us a powerful concurrency model, fault tolerance, and a powerful functional interface with a nice easy to consume syntax. Sitting on top of the Erlang VM, which brings it's battle tested performance and fault tolerance to the table. It gives us some surprising new power in our server side world.
See how these two languages, developed completely independently with wildly different backgrounds, play so well with one another, and give us a glimpse to where our web development world may be going.
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.
From www.particle.io : "A tiny, reprogrammable Wi-Fi development kit for prototyping and scaling your Internet of Things product. The Photon is a $19 tiny Wi-Fi development kit for creating connected projects and products for the Internet of Things. It’s easy to use, it’s powerful, and it’s connected to the cloud." In this session, we’ll build a few simple programs to show off some of the basic functionality of this versatile (and adorable) device. From a blinking “Hello, World!” LED to a sensor-driven “When to Water Your Houseplant”, we’ll explore some of the countless project possibilities the Photon enables! Then we’ll check out the Electron! Where the Photon gets your Things connected via Wi-Fi, this particle gets them connected via 3G. We’ll expand on what we learned from the Photon to build a 3G-enabled DIY GPS tracker using the Electron!
Kristen is a software developer in Columbus, OH. She has been in software consulting since 2010. She has a passion for gadgets and for learning how to make them do cool things.
Java, Scala, Groovy, Kotlin, JRuby, Jython, Clojure. What do all these languages have in common? They are all powered by Java Bytecode. With the current ecosystem of languages running on the JVM, it is becoming important to learn more about the least common denominator. This talk gives an introduction to Java Bytecode, with practical examples and an implementation of a very simple JVM based language.
Magnus Stahre is a software craftsman doing application development for two decades.
He is currently an Agile craftsman at Pillar Technology where he solves difficult problems while coaching others on techniques and tools that help developers work better.
He is also a dedicated Unix lover, having started his career as a sysadmin.
Secrets can be scary if they get out. That's the very feeling I had when I wrote a Medium post revealing my biggest secret, which was read by thousands. In this talk, I will share the story of how and why I came to share this secret with the world. I'll also talk about how sharing this ultimately made me a better teammate, developer, and person, and how it had the complete opposite reaction than I expected. Through these experiences, I’ll share my insights on why being more open benefits you and your team.
Sarah is a software developer, speaker, and mentor in the Kansas City area. She loves being involved in a variety of women in computing events as well as teaching and mentoring various people and groups in town.
Language matters more than you think. And the more you think, the more you need language. This talk explores the connections between language and problem solving, how the metaphors that we use can expand or constrain our thinking, and how it all relates to our identities as software developers and as human beings. Along the way we'll learn about linguistics, category theory, Russian colors, gigantic bridges in France, and how to pronounce the word 'lacuna'. And you'll definitely have some things to think about. Hopefully, in new ways.
Coraline Ada Ehmke is a speaker, writer, teacher, open source advocate and technologist with 20 years of experience in developing apps for the web. As a founding member of OS4W.org and contributor-covenant.org, she works diligently to promote diversity and inclusivity in the tech industry. Her current interests include refactoring, code analytics and artificial intelligence.
Tiffani Ashley Bell is Founder and Executive Director of The Human Utility (formerly known as the Detroit Water Project), a platform enabling people from around the world to help people in Detroit and Baltimore with their water bills.
Since its founding in July 2014, the organization has helped over 950 families and is a Y Combinator-backed not-for-profit.
Tiffani was also a 2014 Code for America Fellow and previously, was the CEO + founder of Pencil You In, enabling businesses to operate more efficiently by accepting appointments online.
Tiffani is a front and back-end developer working primarily with Ruby on Rails and iOS. She finished at Howard University in 2008 with a Bachelor of Science in Systems & Computer Science.
In this day and age of web development, where the code we write has advanced far beyond simple html tables and css, one of the hurdles we face as web developers is keeping the websites we develop accessible to all. A number of factors seem to always crop up and get in the way of this; be it new technologies, unwilling clients, or time and budget. Couple this with the fact that the techniques we now use to create websites all seem to make it even more difficult to create accessible software, it can make it frustrating to figure out how we can fit accessibility into our development and testing processes. We’ll look at some of the obstacles we might run into during the course of creating an accessible website, from client kick-off, through design and development, and up to launch day, and some practices we can employ to overcome them.
Heather Buchel is a front-end developer and user interface designer who currently resides and works in Detroit, MI. As an advocate for web accessibility at Gravity Works Design & Development, Heather believes the software we create should be as inclusive as possible. Because of this, she spends a lot of her time continuously improving her teams process for creating websites that are responsive, performant, and adhere to different accessibility guidelines. When she's not researching new accessibility techniques or geeking out about style libraries, you'll probably find her hanging out with her 5 month old puppy or looking for new food and recipes to cook up from her nearby farmers market.
The stuff in your home is getting smarter every day. It’s time to take control of it with Home Assistant, a Python open source app.
This talk will provide an overview of how Home Assistant can be set up and configured to make your home smarter. You’ll be able to control your smart home devices so that your home starts working for you. With presence detection, logging, and mobile access, you’ll be the master of your domicile.
Once we see what Home Assistant can do we will explore how to write a custom components to start automating our own devices. Welcome to the world of tomorrow!
He lives in Michigan, USA outside of Detroit with his wife, 2 children and 2 dogs. In his spare time he enjoys brewing beer, video games and getting outside.
Have you ever felt like you’re a cupcake in a doughnut world because everyone around you seems nice but you feel out of place for some reason. Or, do you feel like you’re a good person who is unaware of the negative ways that you affect people? Do you want to be better about creating an inclusive workplace?
Unconscious biases affect our perceptions, decisions, and interactions every day. They're the biases that we don't actively realize that we have. How do we address biases if we don’t know about them? YouTube, Snapchat, Facebook, and Google have all released products that were unintentionally biased -- what can you do to prevent your team from doing the same thing?
This talk will give you a common vocabulary so you can speak to others about bias as well as recognize situations where bias occurs beyond sexism and racism to include invisible illnesses, religion, weight, etc. You’ll learn the consequences of bias, and how you can be more aware of all the bias around you that affect your team dynamics and affect the product that you are creating. We’ll discuss concrete examples of how can change the way you act today to actively work towards countering bias, and hopefully together we can make the tech world a better place to work!
Neem Serra is a Ruby and iOS developer in the St. Louis area. She teaches and mentors at a variety of non-profit organizations such as Software Carpentry and the Roy Clay Senior Tech Impact web development workshop. As the lead of the Google Women Techmakers group in St. Louis, she started the St. Louis Techies Project to highlight the diversity of technical people in St. Louis, and she started Technigals Anonymous to help women create a board of directors for their professional lives. Neem loves to bake, read comics, and host craft nights.
In my time at Northwestern University, I've built a women in tech organization from 10 to almost 200 members, funded 70 women to attend Grace Hopper, and founded a Chicago-area women's hackathon (BuildHer). I'd love to talk about how tech professionals can best encourage and retain women under the tech umbrella starting at the university level, and hopefully continuing into the workforce.
Alaina is a senior at Northwestern University, where she studies computer science and sporadically dabbles in medicine and linguistics. At NU, she is best known for co-organizing Women in Computing, co-founding BuildHer, and not understanding how to pronounce the word “corgi.” Recently, she’s coded cool things at Clarifai and GE Healthcare, but right now she's an iOS dev and UX researcher in Northwestern’s Delta Lab. Current fascinations include origami and Samoyed puppies.
Code is communication. Between you and the compiler, definitely. But more importantly, code is communication between you and the next developer. Code that communicates poorly is code that cannot be maintained, and code that cannot be maintained is costly.
When he isn't crushing 1s and 0s or playing with his kids, you can find Steve at a triathlon, on his mountain bike, or in a climbing gym.
Software exists in a constant state of failure, facing pressure on many fronts - malicious intruders, hapless users, accidental features, and our own limits of imagination all conspire to bring our system to a screeching halt. Untangle even the most tangled of Gordian Knots by building your own toolkit for inquiry, by relying on the simplest technique of all: asking "why?"
Kerri Miller is a Software Developer and Team Lead based in the Pacific Northwest. She has worked at enterprise companies, international ad agencies, boutique consultancies, start-ups, mentors and teaches students, and finds time to work on Open Source projects. Having an insatiable curiosity, she has worked as a lighting designer, marionette puppeteer, sous chef, and professional poker player, and enjoys hiking, collecting Vespas, and working with glass.
By now, you have probably heard of immutability, have likely heard of pattern matching, and it is quite possible that you have heard of currying. If you have been somewhat intrigued by these things, you may have heard of algebraic data types. But what you might be missing is how you can leverage these things to write better programs.
This talk will go deep into those introductory topics, explain their importance to programming and show you how to apply them in a program. You can take these concepts-turned-techniques with you, and leverage the functional features that have been creeping into out OO languages.
Mike is a software professional who has been developing applications since the late 90s.
After a few years of experience, Mike found that the silver bullet to software development is people. He firmly believes that software is a means to an end; and that programmers simply act as "middle men" between the end users and their vision.
Mike is always striving to bring the Whole Team together to build software in a sustainable and highly visible manner. He does this by promoting thinking and techniques that enhance clarity and align expectations.
When not programming, Mike spends time with his wife and their five boys. Usually in a car while driving from one of their events to the next….
Legacy web applications live all around us. But in today's ES6 world what do we do with all these apps? Sure we would each love to say "Let's rewrite it!" But what do we do when that's not an option.
Let's face it, most apps take year to build. Time, money... it's not something you can easily toss aside for the latest JS Framework hotness. The great thing about React is that it's a library. A library that can easily be integrated to bring these legacy apps into an ES6/one-page world.
In this session we are going to talk about what React is, what it can do, and how to integrate it into your existing legacy apps.
Sometimes chef, full-time mom, but 100% geek, Sara spent her youth building Legos, solving puzzles, and playing video games. Little did she know it was priming her for an amazing Software Engineering career.
Sara spent two years studying Actuarial Science before a friend convinced her to take a C++ class to help him pass. By the end of the semester she'd switched her major and was getting ready for her first internship. Born and raised in the Motor City, Sara quickly worked her way toward a software position working for one of the big three and 15+ year career began to work for progressively smaller and smaller companies. In that time, working across many projects, disciplines, and experience working with teams of all sizes and makeups.
Sara co-organizes Girl Develop It Ann Arbor, Detroit.rb, Great Lakes Software Excellence Conference, and BitCamp.
When she's not working or volunteering she's building Legos all over again with her four beautiful children and man child husband.
Over the last year a number of discussions relating to the moral responsibilities of tech companies popped up: the dissemination of fake news and filter bubbles via Facebook, the proliferation of harassment and abuse spread via Twitter, a discussion about Google's "Don't Be Evil" motto (now "Do the Right Thing"), to only name a few. And while these examples refer to big companies, the startup scene has not been without its scandals and ugly sides.
Technology permeates all aspects of our lives, our economy, our communities - yet we do not encourage our technologists to learn about ethics and moral implications of the jobs we are doing. How can we build the technological construct the world is running on these days, without being concerned about what exactly we are building, and what the technology will and can be used for? What questions should we be asking, as concerned developers and product builders?
This talk introduces the audience to the field of ethics in information and communication technology. We will have a look at philosophers and researchers like Hans Jonas, Rafael Capurro, James H. Moor, Alison Adam, and more, and will discuss their thinking about ethics and morality in relation to computer science. We will discuss the need for ethics in information and communication technology on recent examples and will conclude with recommendations for technical individuals and companies.
Nathalie is the co-founder & lead of She's Coding, a community-driven, open-source project focused on creating a more inclusive tech industry. She is a European transplant in Seattle, WA, and has earned her Masters in Computer Science at the University of Innsbruck, Austria. Nathalie is actively engaged in the Seattle and global tech community through a number of women in tech related groups – from Seattle Girl Geek Dinners, an informal networking platform for technical girls and women, over Django Girls, a two-day workshop teaching women Django & Python, to She’s Coding.
Research has shown that grit and perseverance are better predictors of success than self-discipline, but what if you don’t feel like a particularly gritty person? The good news is perseverance is a skill that you can foster and grow. Through tales of both triumph and woe, we will dive into research based strategies that can be put into practice tomorrow. Whether you’re looking to pull yourself up by the bootstraps or help those you mentor conquer the next hurdle, this talk aims to add some tangible perspective to the elusive concept of grit.
At any given time, 1 in 5 Americans are living with a mental illness, such as depression, bipolar disorder, generalized anxiety disorder, substance use disorder, burnout, or ADHD. Statistically, all of us working for an organization with 5 or more employees have at least one colleague who is affected. At the same time, the tech industry is often characterized by high stress, long hours, workplace pressure to be available by phone and e-mail after-hours or sometimes even while on vacation, social pressure to constantly network and attend conferences and make a name for yourself, and the precarious balance between trying to do good by contributing to open-source and maintaining some semblance of free time that doesn't involve coding. Given how this demanding environment increasingly blurs the line between our professional and personal lives, how can we ensure that the most vulnerable among us aren't being left behind?
As a community, the single most damaging thing we can do is continue to treat mental health as a personal shortcoming that can't be talked about openly. We shouldn't think of it as "somebody else's problem"; the 4 in 5 of us who don't currently have mental health disorders must do our part to help end the stigma. This talk will begin with an overview of key statistics about mental illness, followed by the efforts of the non-profit organization Open Sourcing Mental Illness to gather more data about mental health in the tech industry, the ALGEE action plan taught by the Mental Health First Aid training course, and finally conclude with ideas and strategies for making our tech workplaces more accommodating and inclusive.
Nara Kasbergen is a full-stack developer in NPR (National Public Radio)’s Digital Media group, where she's worked on a variety of projects, most notably the third-party developer platform for NPR One. She recently joined the tech conference speaking circuit because of her interest in Developer Experience (DX), community-building, the intersection of humans and code, and her volunteer work for Open Sourcing Mental Illness, a non-profit organization raising awareness about mental health in the tech industry.
Though she has no noticeable accent, she hails from The Netherlands and lived in Munich, Houston, Pittsburgh, Tokyo, and New York City prior to settling down in Washington, DC. In her spare time, she satisfies her foodie habits by trying out all of the best restaurants in the city, collects board games, and watches too much Netflix.
Feedback matters, whether positive or corrective. It's essential to creating a productive work environment. It shows attentiveness and signals appreciation for a job well done. It redirects undesirable behaviour to other productive alternatives. So why are many of us so stingy with feedback? Do we try to avoid difficult conversations? Do we know how to give feedback effectively? Whatever the reasons are, we can learn when and how to comfortably offer feedback to others. This talk will cover why feedback matters, what makes feedback effective, when and to give feedback, and much more.
Elle has been building websites for over a decade. Since 2007, those websites have been in Ruby. She was a Ruby Australia committee member, and an organiser for Ruby Conf AU 2014, and Rails Girls Sydney events. Elle is also a co-organiser for GORUCO 2015 conference. When she is not immersed in the Ruby community, she is probably immersed in water.
Working in the tech industry often involves spending long hours sitting down, staring at a screen, consuming copious amounts of pizza and caffeine. The work is mentally demanding and can be stressful. In the rush to get everything done, it can be easy to neglect our health. But a healthy body and mind are necessary for effective performance. Based on HR training, research, and personal experience, this session provides realistic suggestions for managing your well-being at work. It covers the connection between physical and mental health, as well as how to discuss these topics with your employer. You’ll leave with a better idea of how to take care of yourself and be a happier, healthier, more productive person.
Cassandra Faris is the Director of Talent Management at Improving Columbus, a software development consulting and training company. She is passionate about growing the tech community and its people, regularly attending, speaking at, and helping organize conferences and events. She is President of the Microsoft-focused Dog Food Conference and Marketing Lead for CloudDevelop. She has an MBA in Organizational Leadership, and is an avid tabletop gamer, runner, and soccer fan who travels as much as possible.
When your motivation is starting to sputter,
what can you do to pull it out of the gutter?
Try combining an Arduino
with some solenoids and Dino.
Add ukulele to set your heart aflutter.
We've all felt the ebbs and flow of our motivation to push ahead our coding practice in our free time. How can we reinvigorate our desire to learn and grow without feeling the all too familiar burn out?
One solution is to take stock of your passions and combine them with your desire to improve your coding skills. We will learn together through my failures, setbacks and successes building this project to amalgamate our various interests to create an exercise that will be enjoyable (when it's not falling to pieces), as well as challenging. Finally, we will come out the other side with a silly robot who will play some musical tunes for us.
Professional cellist turned Software Engineer. Fun fact: I used to be John Stamos on Facebook.
"But I don't want to like them. I don't _like_ them!"
We all know emotional safety is important for a team to problem-solve, learn from mistake, and figure out how to improve -- together. And emotional safety requires kindness. But kindness on the surface (with maybe disdain, judgment, or plain dislike underneath) doesn't actually work. People can tell when you're insincere. So what do you do?
How about this. In this session, you'll learn specific empathy skills for understanding yourself better, and understanding other people better. In the process, you may be surprised to find fondness growing where you thought none could.
Alex Harms wants to make the world a little gentler for developers and tech teams. By teaching and coaching from a place of mindfulness and empathy, Alex helps disempower fear, strengthen communication, and build connection, so that tech teams learn together and thrive. They’re host of the Geek Joy Podcast, and head coach at Maitria.
When you think of low vision, what comes to mind? A user that is near sighted? How about far sighted? Maybe partially blind? These are all qualifying cases of poor vision, but low vision is more complicated than the prescription of glasses or contacts.
According to the World Health Organization, they categorize low vision based on specific levels of visual acuity and field of vision (W3.org, 2016). With that in mind, we as developers can look at different categories of low vision including color vision, visual acuity, contrast sensitivity, etc and make an effort to bake in things like zoom, non-conflicting colors, and re-wrapping of columns in to our code.
My talk will cover what vision accessibility is, different categories of low vision, what the needs of the users are, and what we as developers can do to achieve a great user experience for low vision users.
Chris DeMars is a ui developer for United Shore located in Troy, Michigan. He is an instructor and teacher assistant for the Ann Arbor and Detroit chapters of Girl Develop It. Chris loves coming up with solutions for enterprise applications, which include modular CSS architectures, performance, and promoting Web accessibility.
Ruby is late to the type system party. Let’s give Ruby something smart to say when it gets there. You’ll take a journey with Haskell’s type system. Along the way, you’ll learn how types can let you forget about nil, declaratively model your domain, and allow your compiler to drive your design.
How can ANYONE be productive in a language without if/else, while, or even classes? Let me show you! Haskell is proof that sometimes constraints can be liberating. There are murmurs that a type system will be coming to Ruby. Before that happens, you should get informed about what is hot in the current type system market. Haskell is known for its type system, but instead of describing it with dense language, let’s take a journey through code examples. Throughout our trip, we will avoid scary buzzwords like “monad” and “algebraic data type” because, honestly, what good is a formal definition when you don’t understand the power behind the concept.
I am a double agent at Test Double living in Philadelphia, PA. I have a passion for learning and teaching. I am a cook and cyclist in my free time, as well as a Husband and Father. I love Ruby for its freedom and extensibility and Haskell for the way it encourages me to expand my thinking.
Machine learning techniques rely on some assumptions, like that the future will resemble the past, and that data is objective. Those assumptions have held up well in machine learning applications like advertising and self driving cars. But what about applications that predict a person’s future actions and use that prediction to make a big decision about that person’s life? What if we train our machine learning systems on data containing human biases that we do not want to reinforce in the future? This talk first dives into how Google's Word2Vec learns gender biases from input data, and promising work from MIT on how we can use math to 'unteach' the system these biases. It then looks at statistics-based prediction techniques used to make decisions in criminal sentencing - how racial bias comes into these systems, the risks and consequences of exacerbating that bias, and the possibility of accounting for it in a way that the systems can 'unlearn' the bias. Throughout, we consider a set of questions we must ask when applying machine learning to make decisions about one another. The audience is invited to take apply these questions to other human-focused applications such as in health, hiring, insurance, finance, education, and media.
I work with Sassafras, a worker-owned tech cooperative based in Ann Arbor. Before that I developed software with an education technology company, community organizers, and Atomic Object; and taught with Girls Who Code. I like working with people to grow food, community, and helpful software.
The Nintendo Entertainment System, or NES, defined the look and feel of "video games" for an entire generation. At its core, it featured a MOS Technologies 6502 processor and a custom "Picture Processing Unit". All of your favorite games for the system were written in assembly, and with modern tools, you can write your own games for the NES in assembly too! We'll start with a look at how binary numbers work, and then jump right in to 6502 assembly and how the NES works at the hardware level. Finally, we'll look at some common tricks used by popular games and how to get started working on your own games.
Kevin is a front-end developer at Braintree, where he works on tools that power merchants large and small. He is interested in programming music, making and analyzing games, and the intersections between code and the physical world.
How do you measure code maintainability? One meaningful metric might be the amount of code you need to reason about to make a change. This talk will explore why Elm and The Elm Architecture score high by this measure. We will also look at patterns for keeping code easy to reason about as you scale an Elm application.
Some cognitive-load-reducing features we’ll discuss are:
- Elm’s powerful type system which allows you to make undesirable states impossible to express
- Elm’s compiler which makes runtime exceptions virtually impossible
- Elm’s deterministic view function: one model state can only result in one view
- Elm’s update function: a single source for all side-effects and updates to the model
We will also explore how to avoid making a "componentized" Elm app in the style of React or Angular 2+ and why the alternative is more maintainable.
Dillon is an Agile Coach and XP Craftsman based out of Southern California. He found his way into software through an unlikely path studying piano performance. Fortunately, this education in deliberate practice and collaboration techniques has served as a solid foundation for developing and teaching Agile skills and mindsets. Dillon is a full-stack coach, and believes that effective software requires the right mix of empathy, mindset, organizational structures, and craftsmanship skills. He also loves programming languages and functional programming.
Accessibility is a facet of web development that many companies still think of as an afterthought. Studies show that 20% of the population have some type of disability. While not all these disabilities make it difficult forth to access the internet, its unwise and sometimes even violates the law the exclude this population.
This session will discuss the standards, provide thoughts on why its important to foster an environment that cares about accessibility, and provide key concepts and tools to use to make accessibly easier. Targeted for developers and project managers the goal of this session is to introduce everyone to the fundamental principals and business related factors of web accessibility.
Jeff McWherter is an entrepreneur, manager, and software developer who calls Lansing Michigan home. A graduate of Michigan State University, Jeff has spent over 15 years working to better the software development community not only in Michigan but also around the country. In 2010 Jeff was awarded with the Microsoft Most Valuable Professional (MVP) for the third year in a row.
Jeff is a three time published author, with Testing ASP.NET Web Applications (Wrox Press), Professional Test Driven Development with C# (Wrox Press), and Professional Mobile Application Development (Wrox Press). Jeff is very active in developing programming communities across the country, speaking at conferences and organizing events such as the Lansing Give Camp, pairing developers with non-profit organizations for volunteer projects.As an entrepreneur Jeff has helped to grow Gravity Works Design and Development, into a stage two business with a reputation for detail-focused design and sound development practices.
In 2013 Gravity Works was named to the 50 Companies to Watch in Michigan,. Jeff has been named as one of the 10 individuals to watch over the next 10 years by the Lansing Chamber of Commerce, and also received the Corp Magazine Entrepreneur of distinction award. Hard work, passion and selflessness are the characteristics that Jeff attributes to his success.
Is the Model View Controller (MVC) design pattern not working too well for your iOS apps? Despite your best efforts, does the dreaded “Massive View Controller” creep up on you making your code unmaintainable and unreusable? Then this talk is for you! In this session, I’ll discuss how you can better architect your iOS apps by adopting two popular alternatives to the MVC pattern – the Model-View-View Model (MVVM) and the Model-View-Presenter (MVP) . I’ll provide an overview of these patterns and we will walk through code (in swift) that demonstrates these patterns in practice. Whether you are just starting off building iOS apps or you have been doing it for some time, this talk can benefit you.
Priya Rajagopal has been professionally developing software for 18 years. She is currently leading the mobile development efforts at a startup in Ann Arbor, Michigan and in her spare time, does technical consulting and mentoring. She is an active member of the local mobile development community where she frequently talks on mobile development related topics and organizes the Mobile Monday, Ann Arbor meetup group. Although her current interests lie with mobile development, she has previously worked on a range of technologies including IPTV, Social TV, targeted advertising, network management and platform security and is a co-inventor on almost 2 dozen US patents.
In her spare time, she enjoys watching movies with her family.
Computers and the Internet-Of-Things generate data about our every move, passing thought or feeling. There is also a comprehensive set of data on our life’s context: our whereabouts, connections, physiological state, patterns of movement, and deeply ingrained subconscious behaviors.
While that information may not be immediately visible or easy to learn from, it is created, collected and saved. Over time, the pile of data grows. The processing technologies become more sophisticated and powerful. The data that was originally “anonymous” becomes easily identifiable. And no data is ever “forgotten”.
In this session we will consider what data is being collected, the implications of cross-processing streams of data from different sources, and the power of metadata. There are no more secrets.
Inspired by “Data and Goliath: The Hidden Battles to Collect Your Data and Control Your World” by Bruce Schneier
I am a software architect and developer, an Agile proponent, and a great believer in building valuable software that users will love to use. I build large back-end systems that require high-performance and high-reliability, and process vast amounts of data. I believe that successful software is created by strong teams, requires good engineering practices, and evolves in close collaboration with the users. As a Principal Consultant for Improving Enterprises, I work with distributed teams on distributed software. As a consulting team, we focus on technical excellence, close contact with the client, and rapid iterations.
It's an accepted truth in software development; when deadlines loom the team will be pressured to GO FASTER. Unable to convince management of the risks, we resign to cutting corners and working longer hours. Unfortunately the result is just as predictable, a short spike in velocity and many delays to come.
We will cover how to reverse the velocity spiral by building high trust relationships with management. We'll discuss root causes of our distrust like estimation, communication, and abuse of power so that the team can resist short sighted solutions that will plague them for years to come.
The goal seems audacious, so in 2011 he co-founded Test Double a rapidly growing software consultancy with a bevy of smart, driven and creative people. These double agents are always out and about at conferences so if you see a lime green t-shirt stop by and say hi!
GeePaw Hill is an independent software development coach. A geek for nearly 40 years, he has been doing, teaching, and coaching software using the various techniques of agility since Extreme Programming (XP) in the late '90s. He has worked with large teams and tiny ones all over the world, creating everything from satellite control modules to desktop graphics to that old standby, it-puts-the database-on-web-browser. As a speaker, he is well known for a humorous mixture of irreverence and insight. GeePaw lives in central Virginia at an aging hippie community, with his glorious and ever-changing family.
Being on a distributed team, working from your home or coffee shop isn't easy, but it can be incredibly rewarding. Making it work requires constant
attention and care, as well as support from your team and organization. It's not something that will just work out if you sign up for Slack and buy a
We'll learn what you can do to be your best self as a remote team member, as well as what you need from your environment, team, and company. We won't talk about technical stuff like remote pairing or chatbots. We *will* talk about the human stuff: how can you be present and effective when you aren't
David Copeland is a programmer and author. He's the author of “Rails, Angular, Postgres, and Bootstrap”, "The Senior Software Engineer" and "Build Awesome Command-Line Applications in Ruby". He has over 18 years of professional development experience from managing high-performance, high-traffic systems at LivingSocial or building the engineering team at Opower to working consulting gigs large and small. Currently, he's Director of Engineering at fashion start-up Stitch Fix, building a platform that will change the retail shopping experience.
Abusive behaviour can have profound effects on personal relationships but it can also make open source contributing and office life miserable. For those stuck in a team with co workers who exhibit toxic behavior, going to work every day can feel like going to a battlefield. Knowing how to identify and how to respond to unreasonable behavior is vital. In this talk we will look at the ways we can improve our office and FOSS communities by recognizing, managing and gracefully removing this toxic behavior.
Tibbs recently graduated from the University of West of Scotland with a degree in computer security. She has relocated to Portland, OR, where she evangelizes for privacy and security while doing security assurance work for Portland General Electric. She is passionate about encouraging small children to take the plunge into STEM and about laughing at cats on the internet.
Jonathan "J." Tower is a Microsoft MVP and business owner with over seventeen years of software industry experience. He loves solving problems and the creative aspects of software work, as well as sharing what he's learned and building the technology community.
J. lives in Grand Rapids, Michigan with his wife and children, where he uses his passion for organizing the tech community to run a user group and several annual conferences.
Feelings are messy and uncomfortable, so why can't you just ignore them? Because it doesn’t work; you’ll write substandard code and be a suboptimal teammate.
Research shows that emotional regulation skills have a significant impact on your job performance. In this talk you’ll learn how emotions are affecting your work and what you can do about it.
I use the metaphor of an API as a way to talk about how your emotional system functions. We’ll go over some of the code in your emotional API, and how we can refactor it.
This will improve your coding, your relationships, and the arc of your career.
I’m the co-founder and CTO of Data Simply; I’ve been programming professionally for two decades. In recent years I have also been supervising emotional release workshops called "Purpose, Passion, Peace", based on the work of Alfred Adler. These workshops were designed to create a safe space for people to finally face feelings they’ve been avoiding for most of their lives.