Skip to content

Instantly share code, notes, and snippets.

@jaredfaris
jaredfaris / code-review-talk.md
Last active August 29, 2015 04:12
Code Reviews: Building Your Team While Improving Your Code

Code Reviews: Building Your Team While Improving Your Code

A successful development team is more than just 2+ developers in a room. Your team members have their own skills, experiences and preferences, but are expected to work together as one seamless entity. Code reviews are critical to your team's success. They help you share insight into tricky business logic, cross train your team members to reduce the bus-factor, and train junior developers. In this talk we will look at types of code reviews, tools to consider using, and strategies to help you apply all of it to your unique circumstances. Let's go read some code!

@jaredfaris
jaredfaris / jasmine-chutzpah.md
Last active August 29, 2015 13:57
Test Your JavaScript with Jasmine and Chutzpah!

Test Your JavaScript with Jasmine and Chutzpah!

As a web developer, the odds are that you're writing more and more JavaScript every day. As powerful frameworks and tools grow in usage (and even ship with Visual Studio), the complexity of JS keeps growing. JavaScript testing is an important tool that you should have in your tool belt.

Jasmine makes JavaScript testing easy to do, but Jasmine requires you to open a browser window. Chutzpah makes it easy to run your JS tests right inside of Visual Studio, or as an automated part of your TFS build.

In this talk, we'll look at adding Jasmine tests to a .NET MVC web app. We'll talk about some JS testing best practices along the way. Then we'll finish by using Chutzpah to automate these tests as part of our build process. When you leave this session, you'll be equipped to test all the things!

@jaredfaris
jaredfaris / choose-your-own-deventure.md
Last active August 29, 2015 14:05
Choose Your Own Deventure: A Ridiculous & Interactive Exploration of Tradeoffs in the SDLC

Choose Your Own Deventure: A Ridiculous & Interactive Exploration of Tradeoffs in the SDLC

Your team is good at writing code, but what about the other 70% of software development? Figuring out what needs to be coded, giving your boss annoying estimates, testing all the whacky edgecases, managing risks and dealing with personality conflicts on your team are just as important as the code you're writing. This highly interactive talk will explore the software development lifecycle (SDLC) and what the implications of all of your decisions might be, even on a team of one. You'll see the SDLC from the viewpoint of the developers, the BAs, the PMs, and yes, even the QAs. And it will do it in a shamelessly silly manner. You won't leave this talk with "15 Secrets Great Developers Don't Want You To Know" but you will leave it with a fresh perspective on how your team gets work done.

@jaredfaris
jaredfaris / lets-learn-responsive.md
Created February 18, 2015 00:04
Let's Learn Responsive Web Design

Let's Learn Responsive Web Design

Interested in the what, why and how of Responsive Web Design (RWD)? This workshop will explore why RWD matters and how to get started. If you work on enterprise apps, this workshop will cover how RWD can add value to your existing world. If you work on smaller apps, you'll gain skills to make your work faster and easier. When you leave this workshop, you won't be the world's greatest designer... sorry! However, you'll have a good basis for improving your applications and user experiences.

@jaredfaris
jaredfaris / twitter-oauth-example.cs
Created April 23, 2015 23:20
A class I built for making Twitter requests with OAuth. Built around code I found on SO.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web.Script.Serialization;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
@jaredfaris
jaredfaris / gist:ba9edabbbbc24f253142
Last active August 29, 2015 14:24
Mixing Modern CSS *Magic* Into Legacy Sites

Mixing Modern CSS Magic Into Legacy Sites

There is a wide variety of modern tooling available to help us build a better web. There are also more legacy sites than greendfield ones; sites that never were built with these tools in mind. How do you get the benefits of things like pre-processors (Less/Sass), post-processors (Autoprefixer) and task runners (Grunt) when working on your existing sites?

Let's take a real site that I support, and explore:

  • Adding in a basic build/task runner
  • Creating a framework for restructuring our CSS
  • Replacing old hacks with CSS3 features
  • Using a pre-processor to further refine our styles
  • Adding a post-processor so we can forget about vendor prefixes
@jaredfaris
jaredfaris / How-Long-Will-It-Take-How.md
Last active September 15, 2015 17:50
How Long Will It Take - A Guide To Software Estimation

How Long Will It Take? - The Mechanics of Good Estimation

*Note to organizers: This is a 30 minute version covering one part (the "How") of my longer estimation talk. It pairs well with it's "Why" counterpart.

"How long will it take?" ... ... crickets ... Developers hate being asked this because they see it as an impossible question to answer. Unfortunately, the business needs to make decisions and they need data to drive them. In this talk, we'll discuss multiple ways to perform estimates. We'll look at the amount of work it takes to get to various levels of precision, and compare other pros and cons of each method. You'll leave this talk with tools that will make your estimation easier, your life better, and your boss happier.

@jaredfaris
jaredfaris / we-vs-they-short.md
Last active September 15, 2015 18:21
Empowering Your Team With "We"

Empowering Your Team With "We"

New team members begin as outsiders and do not feel empowered to do great things. Many teams have a gap between "They" who make decisions, and the people that are affected. Team members don't think "We are doing this".

This talk looks at the gap between "We" and "They" and what you as a leader can do about it. You'll leave this talk able to identify unhealthy team dynamics and with strategies to empower your team with a sense of ownership.

@jaredfaris
jaredfaris / gist:3049538
Created July 4, 2012 21:11
Functionalizing JavaScript 2
$('#someElement').on('click',
function() {
var objectId = getObjectId();
$.ajax({
url: "/some/path",
type: "POST",
data: {
objectId: objectId
},
@jaredfaris
jaredfaris / gist:3049536
Created July 4, 2012 21:10
Functionalizing JavaScript 1
$('#someElement').on('click',
function() {
var objectId = $(this).data('objectid');
$.ajax({
url: "/some/path",
type: "POST",
data: {
objectId: objectId
},