Generating RPC Services

Protocol Buffers allow us to generate the boilerplate portions of our application in a type-safe manner. Generating our code into RPC services allows for the reduction of boilerplate code that needs to be written and maintained by a developer; some examples of this are the HTTP/RPC routes, JSON/YAML encoding, instrumentation via metrics/logging/tracing.

Using the same Protocol definitions, we can generate our client SDK’s for making calls against our generated server. Based off the Protocol definitions, I will show all the utilities that can be generated for working with the RPC server:

  • Client SDK’s (C#, Go, Java, C++, PHP, JS, etc.)
  • Swagger specification for HTTP clients
  • API Documentation

Included with the service generation will be an observability layer that allows us to collect metrics, logs, and trace information about the health of our application as requests flow through the generated code base. To output this information, we’ll export our metrics and trace data into a Prometheus and Jaeger instance to demonstrate the observability layer that comes along for the ride.

Alex Ninneman
Speaker: Alex Ninneman

The New Science of Winning

Data Science! Data Science… Data Science? With the amount of electronic data exceeding 2.7 zettabytes (1 with 27 zeros) and cloud computing; we can now efficiently process large amounts of data and transform it into information for competitive gain. So, what is Data Science exactly? Who are Data Scientists? How can it be applied to my company?

In this talk we’ll explore the Data Science field, utilize statistical approaches to analyze data from a loan company, define a model, and train the model with a subset of the information provided – supervised learning.

Ben Anderson
Speaker: Ben Anderson

Real-Time Data Analytics with Microsoft Azure

Don’t wait until it is too late, analyze data in real-time. Take advantage of machine learning to notify you of problems before they happen. We’ll use Azure Stream Analytics to feed data to Power BI and give us the opportunity to analyze the data for anomalies and visualize the data as it happens.

A stream analytics solution will be demonstrated that records the CPU percentage and available memory of a laptop and displays this data in Power BI in real-time. Machine learning anomaly detection will also be utilized that can alert a user when “weird” data is seen.

The following Azure technologies will be demonstrated Event Hub IoT Hub Stream Analytics Functions

Brett Jensen
Speaker: Brett Jensen

The Spirit of Agile: Looking Beyond the Methodology

Agile has never been as popular, or as confusing as it is right now.

Let's take a look beyond the "rules" of Agile and instead talk about the spirit of it. We'll explore what Agility really means, how to embrace an Agile mindset and how to overcome many of the pitfalls that make up our Agile experiences.

Agile was meant to make the lives of Engineering teams easier, but as it has grown into its own monster it has caused much confusion and suffering. It doesn’t have to be that way. If we look past all of the “rules” that have been established in the Agile world we begin to see the intent, and the intent of Agile is still as helpful as it has ever been. We’ll take some time to chew up the meat and spit out the bones.

We'll discuss:

  • The Agile Manifesto and Principles
  • Embracing an agile mindest
  • The roadblocks that stymie success with Agile
  • How to overcome those roadblocks
  • How to distinguish the spirit of Agile rather than the rules"

Catch a Tailwind and turbo power your stimulating Rails apps

We all want to build cool projects, but we can’t all be master every project space. Also we should ask ourselves, should we master it all? Does my project need to be a rails api and vue front end? What is our overall goal when making a project? As a developer it should be easy to support, maintain, and extend. As a user, it should be so easy to use I dont have to ask questions. While these are our ambitions, the more we separate our architecture, the harder we make out apps to support. While this talk is aimed more at Rails developers, it is not Rails specific.

This presentation does not aim to replace React or Vue (or whatever comes next) but aims to present a middle route of how apps can be built using great javascript tools, but staying within the main web framework.

Charley Stran
Speaker: Charley Stran

Getting started in Bug Bounty

Whether you are a quality analyst or a developer, learning about security is more important than ever. We need more developers to enter the world of AppSec. What better way than to explore the exciting world of bug bounties.

Getting paid for finding security vulnerabilities and making the Internet safer at the same time. Come with us as we discuss what it takes to start hunting for bugs in some of the Internet’s largest software platforms.

Daniel Zajork
Speaker: Daniel Zajork
Mattew Zajork
Speaker: Matthew Zajork

Video Game Development: How & What to Learn

After one semester working through the textbook “Building Java Programs”, I tried to build a video game.

Looking back at it now, the struggle was hilarious!

While taking summer classes outside of my major, I decided to practice my newly-acquired and yet infantile skill, by attempting to build what I thought was a small but simple video game - a text based game.

I knew I didn’t know much, but I also didn’t know what I needed to know. Instead of doing any research, I went and bought books on C++, and once I felt comfortable manipulating arrays and I had recreated all of the Java homework problems in C++, I went and bought books on HTML5, and then also Javascript.

I learned nothing but syntax.

I have a “What I wish I had learned and in this order” handout, that I think may help those who know already know a programming language, but don’t know where to even begin to make a game like Skyrim. But the pattern is very generalizable, and if someday, after one of your video games has thousands of downloads, you want to make a robot, then you could make your own “What I need to learn and in what order” handout.

Persuasion: Getting Your Tech Widely Adopted

Brilliant developers, project managers, and IT professionals build tools perfectly suited to their users. So why don’t those users use them? In this talk, you’ll learn new ways to frame your discussion of your technology to make your users excited about the tool you’ve built to help them.

It’s frustrating when you’ve poured your creative energy into a tool that solves a problem for your users, but they don’t buy in . You know your users - they turn to you for help with their information problems, and you have the analytical skill to find solutions for them. So why is it so hard to get them on board with a new piece of software or hardware? As a developer, I found that subtly changing the way I talked about the exact same software led to way more progress with my users. Learn ways to get stakeholder buy-in using lessons in persuasion from entrepreneurship.

I pwnd your system, but I won't bill you for that.

Independent contracting isn’t easy. Managing your own schedule can be difficult, let alone managing client expectations.

This is a story of how I was hired to do a short job, and promised better functionality. But instead I discovered, proved, and fixed a glaring MySQL injection exploit.

This talk will mostly be a kind of parable about working with clients as a contractor or consultant. I will be prepared with all the technical details of the SQL injection and talk about my trial and error fumbling around while proving the issue.

This talk will probably be at least 60% anecdotal experience from independent contracting, and about 40% technicals, security, and exploitation (if the audience seems into it).

Navigating React Functional Components & Hooks with Mapbox

With the release of React 16.8, there is a push to use functional components and hooks over class based components. Why should you make the change? Hooks make it easier to reuse stateful logic between components and simplifies complex components.

This session will walk through creating a class based React application and adding a map using the free Mapbox API. We will then convert the application to use functional components with hooks to persist state and lifecycles.