This is the sessions from Code Camp San Diego that was held on the weekend of 6/27/2015

We hope you enjoyed this Code Camp and will join us for the next one.

74 sessions


Escaping Dependency Hell


Level: 200
Joao Braganca

Ever seen "Msvcrt.dll Not Found?" Or agonized for hours over "The assembly reference did not match the assembly definition found?" The root cause is the same: shared dependencies. Shared dependencies are brittle. We will go through the history of shared dependencies and present one strategy for getting rid of them.

Tags: SOA | owin | microservices
Interested: 0


Getting your feet wet with OpenElec and the Raspberry Pi, Part 2


Richard Rosenheim

This is a continuation of the first session of installing and configuring OpenELEC, an open-source media center, on a Raspberry Pi by adding a TV tuner and enabling support for viewing live over-the-air broadcasts. 

Tags: Raspberry Pi | openelec
Interested: 2


Raspberry Pi 2, Win 10 IoT Core and Azure


Bret Stateham

Learn how to get Started with Windows 10 IoT Core on the Raspberry Pi and how to push data up to Azure Event Hubs!

Tags: Windows 10 IoT Core | Raspberry Pi | IoT | Azure
Interested: 34


Have Fun with Task/Async/Await


Level: 200
Bill Xie

This session will walk you through some fun aspects of .NET Task/Async/Await with demo codes. It will deepen your understanding of task/async/await and understand what and where the traps and pitfalls are. I will also discuss some best practices on how to take advantage of asynchronous programming. 

Tags: TPL | task | await | Async
Interested: 30


Chrome Developer Tools


Level: 100
Abhi Jain

Abhi Jain is a .NET developer and enthusiastic blogger:

Check out: www.abhijainsblog.com

Tag: MVC
Interested: 45


Azure Web Jobs: web services on steroids


Level: 200
Rob Richardson

Have you ever needed just a bit longer to finish a task than the browser or your users allowed?  Did you ever setup a monitor service to hit your app at midnight just to kick off the nightly reports?  Azure Web Jobs make it drop-dead simple to get an off-line data processor or a scheduled task runner to run these critical jobs.  We'll live-code through a Hello World Azure WebJob, and we'll build up to a job that drains a queue and runs on a schedule.  We'll also look at the immensely helpful debugging and task output details in the Azure portal.

Tags: Webservice | WebJob | C# | Azure
Interested: 19


JavaScript Testing in Node, the Browser, and CI


Level: 200
Rob Richardson

Let's dig into JavaScript testing both in Node and in the Browser. We'll look at how to get started testing with Mocha and Chai, and how to run tests both locally and as part of a CI system. We'll also briefly discuss other test harnesses, assertion libraries, and mocking frameworks such as Jasmin, Sinon, and Proxyquire. Testing gives you peace of mind and reduces risk both as you create your code and as you migrate and maintain it.

Tags: Testing | JavaScript
Interested: 44


Getting your feet wet with OpenELEC and the Raspberry Pi, Part 1


Level: 100
Richard Rosenheim

In this session, we will install and configure OpenELEC on a Raspberry Pi, getting the basics of OpenELEC working.

OpenELEC is an open-source media center.  It is Linux-based and is built upon the Kodi (formerly XBMC) media player.

The Raspberry Pi is a small (about credit card size), low-cost computer.

Tags: Raspberry Pi | openelec
Interested: 17


Clean Code III - Software Craftsmanship


Level: 100
Theo Jungeblut

All 3 Clean Code presentations provide great value by themselves, but taken together are designed to offer a holistic approach to successful software creation. This first session creates the foundation for the 2nd Clean Code presentation on Dependency Injection, as it explains expected base knowledge. Why writing Clean Code makes us more efficient Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs.

 

The Craftsmanship session is exploring the often underestimated importance of clean execution of the coding part and its crucial impact to overall project success.

 

You will learn why naming is really difficult if done right, why coding and style guidelines are crucial, code structuring, exception handling and why other elements of coding often define the tipping point between success and failure of projects. We will also quickly review tools in Visual Studio which help you automate some of this work.

 

This presentation is based on C# and Visual Studio 2015. However, the demonstrated best practices can be applied to every other programming language too.

Tags: Software Craftsmanship | Productivity | Coding Guidelines | Code Style | Clean Code | C# | Best Practices
Interested: 24


Clean Code II - Cut your Dependencies with Dependency Injection


Level: 200
Theo Jungeblut

All Clean Code presentations provide great value by themselves, but taken together are designed to offer a holistic approach to successful software creation. This first session creates the foundation for the 2nd Clean Code presentation on Dependency Injection, as it explains expected base knowledge. Why writing Clean Code makes us more efficient Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs. The Craftsmanship session is exploring the often underestimated importance of clean execution of the coding part and its crucial impact to overall project success.

 

We will dive into the basics of Inversion of Control (IOC) and Dependency Injection (DI) to review different ways of achieving decoupling, using and exploring both: Best Practices, Design and Anti Patterns.

 

This presentation requires knowledge and understanding of basics like DRY, SoC, SRP, SOLID etc. which are building the base for decoupled architecture. However, we will start at the basics of DI and will work towards intermediate and advanced scenarios depending on the participating group.

 

This presentation is based on C# and Visual Studio 2015. However, the demonstrated patterns and practice can be applied to every other programming language too.

Tags: Inversion of Control | Dependency Injection | Decoupling | Clean Code | C# | Best Practices | Architecture
Interested: 33


Clean Code I - Best Practices


Level: 100
Theo Jungeblut

All Clean Code presentations provide great value by themselves, but taken together are designed to offer a holistic approach to successful software creation. Why writing Clean Code makes us more efficient Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs. The Craftsmanship session is exploring the often underestimated importance of clean execution of the coding part and its crucial impact to overall project success.

 

Writing clean code can significantly lower these costs. However, writing clean code also makes you more efficient during the initial development time and results in more stable code. You will be presented best practices which will make you write better and more easily maintainable code, seeing code in a holistic way. You will learn how to apply them by using an existing implementation as the starting point of the presentation.

 

Finally, practices benefits are explained. This presentation is based on C# and Visual Studio 2015. However, the demonstrated patterns and practice can be applied to every other programming language too.

Tags: Software Craftsmanship | Productivity | Design | Decoupling | Clean Code | C# | Best Practices
Interested: 35


Accidentally Manager – A Survival Guide for First-Time Engineering Managers


Level: 100
Theo Jungeblut

We will explore the differences between managing and leading, review different management styles, and discuss their impact on both the manager and the team member.

 

Finally, we will find out why you do not want to treat everyone equally. I will share my personal experiences going from being one of the team to actually managing it: the pitfalls of suddenly being responsible for the team, typical problems surfacing, and how to avoid common mistakes. As part of the session, I would also like to share thoughts and considerations about which career path could be the right one for whom, and what the advantages and disadvantages are going one way or the other.

 

This is NOT a “You get it all from the expert”- session, but a session to share experiences and discuss how this fits to your career path.

Tags: the dark side | Management | leadership | engineering | career
Interested: 29


Simple VM for custom bytecode


Level: 100
Ben Dornis

In this session we're going to show you how to have a simple virtual machine for a bytecode language we'll design right in class.

Tags: vm | bytecode
Interested: 10


An Intro to Microtesting


Level: 100
Woody Zuill

In this beginners session we will explore the foundation of TDD: Microtests.  A microtest is a small chunk of code, usually running inside a simple testing framework, that probes one “interesting behavior” of a single object.
 
Over the past decade, practices like Test-Driven Development (TDD) and Refactoring have helped many teams significantly improve development speed, code quality and responsiveness to changing requirements. But how do you get started, especially if you have a lot of legacy code?  What if there are no existing tests in place? Do I have to do TDD?
 
In this session we will explore the foundations of TDD: Microtests.  A microtest is a small chunk of code, usually running inside a simple testing framework, that probes one “interesting behavior” of a single object. This session is for the absolute beginner who wants to start learning how to get their code under test.  I'll use C# as the language, but these ideas apply to almost any programming language.

Tags: TDD | Microtests | Agile
Interested: 28


An Intro to No Estimates


Level: 200
Woody Zuill

Estimates have been the bane of software development and programmers for decades. Managers/Customers want to know: When will it be done? How much will it cost? Programmers are told "We won't hold you to the estimate", and yet they often are. It's my contention that estimates might not useful for this purpose, and even worse they might misinform the decisions they are meant to support. Do we really need estimates? Is simply "getting better" at estimates worthwhile? Can we live without them? Will things be better without them? I don't have answers for you, but I've worked with "no estimates" for over 6 years and I'm still alive. I want to explore the idea of estimates, why they are pervasive in the programming world, how they might be harmful, and see if we can start a dialog about finding a better way to make decisions.

Tags: Scrum | NoEstimates | Kanban | Agile
Interested: 24


Agile Success - 8 Agile Maxims I Live By


Woody Zuill

I keep handy a number of concepts that I have recognized over time to help me to have great success applying Agile thinking. I call these my "Agile Maxims". I'll share my Agile Maxims, and how I use them to help me make reasonable and responsible decisions quickly. I'll also spend a little time covering why I like having maxims, and what I look for in "candidate maxims" that I might want to add to my list. My Agile Maxims are not meant to distract from, or replace The Agile Manifesto, but rather provide a boost to help me think in an Agile way, and more easily evaluate any practice. Maxim Defined: A short, pithy statement expressing a general truth or rule of conduct. We'll explore a bit about inventing or discovering the Maxims that work for you, as you grow your understanding of the Agile Manifesto, and prepare to move up to the next level.

Tags: Agile Manifesto | Agile
Interested: 34


Continuous Discovery


Level: 200
Woody Zuill

The strength of Agile lies in the simplicity and clarity of the Values and Principles expressed in the  Agile Manifesto.  I have found the beauty and depth of the Manifesto to be more than sufficient to enable and empower the people in any organization doing software development to make rapid strides to the "land of better". As leaders, activators, and influencers of change in the companies we work with, it's helpful to take responsibility to understand the philosophy of Agile, and learn to invite and draw people to share that understanding.  Sometimes that seems like an impossible task, and we see "Agile adoptions" that merely accommodate the broken and failing "same old, same old", rather than addressing and replacing it. We need change, we want change, and we know we must influence change for the better, yet we often don't have a clear view of what the future should look like. Of course, change happens continuously regardless of our ability to get the meaningful change we think we want.  I'll share with you how I apply and use pure Agile in my daily work, and encourage Continuous Discovery, Continuous Learning, and Continuous Growth in the teams and companies I work with.  Let's explore together and discover  that future we want to create.

Tags: Agile Manifesto | Agile
Interested: 23


Dynamic Optimization - One Algorithm All Programmers Should Know


Level: 200
Barry Stahl

This simple technique that every programmer should know can simplify certain types of problems tremendously, allowing us to find an optimal solution to difficult problems quickly and easily using a mathematical process called Dynamic Programming (not to be confused with Dynamic Languages or Functional Programming). In this session, we will run through examples of using this technique to solve several problems, both "on paper" and in code.

Tags: Problem Solving | optimization | Math | Best Practices | Architecture | Algorithm
Interested: 51


Ask A Microsoft MVP (Panel)


Level: 100
Dustin Davis | Jeremy Clark | Hattan Shobokshi | David McCarter | Mike Vincent

Panel member details: Dustin Davis (.NET/ C#, performance, architecture, SQL, NoSQL and Azure), Mike Vincent (Visual Studio ALM), Jeremy Clark (.NET), David McCarter (.NET, architecture, coding standards), Hattan Shobokshi (ASP.NET/ IIS and web application development).

Tags: SQL | Performance | Azure | ASP.NET | Architecture | ALM | .NET
Interested: 18


Office 365 San Diego Module 04 - HOOK INTO OFFICE 365 APIS


Level: 200
Ivan Sanders

In this lab, you will build an app "Research Tracker" that allows you to define new research projects in a SharePoint list, assign an owner, and create a project statement. The development environment will consist of a trial subscription to Office 365 and Azure. SpecificallySharePoint Online, OneDrive, Outlook and an Azure Web

OBJECTIVES

  • Learn to use Office 365 APIs in a web application
  • Understand how to register web applications in Azure Active Directory
  • Understand how to grant permissions to an application

PREREQUISITES

  • Visual Studio 2013 on Windows 8
  • You must have an Office 365 tenant and Microsoft Azure subscription to complete this lab (we will walk you through the creation of these).
  • You must have completed the lab associated with Module 2.

EXERCISES

The hands-on lab includes the following exercises:

  • Prepare Data Sources
  • Create an MVC5 Web Application
  • Configure a Single Sign-On MVC5 Web Application

Tags: SharePoint Online | Outlook | One Drive | office 365 | MVC5 | Azure
Interested: 7


Microsoft Azure and Threat modeling your applications for cloud


Level: 300
Vishal Saxena

Read on if you are serious about building your applications for public and enterprise ready.

Its not matter of "if" but a matter of "when" the security needs of your applications become highest priority for you and your organization, when the time comes you dont want to get caught off guard compromising security or assuming threats.

in this talk you will learn

a) Threat modeling basics - what, why and how

b) Threat modeling your applications for Azure

c) Hands of demo with Microsoft threat modeling tool

 

Tags: Threat modeling | Security | developer | Azure
Interested: 19


Visual Studio Application Lifecycle Management 2015 and TFS 2015 New Stuff


Level: 200
Mike Vincent

The release candidates of both Visual Studio 2015 and TFS 2015 have been available for about a month now. In this session we’ll explore some of the new stuff including Build v.Next, team project rename, deployment, release management, agile project management and more.  

Tags: Visual Studio 2015 | TFS | ALM
Interested: 32


Sharpen Your Scrum Skills – Open Discussion


Level: 200
Mike Vincent

I’ll do a quick review of the Scrum framework, then open the discussion to the audience. Bring your questions and experiences and we’ll try to help you improve your game. I’ll wrap up with how you can learn more. Oh, and Scrum.org is looking for a few good people so I’ll talk about what it takes to become a trainer. 

Tags: Scrum | Agile
Interested: 27


Scaling Scrum


Level: 300
Mike Vincent

How do you plan, launch, scale, and manage large product and software development initiatives using Scrum? In this session, I'll describe how you can increase agility in your organization and how to scale and manage Scrum projects successfully. You will be introduced to needed practices and techniques to manage a scaled Scrum development initiative. When rigorously applied, productive scaling results.

Tags: Scrum | agile software development
Interested: 34


From Micro to Big Hero - Being small is a good thing!


Level: 200
Indu Alagarsamy

Dread. And countless other choice words come to mind when you’re looking at that massive two thousand lines of code in that one function.You wouldn’t consider touching it with a ten-foot pole, but you have no choice.It has to be done. Your dread now morphs into stress.That stress multiplies when anticipating your deployment to production.Heaven forbid you have to rollback your change! Three year plans of, “let’s rewrite the entire thing” doesn’t usually work when business relies on the software to make money. So then how do you dismantle this monolith?

In this session, see how using Event Driven Architecture you can transform this monolithic mess into something clean, something small, something a lot more manageable.You can don’t have to make sweeping changes to that legacy stuff every time you need to introduce a feature.Instead write clean code completely on the outside.Break your monolith down, one micro brick at a time. It’s about time.

Tag: Architecture MicroServices
Interested: 22


Concurrency without the Pain: Akka.NET and the Actor Model


Level: 200
Aaron Stannard

We will introduce and explain the mind-bending actor model from the ground up. This will teach the foundational concepts for understanding the processing framework (Akka, ported to .NET from the JVM) that powers organizations like Walmart, Hootsuite, Apache Spark, Twitter, LinkedIn, and many more. 
Attendees will walk away understanding all the fundamental concepts of what makes an actor systems so scalable and powerful, and all the foundational knowledge they need to start creating and deploying actor systems in the wild to solve hard problems. 

Tags: Akka.NET | akka | Actor Model
Interested: 31


Mob Programming my First Team


Level: 100
Jason Kerney

Mob Programming is a new way of programming with high quality and fast response times. I was hired on to a team that was doing Mob Programming full time. It was a tough transition even though I knew what to expect.

 

I will talk about the practices that led my team to be successful and what it was like learning those practices. My hope is by giving a personal description of what it was like to join "The Mob" that others will know what to expect when and if they explore this way of programming.

 

Come and explore this topic with me. The talk is only a half an hour so there will be plenty of time to disscuss.

 

Here is the paper the talk is based on: http://bit.ly/rjkFirstTeam

 

 

Tags: Success | Mob Programming | fun | Agile
Interested: 27


Stop data breaches! Building secure web apps within minutes


Level: 200
Sid Shetye

Update: Link to slides

In an era of cloud computing and rampant data breaches, how do you develop secure web applications within the time and dollar budget? We'll walk participants through an example healthcare application and deploy it on Azure.

We'll also demonstrate how this protects against a data breach by offering the Azure SQL administrator credentials to the audience (!) to simulating an example data breach. We close by assessing the non-impact of this breach and open-sourcing the healthcare app just demonstrated.

Tags: Security | C# | Azure
Interested: 68


Mob Programming


Level: 200
Aaron Griffith

This talk will be a brief introduction to Mob Programming followed by a compare and contrast of where my team started with Mob Programming and where we are now over three years later.

Tags: teams | Pair Programming | Mob Programming | agile software development
Interested: 28


The Agile Manifesto in the Star Wars Universe


Level: 100
Aaron Griffith

This talk looks at the Agile Manifesto and using examples from the Star Wars Universe shows the similarities and differences in the way the Rebel Alliance and Empire put the Agile Manifesto into practice.
 
Those new to Agile Software Development will find it a light hearted, fun, and easily understood explanation of the Agile Manifesto and Agile Principles in the context of Star Wars.
 
Agile veterans that are already familiar with the Agile Manifesto will get a better understanding and new perspective that is meant to be interesting and humorous.

Tags: Star Wars | agile software development | Agile Manifesto
Interested: 32


Intro to Unity – Part III – 3D & VR Games


Level: 100
Jason Weimann

The final session in this series is all about 3D game development and Virtual Reality.  Here, we’ll cover the differences between 2D & 3D games.  We’ll build some terrain, handle player movement, shoot some stuff, and then turn it into a VR experience.  After the session, you’ll be able to try out the virtual world we’ve built on the GearVR.  

Tags: Unity3D | C#
Interested: 52


Intro to Unity – Part II – Application Development (Twitter app)


Level: 100
Jason Weimann

This session will build upon what you learn in part I, but instead of building a game, we’ll make a twitter search client.  The focus here will be building UI systems using Unity’s UGUI system.  We’ll cover things like panels, scrolling, and images.  We’ll finish the session off with some mixing of 2D & 3D in the same app.

Tags: Unity3D | C#
Interested: 56


Intro to Unity – Part I – 2D Games


Level: 100
Jason Weimann

In this session we’ll build a clone of a popular 2D mobile game in under an hour.  You’ll be introduced to the basics of the Unity3D engine and editor.  We’ll cover 2d physics & collisions, sprites, input, movement, and more.  By the end of the session we’ll build the working game to an android device.  After the session you should be able to recreate the basics of a few popular games.

Tags: Unity3D | C#
Interested: 58


Like a boss: How to be indispensable to your team


Jeremy Cameron

We will be discussing strategies that will help you get the job you want, make a difference in that job and maximize your earning potential.  Learn how to be someone that makes a tremendous difference on every project you touch.  

Tag: leadership
Interested: 74


Just CSS Graphics


Level: 100
Andrew Champagne

I'll be going over simple shapes circles, squares, triangles, then I'll do a logo and some other examples of popular logos and then move onto some animations and examples that I've found around the web that really do some interesting things with just CSS.

Tags: Graphics | CSS
Interested: 53


Office 365 San Diego Module 02 SETTING UP THE ENVIRONMENTS


Level: 200
Ivan Sanders

In this lab, you will create a cloud development environment and build a cloud-hosted app. The development environment will consist of a trial subscription to Office 365 and Azure. You will create apps that use both OAuth security and the cross-domain library. You will examine the security flow to better understand the available options

  • Configure Office 365 with a Developer Site and Product Catalog
  • Setup Azure with Active Directory
  • Understand the OAuth flow in a Provider-Hosted app
  • Understand how to use the Cross-Domain Library in a Provider-Hosted app

If you would like to create this app as we complete the walkthrough and to get the most out of your session, please dont forget to bring your laptop

  • Please watch the free, on-demand Introduction to Office 365 Development video.Activate a free 30-day trial Azure and Office 365 Accounts
  • If you subscribe to MSDN, activate your free Azure MSDN subscriber benefits here
  • Install Visual Studio 2013 Pro with the latest updates, Office 365 Developer Tools

 

Tags: office 365 | Oauth | Azure
Interested: 13


From Blank to Live in 45 - aka Drupal Bootcamp


Douglas C Hoffman

Are you new to Drupal, but don't know where to start? This session is for you! In 45 minutes (or less), we will demo how to install Drupal 7 or 8, build a functioning web site and deploy it live to the Internet. I call the method we will use Codeless Drupal. No need for any of that pesky PHP or CSS or HTML stuff! Our site will be built with standard Drupal modules and a contributed (read free) theme. You will leave this session with an understanding of the basic building blocks of Drupal, including pages, blocks, menus, content types, fields, views, image presets and much more.
 
DOWNLOAD SLIDES HERE:
http://www.douglaschoffman.com/d8-from-blank-to-live-in-45-20150628-socal-code-camp.pdf
 
VIDEOS OF LABS:
 
D8 Install
http://youtu.be/8ZaLYINvq5s 
 
Basic build - pages, menus and blocks
http://youtu.be/xhd8C86BfDQ 
 
Taxonomy
http://youtu.be/t6YLTnx4KPI 
 
Content types
http://youtu.be/On54Ckm3rcs 
 
Views
http://youtu.be/tK-O_YHQRK8 
 
User roles and permissions
http://youtu.be/j46I-kfxvWI
--------------------------------
 
VIDEO SCREENCAST OF SIMILAR TALK AT DCLA USING DRUPAL 7:
https://2014.drupalcampla.com/sessions/blank-live-45-drupal-bootcamp

Tag: drupal
Interested: 25


SPA OAuth Token-Based Security


Level: 100
Stuart Zahn

Ever wondered how to write an enterprise ready single page application? We all know data transmitted across the wire may easily be compromised. How do we secure that data, especially when implementing authentication? The session will take a deep dive into a sample code base which includes an AngularJS client side app that communicates to an ASP.NET WebApi backend and authenticates the user using OWIN's OAuth implementation.

Tags: SPA | Security | aspnet | Angular
Interested: 78


Thinking “out of the box” with web2.0 hardware interfaces


Level: 100
Eric Floe

In the experience of many, computer application interfaces are limited to a keyboard, a CRT, and an occasional trip to the printer. I firmly believe that the future generations of web2.0 applications will include reaching “out of the box” to interface with hardware processes external to the confines of the CPU and database.

I have been enthusiastically pursuing opportunities to bridge the gap between the computer, and hardware external to the computer. I believe by “thinking out of the box” we can enjoy a synergistic level of invention based technology. I will demonstrate the use, and encourage discussion of USB and serial port interfaces to significantly extend the functional reach of web2.0 applications.

Tags: Hardware Interfaces | Application Development
Interested: 24


Intro to Open Stack


Level: 100
German Eichberger

This session gives a brief introduction to OpenStack, the projects in it, and updates on the latests Kilo Release. I will show some things with a demo cloud (devstack) so everybody can see and play with it. There will also be room for questions and how OpenStack might fit into your world.

Tags: Python | Open Stack | Cloud
Interested: 49


Async end to end - MVC and the new MongoDB .Net driver


Nuri Halperin

The session will focus on the .Net driver, the async syntax and how it can be used.

Tags: Web API | MVC | MongoDB | C#
Interested: 38


MongoDB First Steps


Level: 100
Nuri Halperin

If you are just starting with MongoDB or want to learn about what it is (and isn't!), this is the session for you!

Tags: NoSQL | MongoDB | Big Data
Interested: 70


Running With MongoDB - Better than running with scissors!


Level: 200
Nuri Halperin

We will cover theory and syntax required to build and manage replica sets and sharding.

Tags: NoSQL | MongoDB | Big Data
Interested: 38


Javascript: Beginner to Advanced (All code)


Chander Dhall

In this talk, speaker of International Acclaim, Chander Dhall will talk about writing safe JavaScript. He will also start from the very basis level and go up to covering advanced JavaScript. The talk includes, but is not limited to, nuances in JavaScript, variables, functional programming and several ways you can write JavaScript code that can put you in trouble. In this fun filled talk, Microsoft MVP and TechEd Speaker, Chander mocks JavaScript and shows how to do it right as he loves it. 

Tag: JavaScript
Interested: 128


Web API Best Practices


Level: 300
Chander Dhall

<p> &lt;p&gt; &amp;lt;p&amp;gt; &amp;amp;lt;p&amp;amp;gt; &amp;amp;amp;lt;p&amp;amp;amp;gt; &amp;amp;amp;lt;span style=&amp;amp;amp;quot;color: rgb(0, 0, 0); font-family: ff-dagny-web-pro, Arial, Helvetica, sans-serif; font-size: 17px; line-height: 23px;&amp;amp;amp;quot;&amp;amp;amp;gt;Through a mixture of code and concepts, we&amp;amp;amp;amp;rsquo;ll discuss what to do and perhaps more importantly what NOT to do when it comes to REST best practices. At the same time we&amp;amp;amp;amp;rsquo;ll also highlight the new features in Web API. Alongside learning the new features and best practices of REST and Web API, you&amp;amp;amp;amp;rsquo;ll get the inside track on some helpful techniques that aren&amp;amp;amp;amp;rsquo;t widely used as yet. The talk plans to cover all levels of attendee, from beginner to advanced.&amp;amp;amp;lt;/span&amp;amp;amp;gt;&amp;amp;amp;lt;/p&amp;amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&amp;lt;/p&amp;gt;&lt;/p&gt;</p>

Tags: webdev | Web API | C# | Best Practices | ASP.NET
Interested: 121


Engineering Highly Maintainable Code


Level: 200
Steve Andrews

How long does it take your company to implement a new feature? Fix a bug? Ramp up a new developer? To re-write your code every five to ten years because it turns into spaghetti? At a high level, developers can do one of two things: maintain or innovate. In this session, Steve will show you tips, tricks, techniques, and real-world examples to help you better engineer highly maintainable code, keep your software relevant, reduce development costs, increase developer job satisfaction, and stay innovative.

Tag: Maintainability
Interested: 90


Origin Code Academy: Proactive Application Monitoring


Cameron Wilby

I used to work at a busy coffee shop back in the UK. You know the kind, the one where all the baristas have cool haircuts, listen to Bon Iver and make coffee with the kinds of instruments you'd expect to see in a chemistry lab. My manager gave me some of the best advice that I've taken with me into my career in software development: "Be proactive, not reactive"


For example, instead of reacting when there was a huge line and no ground coffee prepared, we were taught to be proactive and make it a priority to grind coffee beans regularly, even during downtime. This meant we could clear lines with ease, while keeping a smile on both our face - and the customers face.


The same can be said for software. Be proactive, not reactive when things inevitably go wrong in your application.


Instead of reacting when your users report that your application isn't working because your server went down, be proactive and have tools in place to tell you the second your site goes down or isn't behaving itself.


In this session I will go over some of the tools that you can use to be proactive developers, rather than reactive developers.

Tags: Raygun | NewRelic | ELMAH | .NET
Interested: 27


How to manage 31,407 lines of PowerShell (and counting)


Level: 300
Steve Evans

Everyone loves the PowerShell one liner. But how do you manage 31,407 one liners? Come and hear what we've learned as we've pushed PowerShell to it's limits. What has continued to work well? What has been hard? How do we manage 5 scripters working on one code base? What are the tools we use to keep us from losing our sanity (arguably)?

Tag: PowerShell
Interested: 22


The 7 Rules for Writing World Class Technical Documentation


Level: 100
Bob Reselman

Writing a technical document is hard. Reading a poorly written technical document is harder, and probably more painful than writing one. It takes a lot of work to create a clear, accurate, engaging piece of technical writing. Thus, in order to make life a little easier for all parties involved, I am going to share with you the 7 Rules that I follow when creating a piece of technical documentation. I did not think these rules up on my own. Rather, I formulated them from having had the benefit of working with many gifted technical and copy editors for more than two decades. Anything that I understand is because others have shown me the way. I cannot be more grateful.

PS: You can read the article upon which this talk is based, here.

Tag: Technical Writing
Interested: 63


Functional JavaScript


Level: 200
Troy Miles

For more about me: http://therockncoder.blogspot.com/2015/05/the-rockncoder-reference-page.html

 

For most of its nearly 20 years, developers have tried to make JavaScript more like other imperative languages like Java and C#, but was that wise? Unlike those languages JavaScript doesn't have class inheritance or information hiding, but it does possess high order functions. What are high order functions? Function which can both be sent to functions and return from functions. This allows JavaScript to be programmed more functionally.

 

Functional languages like Lisp, Scheme, Clojure, and Haskell espouse the beauty of pure functions. What are pure functions? Functions which always produce the same output when given the same input without mutating any variables along the way. This also makes it trivially easy to compose new functions by combining older ones, while in imperative languages, creating compose-able objects can be rocket science hard. The difference between functional and imperative programming can be described as the difference between telling the computer what to do (functional) and how to do it (imperative).

 

Functional programming can be a bit difficult to wrap your head but in this session I will give some examples of common programming problems that we face everyday in JavaScript and see how functional programming can help us.

Tags: JavaScript | Functional Programming
Interested: 97


Use Your Existing Web Skills to Create Native Mobile Apps with the Ionic Framework


Justin James

It has never been easier to take your existing web skills and build a native mobile application.   Come learn why the Ionic Framework is taking the world by storm and had over 320,000 applications created in 2014 alone.  You will develop applications faster than ever before with the Ionic Framework's built-in functionality and the tools.    
 
You will walk away from this session ready to deliver your first Ionic based application all the while learning to love mobile development again.

Tags: Mobile | JavaScript | iOS | AngularJs | Android
Interested: 68


Intro to Gulp for the .Net Developer


Justin James

With the release of Visual Studio 2015 Gulp has become a standard part of the workflow for .Net developers.  Gulp has a lot of functionality available such as minification, injecting script tags into html, running js hint, creating source maps, generating css from sass files, plus much more.  In this session, you will learn the basics of gulp,  how it integrates into Visual Studio, and how to create your own gulpfile to automate common tasks. You will walk away with a starter gulp file to get you on your way to fully utilizing gulp.

Tag: .NET Gulp
Interested: 63


Nuget is easier than you think and you should be using it


Justin James

Nuget is a package manager for Visual Studio that allows you to easily share assets (dll, javascript, c#, etc files) and use them in your project.  Most Visual Studio developers have consumer nuget packages but few have created and shared nuget packages.  It is amazingly easy to create and publish a nuget package.  In less than 60 minutes I will show you how move from a consumer to a creator.  You will learn how to package up dll's, source code that needs to be inserted in a project, add/change configurations, publish a package and host your own nuget feed.

Tag: .NET
Interested: 59


DevOps Yourself: Fast-Track Your Development Environment Setup


Level: 100
Justin James

Does this ever happen to you? The configuration takes forever to remember, document and configure. You can't seem to reproduce the configuration on another developers machine? The new project breaks an older working project.  Then vagrant my friend is for you. Vagrant will change how you work. You will forever say goodbye to these scenarios and the works on my machine" excuse.  Come learn how to quickly and easily create isolated and reproducible development environments.  Your development environment management will never be the same again.  

Tag: devops
Interested: 60


Quick and Easy Development with Node.js and Couchbase Server


Nic Raboy

Couchbase Server is the NoSQL document database for interactive applications. Node.js is the platform for building fast, scalable network applications. Just about everyone wants to build better responsive and more engaging experiences for their users quickly and easily, and we can help.
 
In this session, Nic Raboy will first talk about what is different about this generation of web applications. The approach must consider the latency, throughput and interactivity demanded by users for social interaction across both mobile devices and browsers. Then he will show how Node.js’s programming model makes writing systems to provide this kind of interactivity easy and how Couchbase Server and the Node.js Couchbase SDK support this with a flexible data model and easy scalability.
 
Come to this session ready to read code, since a web application will be the basis of the demonstration of these techniques in action.  Nic will show a sample web application, and key aspects of how the system is constructed for simplicity of data modeling, extensibility and scale.

Tags: WEB | NoSQL | node.js | couchbase
Interested: 52


Demystifying the Wizardry of Regular Expressions


Josiah Mory

So many developers see the words "Regular Expressions" and think of a string of crazy symbols. They are a valuable way of manipulating text and knowing the basics can lead to many practical uses that will often save many lines of code. Learning to use regular expression basics will allow many more ways to manipulate text and strings by testing, extracting, and changing them. We will take a look at some of the ways to do this specifically using the Javascript RegExp Engine. 

Tags: Regular Expressions | JavaScript
Interested: 63


Developing Mobile Apps that Work Offline


Level: 200
William Hoang

What happens when your mobile device does not have a network connection? That device will have no content, no experience and the amazing application that you spent so much effort to build just simply will not work.  This talk would be around the implementation story of creating offline and online applications on Mobile.  

The journey begins with NoSQL database modeling and what we can do with a NoSQL technology for mobile.  The session will go through how to create data object model relations, design for performance in difficult areas with no signal, and how to develop a local NoSQL datebase that syncs to the cloud.

We will go over code on how to have your mobile application function offline without relying on the network.

You will gain knowledge in NoSQL databases technologies and walk away with insights on how to create offline type of applications that to sync to the cloud.

Couchbase Mobile is a thin client library that would help developers with their mobile projects in creating a local data layer for offline user experience and will provide fast sync capabilities when there is available network connectivity.

Tag: Mobile
Interested: 67


What's New in Visual Studio 2015


Level: 200
Joe Mayo

Visual Studio 2015 is full of new features including UI management, coding, and tools. There are useful features for managing your ui and code. You'll learn about new editor features for rapid coding. You'll see new tools for analysis and diagnistics. You'll also see some of the new project types that Visual Studio 2015 supports. These new featues will offer more capabilities and increase your development productivity.

Tag: vs2015
Interested: 81


AAA: Android Push - Android Wear - Android Voice


Level: 200
Wolf Paulus

This session will introduce you to three of the hottest topics on mobile: 
 
Android Push Notifications: Google Cloud Messaging for Android is a service that allows you to send data from your server to your users
 
Android Wear extends the Android platform to a new generation of devices, with a user experience that is designed specifically for wearables.
 
Android Speech Recognition and Synthesis

Tags: Speech Recognition | Push Notification | Mobile | Android Wear | Android
Interested: 35


Security in ASP.NET MVC Application


Level: 200
Abhi Jain

I will be discussing various security attacks in ASP.NET MVC applications. I will also be discussing how to prevent them.

Tags: MVC | ASP.NET
Interested: 68


Unit Testing Makes Me Faster: Convincing Your Boss, Your Co-Workers, and Yourself


Level: 200
Jeremy Clark

Bosses hate unit testing. They see it as code that doesn't contribute to the final product. But here's the truth: unit testing makes us faster. We'll look at specific examples of how unit tests save time in the development process, whether we're creating UI-based applications or server-side libraries. With this in hand, we can show our boss how testing makes us faster and lets us move forward confidently and quickly.

Tags: Testing | Best Practices
Interested: 71


DI Why? Getting a Grip on Dependency Injection


Level: 200
Jeremy Clark

What is Dependency Injection? And why would we want to use it? That's what we're here to answer. We'll start by looking at the problems caused by tight coupling. Then we'll use some DI patterns such as constructor injection and property injection to break that tight coupling. We'll see how loosely-coupled applications are easier to extend and test. With a better understanding of the basic patterns, we'll remove the magic behind DI containers so that we can use the tools appropriately in our code. Slides & Code Samples available at http://www.jeremybytes.com/Demos.aspx#DI

Tag: Dependency Injection
Interested: 43


Learn the Lingo: Design Patterns


Level: 100
Jeremy Clark

You already use Design Patterns but probably don't know it. Observer, Facade, Iterator, Proxy - Learning the lingo allows us to better communicate your ideas with other developers. We'll take a look at several Gang of Four patterns that we regularly use without realizing it. Don't know who the Gang of Four is? Join us to find out. Slides & Code Samples available at http://www.jeremybytes.com/Demos.aspx#LLDP

Tag: Design Patterns
Interested: 89


Clean Code: Homicidal Maniacs Read Code, Too!


Level: 200
Jeremy Clark

There's no such thing as a write-once application. The world is constantly changing, and our code needs to change with it. We'll think in small pieces and take a look at some techniques to keep our code manageable and understandable. Think about the next developer to maintain the code. Now, imagine he's a homicidal maniac who knows where you live. Slides & Code Samples available at http://www.jeremybytes.com/Demos.aspx#CC

Tag: Best Practices
Interested: 42


IEnumerable, ISaveable, IDontGetIt: Understanding .NET Interfaces


Level: 100
Jeremy Clark

Do you want code that's maintainable, extensible, and easily testable? If so, then C# interfaces are here to help. We’ll take a look at how we can use interfaces effectively in our code -- starting at the beginning ("What are interfaces?") and then exploring why we want to use them. Along the way we'll use existing interfaces, implement own interfaces, and take a look at dynamic loading, unit testing, and dependency injection. All of which is made easier with interfaces. Slides & Code Samples available at http://www.jeremybytes.com/Demos.aspx#INT

Tags: Interfaces | Abstraction
Interested: 37


How To Start Using Test Driven Development


Level: 100
Tony Baik

So you’ve heard of Test Driven Development(TDD). Maybe you were even convinced that it was a great discipline to adapt. You may have even tried using TDD but shortly gave up and went back to writing tests after writing production code. But fear not! I've been there and done that and found an awesome approach that proved to be effective for learning to start using Test Driven Development. This session includes an introduction to TDD, an explanation of an approach to learning TDD for the first time, and a demonstration of a code kata using TDD.

Tag: TDD
Interested: 86


Röck Yoür Cöde With Defensive Programming


Level: 200
David McCarter

This is a companion session to the “Rock Your .NET Coding Standards” that takes writing better code to the next level. Do you enjoy receiving bug tickets from QA? Didn’t think you would, so this session will provide solid practices that I have been using for most of my programming career to check-in to source only rock solid code. You will learn my #1 mantra, along with 13 rules, that I use while writing code that allows me to write new code (features) and stay out of maintenance mode hell. Make sure to attend Röck Yoür Cöde Using Cöde Contracts after this session.

Tags: VB.NET | developer | code quality | C# | Best Practices | .NET
Interested: 36


Röck Yoür Apps With => 10 Things You Probably Aren’t Doing


Level: 200
David McCarter

This session will go over 10+ things that I see developers not doing in their applications to make them robust, easily changed (feature, feature, future) and free from errors. What are they? Well you will need to attend this session to find out. You are guaranteed to learn a lot in this session!

Tags: VB.NET | developer | C# | Best Practices | Application Development | .NET
Interested: 38


Röck Yoür Cöde Using Cöde Contracts


Level: 200
David McCarter

This session will introduce developers to the new powerful new feature that is part of the .NET 4.5 framework called Code Contracts. Code Contracts brings the advantages of design-by-contract programming to .NET programming. Contracts are used to improve testing via runtime checking, enable static contract verification, and documentation generation. We will also explore the new Smart Unit Tests in Visual Studio 2015 that works best with Code Contracts. Make sure to attend Röck Yoür Apps With => 10 Things You Probably Aren’t Doing after this sesison.

Tags: VB.NET | Development | Contracts | Code | C# | Best Practices | .NET
Interested: 34


Röck Yoür .NET Cöding Standards


Level: 100
David McCarter

With lots of new material for 2015, this session will guide any level of programmer to greater productivity by providing the information needed to write consistent, maintainable code. Learn about common coding mistakes, code style, defensive programming and much, much more. Code tips are included to help you write better, error free applications. Lots of code examples in C# and VB.NET. This session is based off my latest book, David McCarter&amp;#39;s .NET Coding Standards. Make sure to attend Röck Yoür Cöde With Defensive Programming after this session.

Tags: VB.NET | Development | Code | Clean Code | C# | Best Practices | .NET
Interested: 41


An Introduction to Angular 2


Hattan Shobokshi

In this session we'll take a look at the future of Angular JS, Angular 2.0. We'll see some radical new changes in the framework and talk about the reason behind it. We'll write a lot of code and build a simple application.

We'll also explore typescript and see how writing Angular apps in TypeScript improves the overal development experience and can help us become more productive at front end development.

This presentation will be code heavy wil lots of samples.

Tags: MVC | JavaScript | AngularJs | Angular
Interested: 113


JavaScript Simplified: Closures, Prototypes, Promises, and more


Hattan Shobokshi

Interested in Advanced JavaScript topics? In this talk we’ll look at some fundamental JavaScript concepts including closures, promises and prototypal inheritance. These will be gently introduced with real world examples & lots of code. You will learn how to use these features and when it’s appropriate to. Take your JavaScript skills to next level!
 
We'll start with JavaScript functions and get a fundamental understanding of how they work and what Functions as a first class citizen means. We'll look at how Closures can give you a mechanism for hiding data and also protect your variables from the global scope via immediately invokved functions.
 
Inhertiance is possible with JavaScript and we'll look at how you can do that with prototypes. 
Promises give you a great mechanism to write cleaner asynchronous code. We'll look at promises from the eye of a library writer and consumer. We'll see how promises can help us avoid ugly nested callbacks and make our code easier to read. We'll also see how promises are implemented in libraries like jQuery and AngularJS.

Tag: JavaScript
Interested: 95


Introducing ASP.NET 5 (vNext)


Hattan Shobokshi | Rob Richardson

In this presentation we will introduce ASP.NET vNext, the newest iteration of the Microsoft Web Development stack. See how ASP.NET MVC and WebAPI fit into this new modular and decoupled development stack. 
 
We’ll examine the new cloud optimized framework and see how it can provide you with a leaner, faster and more memory efficient web application. The various components will be examined including how Roslyn and Nuget contribute to this new framework.

 

Tags: ASP.NET MVC | ASP.NET
Interested: 80


ASP.NET MVC6 Deep Dive


Hattan Shobokshi | Rob Richardson

We'll take a detailed look at the tools you need to build an asp.net 5 app.  
We'll also look at building apps using Visual Studio 2015 and without it. 
We'll look at cross platform ability as well as new features in ASP.NET MVC 6, WebAPI & Razor.
 
This session will feature a lot of code samples and demos to help you get familiar with asp.net 5 (vNext) and it's associated tools.
 
Topics include:
ASP.NET MVC6
Dependency Injection
Poco Controllers
TagHelpers
Async Views
Incremental Flushing
Combining MVC routes and WebAPI Routes in a Single Controller
ASP.NET MVC on *nix/OSX

Tags: ASP.NET MVC | ASP.NET
Interested: 83