Milwaukee Code Camp 2015 - 10/24/2015

All You Need Is Fold

Using the work of Dr. Graham Hutton as our guide, we'll look at how to satisfy all of your list processing needs with one function, fold. First we'll start off simple by finding the length of a list, then we'll reverse a list, followed by and-ing and or-ing a list; all using fold. Next we'll look at implementing the higher order functions of: map, filter, and zip. Last we'll look at fold in action by using it on the Coin Changer kata. You'll never look at fold the same way again.

(Fold, fold,…
Beginner : functional programming JavaScript ECMAScript 2015 es6 lodash

Amazon Echo, What I Can Do With Windows 10 IoT Devices?

The future that you have dream of is here! We have the technology. We have the capability to make anything we touch come alive. We can make things better... stronger... faster... smarter... more responsive... We can tell Alexa and Cortana to play music, give us reminders and better yet, become interactive with the rest of the household. In this session, Lwin (and Min) will show you how to have Alexa (Amazon Echo) and Cortana (Microsoft) control lights in your house, take reminders, play music an…
Beginner : Alexa Amazon Echo Windows 10 Windows 10 IoT

Android 6.0 Marshmallow: What You Need to Know

Android 6.0, codenamed Marshmallow, was officially released on September 29th and will be rolling out to devices in the next few months.  What do you need to know? Why should you care?  While Marshmallow seems at first glance to be a minor update, a number of features are being introduced that will improve users' experiences with the phone.  Come hear how permissions have changed, how "Doze" will improve your battery life, and how SD cards have become useful once again.
Beginner : android marshmallow mobile

ASP.NET 5: Someone Moved Your Cheese

With the release of ASP.NET 5, Microsoft has made great strides in creating a very modern and powerful platform for web developers. They've embraced open source tools like grunt and NPM, and brought ASP.NET into the cutting edge of web development. 

These new features come at the cost of moving some things around and changing how some familiar features of ASP.NET worked before. In this session, I'll walk you through those changes so you can use them to your advantage instead of having them fe…
Intermediate : mvc web html javascript css mvc gulp grunt npm less sass

ASP.NET MVC UI Recipes: Build Better Interfaces With Less Code

Who doesn’t want to get more done in less time? ASP.NET MVC gives us an excellent toolset for building web applications. Unfortunately, due to it's rapid evolution, good documentation is hard to find. However, using some simple techniques, you can build user interface components that can speed up development while maintaining a clear separation of concerns. In this presentation, we’ll learn how to build custom validation, HTML helpers, and templates. We will also explore some of new ways to buil…
Beginner : ui ux mvc vnext web

Build a 2D Game With Construct 2

Construct 2 is a powerful 2D game development tool that allows you to quickly create 2D games for various platforms without writing any code. Construct 2 requires no programming knowledge of C# or Visual Basic. Construct’s graphical environment allows developers to build a rich 2D computer game without writing code. In this session, students will learn how to use Construct2 to create a game; how to export their game to a Windows project; and how to submit that game to the app store.
Beginner : game 2D fun construct

Building Isomorphic JavaScript Applications with React and Node.js

"What if I told you, that you can develop a web application using React and Node.js... and have the same JavaScript components be executed on the client *or* the server?" -Morpheus, "The Matrix"

Welcome to the future of web application development and it’s called Isomorphic JavaScript Applications.

Isomorphic JavaScript Applications allow you to have shared JavaScript that runs on both the client and the server. This brave, exciting new world offers up endless possibilities that can help e…
Advanced : Web javascript node.js SPA react isomorphic

Building software products in a weekend (really!)

A programming language agnostic talk about methods and strategies that you can use to get a Minimum Viable Product out of the door quickly for your business or side-project. No more procrastinating or adding "just one more feature," this talk will show you how to release a MVP sooner so that you can validate your product. 

- How to boil your idea down to a Minimum Viable Product (MVP).
- Time-saving development tips that work for any language.
- Valuing yourself based on your end product, n…
Beginner : side-projects startups minimum viable product

Civic Hacking: We Can Do It!

Civic hacking is a new trend that is bringing people together to work on projects that can benefit the places where we live. Learn more about what civic hacking is, the civic hacking scene in Milwaukee, civic open data sources, and how you can get involved!
Beginner : civic hacking government non-profit open data milwaukee people entrepreneurship developers

Coding for Continuum

Windows 10 opened up a whole slough of new technologies, but the coolest, and most game-changing of them all, is Continuum. Learn exactly what Continuum is, and how you can leverage it in your own apps. Continuum allows you to let your app react to the changing environment of the hardware it runs on. From multi-form factor tablets to phones that can run desktop sized apps when docked, and even handling users that re-size their windows like a three year old on an espresso, you'll learn how to do …
Intermediate : Windows10 Continuum Client Desktop Mobile

Cryptography 101

Learn the "black art" of cryptography, including public/private and symmetric encryption, hashing, and digital signatures.  Review the basics of cryptography and what techniques are appropriate for various situations.  Discover practical techniques for securing content received on public web sites.
Intermediate : Security Cryptography .NET

Diving into AureliaJS

Aurelia is a new, upcoming JavaScript framework from Durandal that is written in ES6 and ES7 that can run in ES5. Aurelia attempts to do more with less to ease the learning curve. It supports two-way binding, custom HTML elements, template generation, routing, testing, and more! This talk will go over what Aurelia is, why it isn't just another JavaScript framework, and dive into code so you can get a feel for it.
Beginner : Javascript; Aurelia; ES6; Durandal; SPA

Everybody Into The Pool! Node.js For .Net Developers

It seems like Node.js is showing up everywhere these days. It’s a hot topic at user groups, Microsoft supports it in Azure, heck, even people at your day job are talking about it! Why not get your toes wet and discover what all the talk is about? In this session we’ll cover what exactly Node.js is and why a .NET developer would want to learn it. Then we’ll turn our attention to how to install and use it within Visual Studio. After the obligatory Hello World, or “Look Mom, I Can Swim” app, we’ll …
Beginner : .Net Node.js Cloud npm javascript

Extending Visual Studio and Making It Work for You

Did you know there's a Visual Studio SDK? By now everyone's heard talk of the .NET Compiler Platform ("Roslyn") but there's also a world of other extensibility points in Visual Studio. Templates, menu commands, tool windows, and even customizations to the editor itself can all be tapped to add new functionality to keep you in the IDE and save time. There will be lots of demos to show off some of the features and we'll finish up by talking about getting an extension in the Visual Studio Gallery s…
Beginner : Visual Studio

Fiddler and Your Website

Fiddler is a great free tool for monitoring HTTP traffic between clients and web servers.  It is extremely helpful for troubleshooting web sites by easily identifying common problems, and can be used to pinpoint precisely where issues are in a complex web site.  Archives of web site interactions can be sent to other developers, operations, and third party companies for evaluation, including embedding screen shots.  There are many features that can be used to verify web performance best practices…
Intermediate : Debugging Web Fiddler

I can do WHAT??? with Salesforce

Learn how you can deliver MVP in minutes by leveraging the Cloud platform.   This demonstration will walk you through creating a simple reservation system and bring to light what can be done with Salesforce beyond managing sales.   Warning: this will involve actual development.   Feel free to bring a laptop and play along because I'll show you how to create a free developer account.  Slide Deck:
Beginner : SFDC MVC Cloud Web Development

Intro to Erlang for the Object Oriented

Want to take a peek at what all the functional fuss is about? Learn the basics of Erlang, the language behind RabbitMQ, Riak, and WhatsApp.

If you've programmed most your career in an imperative, C-family language, you're missing out on lots of declarative, functional fun! Join us for a whirlwind tour of Erlang as we explore the basic syntax and tools and build the most concise and readable recursive functions you've likely ever seen. We'll look at the foreign syntax and patterns of functiona…
Intermediate : Erlang Functional Intro

Intro to Microsoft Azure Machine Learning

Have you ever looked at recommendation engines and wondered "How on earth do they know I'd like that? Is the NSA involved?" Have you ever asked why you keep getting mailers from Pier 1 Imports even though you live alone with your mom? Many of these types of data processes are handled through machine learning algorithms. Basically, programs that teach software how to predict the future.
It used to be that only big Fortune 500 companies and grad students were able to play with machine learning. T…
Beginner : machine learning azure prediction analytics

Introducing Tournavation: A Social Innovation Campaign for Milwaukee’s Public Heal…

Most of us are proud to call Milwaukee home, with all its amenities, beauty, activities, and proud heritage.  However, it’s hard to ignore the fact that Milwaukee ranks as the 9th most impoverished city in the country with almost 1/3 of its adult residents and 43% of children under the age of 18 living in poverty.  Poverty that leads to a litany of social problems from education to having one of the nation’s worst health matrix, which is directly reflected in Milwaukee retaining one of the natio…
Beginner : Volunteering Community Philanthropy Social Innovation Development Charity

Introduction To Azure Development

Microsoft Azure. You've heard of it, thought about it, but didn't know where to start. Azure is a cloud computing platform, that provides flexibility to imagine, construct, and deploy a wide variety of solutions. What does that even mean? It means Azure is so big, 500 features were developed as part of new and existing services within just a single year. This session will take a developer perspective on getting started and using the Azure platform with one purpose; distill it down to the basics …
Beginner : azure cloud microsoft web data storage development

Introduction to Elixir

Elixir is highly concurrent, fast and easy to develop in. Quickly go from MVP to being able to scale to thousands or millions of users. This talk will give an overview of what Elixir is, and how you can use it to make your next application fast and dependable.
Beginner : elixir functional programming web

Introduction to HTTP/2

Web developers are told that hacks like resource inlining, domain sharding, and image spriting are best practices for improving website performance. But these hacks are just to work around the limitations of an aging protocol. Although HTTP/1.1 has served the world fairly well for the past 15 years, changes to the way in which we use the Internet have pushed this protocol beyond what it was designed to do. The HTTP/2 specification addresses many of these limitations, while also making better use…
Beginner : http http/2 protocol specification

IoT - Exploring and navigating the New World

It's hard to not notice all the buzz around IoT and the Maker Movement today. With so many MCU's, potential OS's, and language and development tools, getting started can seem overwhelming. Yet, if you consider yourself a discoverer or an inventor, there is no field of IT that offers more options and more exciting potential.
This session will help you over the first hurdles and give you the confidence to blaze your own trail. We begin by looking at some of the available development systems (R…
Beginner : IoT MCU Sensors Electronics Hardware Inventor Designer

IoT Hands-On Lab

Tired of just IoT hype and theory? Are you ready to build, explore and discover?  The IoT Hands-On Lab is meant for you.  Whether you’re just getting acquainted, want a little boost from the community on your current project, or you’re an accomplished explorer, drop in to test your metal and connect with others who share your IoT interests.  Several of the MCU boards (Arduinos, Raspberry Pi, CubieBoard, and others will be available for your experimentation, but if you have a board and project, f…
Beginner : Hands-On Lab IoT Arduino RaspberryPi

Isn't It Ionic? Building hybrid mobile applications faster with the Ionic Framework…

Hybrid mobile applications are allowing teams to leverage their team’s web skills and build cross platform applications quickly. Most teams are using Cordova with AngularJS/BootStrap. However getting a new project ready and getting the application into the hands of testers are still slowing them down. Find out what the Ionic Framework is and code along as we build a business app in a single session.

JavaScript Task Runners for the ASP.NET Developer

The popularity of JavaScript has exploded in recent years, and Microsoft has responded. With the release of Visual Studio 2015, ASP.NET developers are exposed to a significant modern web tooling overhaul. One such tooling enhancement is the inclusion of JavaScript task runners; and, a few of the open source community’s most popular task runners, namely Grunt and Gulp, have become first-class citizens in the IDE. In this session, you’ll gain an understanding of the role a JavaScript task runner p…
Beginner : javascript taskrunner opensource grunt gulp visualstudio2015 vscode

Live Coding Music

Music is all around us. We listen to it in our cars, while we exercise, and while we work at our computers. Lots of people listen to music, but not as many create music. Creating music is now as easy as programming.  We will take a tour of a few different live coding environments for music and along the way learn a bit about live coding, algoraves, and how these environments are constructed.

Presentation materials have been published to:…
Beginner : music coding live creation art

Model-View-Whatever: A Comparison of JavaScript MVC/MVP/MVVM Frameworks

It seems like there is a hot new MVC/MVP/MVVM framework for JavaScript every few days. You've probably heard of many of them, but which one should you use for your project? 

I'll take you through several popular and important options and help you compare and contrast them. When you leave, you should feel more comfortable telling your boss which framework you should use for your next project and--more importantly--why.
Beginner : mvw mvvm mvc javascript framework angular knockout Backbone Ember React

Rapid Application Development With the Appcelerator Platform

There are many choices out there for Hybrid Mobile Application development frameworks. This sessions serves as an introduction to the Appcelerator Platform, which allows users to build native mobile applications using XML, vanilla JavaScript, and CSS-like stylesheets. You will learn more about the framework itself and who uses it, along with seeing a demo of an Appcelerator app in action. 
Beginner : hybrid mobile.development appcelerator javascript introduction platform demo framework

Round Table: Milwaukee's Innovation Eco-System (Tentative pending speaker availabi…

Milwaukee's Innovation & Entrepreneurship eco-system is growing.  Developers, Designers, and Interested Others are moving innovation and entrepreneurship forward in our city.  This round table discussion will feature a conversation in one of UWM's innovation spaces. Feel welcome to bring your lunch to this round-table discussing being a developer, designer, or interested other fostering innovation, entrepreneurship, and development of the Milwaukee innovations eco-system.
Beginner : innovation roundtable

Ruby on Rails - Building a Blog with User Authentication in No Time

We will go over the basics of What is Ruby and Ruby on Rails ? And transition to building a blog using Ruby on Rails with user authentication. This session will focus on harnessing the powers of the Ruby on Rails framework and finally an easy way to deploy a Rails application to a public domain.

We will start with installing Ruby and Ruby on Rails on the local machine. Then, proceed to building a small version of a Blog application (CRUD based) with a Sqlite as the backend database. We will a…
Intermediate : blog ruby ruby on rails javascript html css heroku authentication MVC

Static Website Generators

Fun with Static Website Generators. Static Website Generators cans create speedy, secure websites and even include version control for content. In this session we will examine Static Website Generators, compare and contrast Static Website Generators with dynamic sites and content management systems, and then discuss the pros and con of using Static Website Generators. Next will discuss how Static Website Generators work create a site. Demos will include the Static Website Generator built into Gi…
Beginner : static web generator speed github ruby node .net

Taking Full Advantage of Android Java Libraries in Xamarin

During this talk, we will create a simple Xamarin Android project. We will then take a Java library and bind it to C#. Binding a Java library to C# will allow developers to use libraries written in Java for Android in their C# Xamarin applications. Since most Android libraries are written in Java, this can be a very useful tool. The project will instruct users on this process, as well as some of the tips and tricks that I have found through my experiences in creating these bindings.
Beginner : android xamarin

Using Instrumental Objective C Libraries in Your Xamarin iOS App

During this talk, we will create a simple Xamarin iOS project. We will then take an Objective C library and bind it to C#. Binding an Objective C library to C# will allow developers to use libraries written in Objective C for iOS in their Xamarin applications. Since most iOS libraries are written in Objective C, this can be a very useful tool. The project will instruct users on this process, as well as some of the tips and tricks that I have found through my experiences in creating these binding…
Intermediate : ios xamarin

Web Performance Quick Wins

Guess what? People are impatient. We all want the quick fix. We don’t want to wait - especially for a slow website!  But what can we do to speed up a site, quick, without blowing the timeline into next year?  Join Dirk for a session on where to focus your dev efforts for the best bang.  Look forward to tweaking some HTTP Headers, web.config settings, CSS and JS. Keep your users happy, and your boss happier. Well, until they get used to the speed and want it faster…
Advanced : http cache optimization speed render css javascript throttling testing IIS svg srcset gzip image compression gulp

Writing Your First Angular Application

Angular is a JavaScript framework that allows you to build dynamic, testable single page web applications. It provides data binding, controller logic, and separation of concerns. In this session, you will learn how to get started creating a simple application using Angular. I will cover data binding, controllers, directives, views, and services. I will walk you through the creation of an Angular project.
Beginner : angularjs javascript spa dynamic binding SoC web http framework

Previous Years