"Internet of things" connected to things
What if your app could identify other users based on proximity to other “connected devices". In this chat we will discuss how to use GPS, Wifi and Bluetooth to enable a multi-channel mobile and web experience. We will explore how different strategies can be employed based on the context of how a user is interacting in our solution. Throughout this presentation the presenters will speak to the solution from both business and technical perspectives. Points of focus include: - Business : Omni-channel strategies and fundamentals which can be utilized to build habit forming experiences. - Technologies: Cross platform development using Xamarin, Web and backend development using Node.js, Mobile device integration with WIFI, Bluetooth, and GPS components. Walk through proof of concept which incorporates the technologies and concepts discussed.
"OMG! This Codebase Sucks!" Paying Down Technical Debt While Continuing to Delivery Value
Sure, you know you need to clean up the lousy codebase that's falling apart at the seams, but how are you going to figure out what to fix, how to fix it, who will fix it-and how you'll get that done while meeting the other commitments of continuing to deliver new value to your customers? We'll discuss figuring out business's goals and priorities, then look to codebase metrics, defect rates, and source code churn in order to determine what areas of the codebase to work on. Armed with that information, we'll talk about different ways to negotiate getting technical debt paid off while meeting your larger goals of continuing to ship value to your customers. This talk won't cover best practices (BECAUSE THERE AREN'T ANY) nor will it attempt to convince you there are simple fixes to an unhealthy codebase. What you WILL leave with are ideas on how you can approach creating a strategy for your current situation.
10 Things to Make Your Site Faster and Make More Money Today
Web sites are fat and slow. Study after study shows a direct correlation between performance and sales. Slow line of business applications negatively affect worker performance and quality. Despite these facts most developers ignore simple things to make the web go faster. Development teams need a performance first culture, not a ""we'll get to it if we have time attitude"". Most web sites rely on too many resources, too much data and respond slowly at run-time. But performance optimization is more than just optimizing resources, and has little to do with the server, performance is about responding quickly in all phases. This session reviews 10 simple things you can change about your web site and development workflow today to shave seconds off your application's load time and run-time responsiveness. These techniques are simple to implement and demonstrate how easy it is to make performance a feature in your development team, making stakeholders much happier.
A Swift Introduction to Swift
Swift is an exciting new language introduced by Apple during WWDC 2014. Taking cues from modern languages such as Rust and F#, Swift is a refreshing replacement for the aging Objective-C language. Swift's playground environment makes it easy to quickly play with the language and is the tool of choice for experimentation. This session will bring you up to speed with the Swift language through live code demos inside of a Swift playground. You'll leave with the knowledge needed to tackle iOS and Mac applications using a brand new language.
BDD with Cucumber in .NET with SpecFlow
A key concept of any Agile methodology is communication. It’s no longer normal or acceptable for developers to sit and develop applications in isolation from the business. To that end, developers and business domain experts have been trying to find better ways to communicate. While developers tend to speak in terms of “code and technology” most business domain experts are more comfortable communicating in terms of scenarios, workflows and business rules. Test Driven Development (TDD) was the first step in getting these two groups to communicate in the same way. Developers could write unit tests that expressed business requirements with the hope that business users could validate that what was being tested was in fact what the desired behavior was. But, unit tests are still code and while it was better, the communication was still stilted and inefficient. To help this communication new techniques such as Behavior Driven Development (BDD) and Acceptance Test Driven Development (ATDD) have become popular. Along with these new ideas, new tools like SpecFlow have become popular as a means to express unit tests in a way that the business can better understand and validate. This session will demonstrate how SpecFlow can be leveraged in your BDD or ATDD practices. The Gherkin language and the “Given, When, Then” paradigm will be explained and you will see how to write tests in a way that business users are not only capable of reading, but can also help you create them.
Building Web Apps with Grunt and Bower in Visual Studio 2015
Cloud on Lockdown: Securing Line-of-Business Applications in the Cloud Age
In the past, security has been a secondary concern when designing Line-of-Business (LOB) applications. This is because it was usually safe to assume that the application would be contained entirely within the business network and on company hardware, locked safely behind layers of security. When moving to a hosted cloud solution, however, developers and architects must consider new risks. While well known to web developers, these threat vectors can have far greater consequences when building an application that runs (and potentially exposes) your business. This session will demonstrate threat modeling techniques for cloud LOB architectures, and will present solutions for the most common, and most dangerous threats. Where security is concerned, there is no golden hammer, but this session will put many more tools in your chest.
Coding with a Baby (Lessons learned from a developer with small children)
Now you have done it...you and your spouse created a tiny human. Despite all the software you have written, the child will be your greatest creation. Did you know there are apps to track your child’s every sleeping and waking moment, as well as groups of apps which integrate to streamline your daily workflow, so you can spend more time with your family? Come and learn how a developer can survive having a baby with tips, tricks, and technologies to ease the transition into parenthood.
Designing with C.R.A.P.
Let's face it: the choices that designers make on a daily basis often seem completely arbitrary to developers. Typefaces, colors, and layouts are apparently plucked out of thin air. Why those ones? Who knows! There's a general impression that you have to be "artsy" and "gifted" to be a designer. While I'm sure that helps, the fact of the matter is that designers aren't pulling this stuff out of the ether. In fact, most design choices can be boiled down to four basic design principles. Together they're known (affectionately) as C.R.A.P., and just being aware of their existence will help you make better design judgements no matter where you rate on the dev-to-designer continuum.
DevOps: What It Is, What it Isn't, and Why Coders Should Care
DevOps is a lot of things. It’s also not a lot of things, and the differences can lead to confusion and incorrect assumptions. DevOps is related to Agile, but it’s not the same thing as Agile. It needs tools, but the tools are just a part of the story. DevOps is a cultural shift, a methodology, an operational philosophy, and a metaphor for software delivery. It’s only about five years old, so it’s still toddling around development teams, management meetings, and executive boardrooms, attracting attention with every conversation. The DevOps meme is about to go hype-rsonic, as Agile did about ten years ago. When that happens, you’ll want to have a good idea what it is, what is isn’t, and why you and your company should care. This presentation will cut through the hype and boil DevOps down to its bare essentials. I’ll talk about what DevOps is and the value it offers. I’ll dispel a few common myths, and demonstrate resources for supporting DevOps Transformation in your organization. DevOps means different things to different people, so we’ll talk about how to communicate DevOps concepts to various enterprise stakeholders. When we’re done, you’ll be empowered to go out into the world and talk about DevOps, and maybe even help make it happen at your company.
Diagnosing Cancer with Azure Machine Learning
Azure Machine Learning provides an unusual mix of features designed to allow you to easily create "predictions as a service." There is integration with existing Azure data services, including HDInsight, a click and drag visual editor for creating machine learning experiments, and integration with the R language and libraries. The aim is to have a product which allows beginners to get started in machine learning while still delivering the features experts require. Does it deliver? We will build an experiment to predict cancer diagnoses based on observed characteristics of diagnostic imaging. We will also compare what we have built with other systems which attempt to solve the same class of problems.
FIRST Robotics Competition - Real robots, from scratch, no lego or kits!
FIRST Robotics puts on a competition every year where high school teams compete world wide in an all out robotics challenge. The Marysville High School team #3484 will bring the robot that it made from scratch (no lego or kits), demonstrate the challenge and tell you what it took to go from challenge to robot in 6 weeks. Fabrication, wiring, software development, and fun! You may find you want to get involved and help out your local High School with it's team as a mentor (yes it has one, you just didn't know about it).
Forget the big mapper, switch to Dapper
A full-blown OR/M like NHibernate or Entity Framework is not always necessary. Often you will spend too much time learning quirks, battling performance, and struggling with edge cases. Dapper is a "micro OR/M" that was first created for use on StackOverflow.com. Dapper has a small, but easy to use feature set that will race you to productivity. You'll be able to achieve speed comparable to plain ADO.NET without all the extra ceremony. In this session, you're introduced to Dapper, its benefits, and its limitations. You'll see how it's used in real projects and you'll learn why you should start simple with your next data access layer.
Fun Ways to Abuse Free Cloud Hosting Credits
Most of the large cloud providers give away hundreds of dollars in cloud hosting dollars. Anyone with a MSDN subscription gets free Azure credits each month, Amazon offers a year of free-tier hosting, etc. Rather than letting unused credits expire this presentation explores a few fun and useful ideas for ways to put those dollars to work.
Getting Started As An OpenStack Contributor
Nowadays ""cloud"" is all the rage. You've probably worked on or know of an application that is deployed to the cloud. That's great, but why just be a consumer? Why not actually work on the software that *is* the cloud? OpenStack is an open source project for creating and managing clouds. It's rapidly maturing, actively maintained and super easy to hack on. The software itself is almost entirely written in Python. This talk takes a deep dive into how to get started contributing to OpenStack. - We'll see an overview of OpenStack's technical and social architecture - We'll see how to setup a development environment that includes a mini cloud running on a virtual machine - Then we'll walk through making changes and all of the testing infrastructure that is there to support you
How crypto can hurt you! - What you don't know can be dangerous.
Think your data is safe? Don’t be so sure. While crypto plays a role in nearly every system of any complexity, it’s often flawed due to common misunderstandings of how it should be implemented. This presentation discusses common mistakes seen in the wild, such as using the wrong block mode, misusing IVs, insecure password storage, poor key generation, and others. While this may sound like gibberish to the uninitiated, these issues, and how to tackle them will be clearly explained. Useful, practical advice for designing secure systems will be given along the way, making it easier to catch these mistakes before they make it to production - saving time, and protecting companies and users alike.
How Long Will It Take? - A Guide to Software Estimation
"How long will it take?" is something no developer ever likes to hear. Developers don't work in a vacuum though and someone in the business will probably want to do some planning. This talk will start with why you need to be good at estimating and cover some fallacies surrounding estimation in Agile shops. Then we'll discuss multiple ways to perform estimates and the pros and cons of each. You'll leave this talk having a better sense for why estimation is important, tools to make it easier, and hopefully less fear of the word.
How to think in SQL, a set-based mindset
One of the main sticking points for developers when they need to write SQL is thinking about the process the incorrect way. Java, C# and others require procedural thinking for optimization, but SQL optimization requires a different tactic, set-based thinking. In this talk, Kevin Devine, takes you through a number of SQL scenarios that were originally written procedurally and shows you how they were optimized using set-based thinking. We will talk about optimizer decisions like full scan, index fast full scan, index range scan, hash joins, merge joins, nested loops anti semi joins, lazy spool, hash aggregate and more. In addition, we will examine the fallacy of process-oriented thinking for SQL and focus on results-oriented thinking. At the end of this talk, you should be able to look at SQL differently and go home ready to optimize those hard to understand queries.
Ingesting Events at Massive Scale with Azure Event Hubs
Keeping up with the demand of incoming data from today’s systems is a huge challenge. Companies are interested in capturing every click, view, tap, measurement, motion, and thought possible so they can mine it for insight to get a competitive advantage. We are now also seeing systems that have to respond to events coming from thousands, or even millions, of devices thanks to the Internet of Things. Azure’s Event Hubs gives us the architectural scaffolding on which we can build the systems that can address these kinds of event stream-based workloads. You’ll learn where Event Hubs fits in the Azure ecosystem, how it works, and what you can do to get started in your own projects.
It's OK to Talk to Strangers
Tired of job boards and recruiter spam? There’s a better way to manage your career growth. Networking is something that doesn’t come naturally to many people, but it’s a tool that every tech professional should have in their tool belt. In this talk, you’ll learn tips for growing your professional network online and offline. You’ll also learn strategies for intentionally fostering relationships. A good network means fewer strangers, more free lunches, and a better path to finding your next opportunity.
Modeling Your Applications Based on Airport Operations. Yes, even the TSA Part.
If you’ve only spent a small amount of time in an airport, then you may have missed the tight orchestration it takes to get you – and your bags – from Point A to Point B. You seem to go from one line to the next – waiting for your turn to be processed. Getting your boarding pass in one line, x-rayed in another, snacks in another. Each line you stand in is completely unrelated to all the other lines, yet, they each play an important role in the overall process of getting you to your destination. Building scaleable distributed applications has many of those same characteristics. Seemingly disjointed, independent processes that work together to perform a larger function. This talk will focus on the design characteristics of this approach and include some real world examples using Golang, Docker & RabbitMQ – though this technique is tool agnostic. The airport metaphor will be stretched to the limit and there are sure to be some groan-worthy examples.
Wherever you go you see people talking about monetizing apps, websites, blogs, games, and more. But there’s more to it than that. Almost everyone I talk to has a story – they want to create something, quit their job, and live comfortably off of that one thing. But for every one success story there are many who have tried and failed. The good news is that by properly monetizing yourself through increased efficiency and the elimination of “waste”, you too can be a success story. You probably won’t create the next Facebook or Flappy Bird but you can live comfortably, do what you love, and have much more free time.
New Features in C# 6.0
With the release of C# 6.0, Microsoft will introduce many new features intended to improve coding without additional work. Some of these features expand existing features making them more fluid, while others expose expressions from IL that previously were not available. In this session we’ll discuss expression-level, statement-level, and member declaration features.
No More Static Comps: Toward a Modern Design Process
The design landscape is broader now than ever before: apps for devices of all kinds of sizes, smart tvs, game consoles, and a constatnly increasing number of platforms and resolutions have led the industry to broadly adopt responsive design as a tool. However, the design process hasn't really kept up. Too often, pixel perfect static comps are used as the only touchpoint between designers and decision makers; presenting the designs in an out of context and limiting format. What needs to be done is to adapt each step of the design process to convey scaling, device context, motion and interactivity to give a more realistic idea of how the designs work. Case studies and tools for prototyping and creating interactive mockups will be examined, and a discussion of how to revamp current processes for an ever changing design world.
Pinochle, Dungeons & Dragons, and Software Usability
Sure it's great that your software functions, but how is the User Experience? It's easy to forget that usability needs to be just as good as the code, if not better. So what does that have to do with trump suits and slaying goblins? There is a corollary between the stuff you do for fun, and the stuff you do professionally. Designing with a mind for usability becomes a hurdle when absorbed in the details of development, be it code or dice probabilities. The difference is that games don't do anything but get used: a game you can't play is a non-functioning one. Whereas software actually does stuff, and the user's experience is only one small part of a large set of requirements. So we cut corners. This talk uses game design to help describe a methodology for maintaining meaningful usability, and making your software not only function, but have a great user experience.
Real World Design Patterns
Design patterns provide templates for solving the same family of problems in similar ways. They also provide developers with higher level language terms to use to describe approaches to application design or architecture. See several design patterns described and applied to real world problems, and the benefits they provide when applied properly in this fashion.
Remotely Successful - Making it work at a distance
Talent shortages, better quality of life, and rare skillsets. All these are reasons you might run a distributed team, now we'll help you make it work. How do you manage distributed teams? How do you pair? How do you grow? How do you become friends? How can you mentor remotely? How can you manage remotely? Distributed teams face unique challenges in communication, technical growth, and bonding. We'll tackle the hard and soft sides of this increasingly important challenge.
Respons(ible)ive Design, Mobile First
Responsive design is about more than media queries, Bootstrap, and hamburger icons (is it lunchtime yet?). It is about adeptly adapting your content for performance, device, context, and usability. What good is a responsive site if it takes forever to load? Is it a good idea to retrofit your site for responsive design? Should I use a framework and if so which one? What if my true love doesn’t love me back? (Don’t be ridiculous, you’re amazing!) What the heck is mobile first? We’ll answer these questions and more and explore real-world stories, gotchas, design patterns, tools, and sources of inspiration. At least one member of the audience will receive a copy of Luke Wroblewski’s Mobile First and templates for user-flow sitemaps and mobile wire frames will be shared with all.
Roslyn Code Analyzers - Making Your Own Red Squiggles
Harnessing the power of Roslyn, the new .NET Compiler Platform, we're going to take a look at code analyzers, an incredible method allowing you to ship domain-specific code analysis for your API or application. Are you shipping an API via NuGet and want to ensure developers are using it the way you intended? Write a code analyzer! Are you working on a large scale application that has some code "gotchas" that sneak up on people from time to time? Write a code analyzer! Using the Visual Studio 2015 Preview with Roslyn, we'll go over some examples of code analyzers, and take a look at some additional resources to keep an eye on.
Secure Test Driven Development: Brakeman, Gauntlt, OWASP and the Work Still to Be Done
In an increasingly connected world, security has come to the forefront. As developers, you are one of the earliest lines of defense in insuring the website or application you build is not the next one to be compromised. In this talk, we will look at one way we can build a security conscience into the development process and make our applications more secure right from the very beginning. After a brief introduction, we will look at how to use existing test driven development practices to introduce security testing for known vulnerabilities. From there, we will look at the 3 most widely known tools for secure test driven development: Brakeman, Gauntlt, and the OWASP TDD project. This will include demonstrations of how to use all 3 and their strengths and weakness. The talk will conclude with the steps that need to be taken to increase awareness of secure TDD and how the open source community can help build better tools and tests to help us prevent the most common types of attacks.
Six Degrees of Dev'n - How Graph Databases Can Save Your Bacon
So the CSS designer guy, um…”Kevin”, has to organize the mess of style sheets left in the wake of the Dev team’s rush to production. Always the afterthought, Kevin must seek out all places in the app where the CSS files are referenced and figure out how to proceed. He wonders desperately, “How in the world will I succeed when the code base is huge, I’m not a developer, and I’ve never used Visual Studio?” Kevin could use some help. Suddenly, an enthusiastic developer starts rambling about a “System Cross-Reference” and regular expressions and…what’s this?…a “Graph Database”. Ten minutes later, a confused Kevin sits at his desk with at least a glimmer of hope that his job won’t be so hard. Using a real case study as an example, you’ll discover how Graph Databases can be a secret weapon to help your development team get a handle on your stuff. All of it. In this talk, Jeffrey A. Miller demonstrates how Neo4j, a powerful graph database, can be used to model critical parts of an application and the processes that surround it. Using Neo4j’s compelling visualizations and the way-cool CYPHER query language, you’ll see how you can model the connections between the stuff your team cares about, the stuff you’ve completely forgotten, and even the stuff you never even saw coming. Imagine connecting work items to test cases to code artifacts to team members and deployment environments. Find answers to important questions, like: “If I change this code, what could I break, and what will QA need to retest?” “This CSS is a mess! Where are these files used in the app?” “We need answers about feature X. What developer worked on this? Who can answer my questions?” You’ll see how you can tame the chaos and use graph databases to model the way out.
Taking Responsive Design to the Next Level with Contextual Design
There’s more to Responsive Web Design than just scaling content and changing layout. Todays’ users expect a more personalized experience. Contextual Design focuses not only on the user and the user’s device but also on their location, social graph, loyalty and connectivity. Incorporating these enhancements in your web apps will help lead to personalized products and services, better conversions, additional measurement points, a more performant website, and overall better customer satisfaction. This interactive presentation goes beyond the common perception of Responsive Web Design, with the goal of showing you how to create context-based experiences for your users. We will work together through great examples of contextual design, and discuss how to create a great experience while dealing with the limitations, restrictions, and capabilities of devices, browsers, and users.
Testing Web Services
This session will cover various tools, frameworks and techniques for testing Web Services. We will take the open source SoapUI, JMeter and REST-assured for a spin, and learn how they can be used for smoke testing, load testing, performance testing, acceptance testing, probing and mocking Web Services. Examples will include SOAP and RESTful Web Services using XML and JSON. Some general tips will be provided on Web Service development. There will be some code examples in Java, but the session should benefit anyone struggling with Web Service testing.
The Smartwatch revolution!
Apple Watch is around the corner. Wearables are definitely the way of the future. In this session, we will start by looking at a history of wearables and how history has shaped their future and uses. We will take a look at the fascinating applications in which wearables are being used. Next, We will look at a smart watch platform that boasts of the largest collection of apps (2000 plus) written for it : The Pebble Watch (www.getpebble.com). We will create a Pebble App that allows us to browse StirTrek sessions and speakers. We will also create a companion iOS app that allows us to tag our selected session and demonstrate the interactivity between the Pebble Watch and the iPhone. Finally we will create an apple watch app that functions similarly to the Pebble Watch app. Code will be provided for each of the apps.
Using CSS Flexbox: How to craft responsive layouts without grid systems.
Since its inception, CSS has not handled combined vertical and horizontal layouts in an efficient manner. As developers, we started with tables, then graduated to floats and positioning, and then to grid systems. The mobile internet introduced even more complexity in our layout world, adding in media queries, polyfills, etc. In 2011, the W3C CSS committee introduced the flexbox specification, meant to allow for fully flexible horizontal and vertical layout management that works logically in multiple resolutions, without media queries. 3 years later, flexbox is finally becoming a mainstream solution. However, it isn't simple to use--there are undocumented 'quirks' that will frustrate even the most experienced CSS expert. As a User Experience Designer and UI Developer at Cardinal Health, Mike Earley has been using CSS Flexbox in Cardinal's commercial applications for over 2 years. He has successfully implemented it in applications that were already using alternative layout systems, and has also built an application's layout structure using flexbox from the start. The session will cover the basics of the various flexbox properties, and then delve into detailed layouts involving flexbox--i.e. a full administration application's layout. The session will touch on some of the hidden concepts in flexbox, like the flex 'line', which is an undocumented 'feature' of flexbox.
Wile E Agile: Catching up with quality
Ever feel like your agile development team was a step behind? Has careful planning blown up in your face like an ACME rocket? Are you losing the race with the quality roadrunner? This is the story of Manta's two-person test engineering team and how we ditched ""traditional"" agile methods for even faster processes. Full regression test suites, bug cards, and feature branches were holding us back. We needed to be faster than that roadrunner, so we sped everything up to 100 MPH!
Yes and! How lessons from improv comedy can help your development career
A developer walks into a bar. Then he leaves because it’s full of people and people are scary. Developers are not known as the best communicators in the world. Yet from entry level to the corner office, communication is the key to success. This talk will show you how a few simple ideas from the world of improvisation, like “Yes, and,” and “Never deny!” can make communicating a little less scary and a lot more productive.
You too can have a smart home and not take out a second mortgage for it.
The idea of smart home is is just that for most, an idea. Having someone professionally install the components for a smart home is (for most) prohibitively expensive. Doing it yourself is a daunting task, but if you're willing to invest the time and energy you can transform your home into a smart home. Breaking down the technologies involved and the method the speaker used transforming his own house, attendees will learn what is possible on a modest budget in the area of home automation. You will be (virtually) taken into the home of the presenter as an interactive demonstration will walk you through what was done and how it was accomplished with live video showing real-time interaction with a system on the other side of Franklin county. Perhaps most importantly many of the pitfalls to avoid and mistakes that were be made will be discussed so perhaps you can learn from the many hours of trial and error that allowed the speaker's dream home come closer to reality.