Skip to content

Instantly share code, notes, and snippets.

@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
},
@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:3049540
Created July 4, 2012 21:11
Functionalizing JavaScript 3
$('#someElement').on('click', handleElementClick);​
@jaredfaris
jaredfaris / gist:3049552
Created July 4, 2012 21:15
Functionalizing JavaScript 4
$('#someElement').on 'click', _handleElementClick
@jaredfaris
jaredfaris / building-rich-user-experiences.md
Created December 22, 2012 20:33
Building Rich User Experiences Without Javascript Spaghetti - Talk Abstract

Building Rich User Experiences Without Javascript Spaghetti

Most Javascript is written to glue code and UI together without any thought to design patterns. Over time this leads to piles of Javascript that look nothing like code you’d be proud of writing.

In this talk we’ll look at the rise of software libraries (like Knockout and Backbone) that can help add structure to your JS. We’ll talk about when they help your project, and when they get in the way. We’ll also look into how you can easily use the Mediator and Observer patterns in JavaScript to really clean up your code with or without other libraries. As an added bonus we’ll talk about using Message Buses to really decouple your JavaScript controls.

I’ll explain how we’re using these patterns at Facio and how you can implement them in your code. At the end we'll look at some code samples and we'll talk about whatever other patterns you might be interested in doing in JavaScript.

@jaredfaris
jaredfaris / use-all-the-buzzwords.md
Created December 22, 2012 20:35
Use All The Buzzwords: Backbone.js Over Rails In The Cloud - Talk Abstract

Use All The Buzzwords: Backbone.js Over Rails In The Cloud

A couple of years ago I was a .NET developer writing enterprise MVC apps. That was boring. Now the majority of my app is JavaScript, I use Ruby on Rails as a database interaction layer, I write Coffeescript, HAML and SASS and I wear sandals to work.

In this intro level talk we’ll cover the various tools like Coffeescript, templating, and SASS that comprise my Ruby/JS tech stack. We’ll talk about how I switched to Ruby from .NET and what resources I found most helpful. Then we’ll look at how Rails can be a great back-end tool for building complex JavaScript apps. To round out the discussion we’ll look at how you can use cloud computing to deploy and manage Rails apps. As a bonus we’ll talk about a bunch of great gems that will make solving everyday development problems a breeze.

You’ll leave this talk having a basic knowledge of how to start using Ruby on Rails and with a list or resources and tools that will make your life easier.

@jaredfaris
jaredfaris / its-cool-nobody-knows.md
Last active December 10, 2015 01:38
It’s Cool, Nobody Else Knows What They’re Doing Either - Talk Abstract

It’s Cool, Nobody Else Knows What They’re Doing Either

Learning is hard. Learning to be a great developer is really hard. A common developer worry is that others will figure out that they’re ‘faking it’. The developers around them feel the same way. Perhaps you feel like this at work. Your boss probably does too.

This talk will dive into how people learn and measure their knowledge. It will cover the “Three Types of Knowledge” as a framework to look at what separates a great senior developer from someone just starting. It will cover imposter syndrome; the feeling that you’re not good enough and eventually someone is going to find out. Next, how individuals and teams can overcome these issues and reach their full potential. Finally, this talk will look at how you can positively (and accurately) signal your expertise to others.

@jaredfaris
jaredfaris / building-things-that-dont-suck.md
Created December 22, 2012 20:38
Building Things That Don’t Suck: The Secrets of Development-Designer Harmony - Talk Abstract

Building Things That Don’t Suck: The Secrets of Development-Designer Harmony

Building an application that works is a lot easier than building one that users want to interact with. Developers are stereotypically bad at building things that are visually appealing and pleasant to use. Designers are known for designing things that are appealing but impossible to implement. A traditional development process has each role working separately with designs thrown over the wall to development.

In this talk we’ll cover how to work as a great developer/designer team. We’ll talk about how to communicate effectively, anticipate each other’s needs and rapidly collaborate to build awesome things faster than you’d imagine is possible. These methods not only make the development process more efficient but make them a lot more enjoyable too. But wait, there’s more. We’ll cover some of the tools we use to help us work together and better understand each other’s skills and abilities. Whether you are at a shop with internal s

@jaredfaris
jaredfaris / so-I-heard-theres-this-cloud-thing.md
Created February 7, 2013 02:00
So I Heard There's This Cloud Thing

So I Heard There's This Cloud Thing

Cloud computing is all the rage. It's everywhere. Everybody around you is using at least one thing in the cloud. How many people do you know who have actually built cloud computing applications?

Right. Thought so.

In this talk we'll look at a bunch of different cloud offerings from Amazon, Microsoft, Google, Heroku, AppHarbor, and more. We'll talk in detail about what the big players are doing and then compare the smaller players to them. We'll offer up some opinions on why you'd use one platform over another and talk about general development/architecture decisions you'll have to make regardless.

If you're considering your cloud strategy this talk will help arm you with enough knowledge to get yourself in trouble. If you think of the cloud as Dropbox and 6 second videos of cats this talk will probably bore you to sleep.

@jaredfaris
jaredfaris / A-Big-Pile-of-JSON.md
Last active December 21, 2015 14:59
A Big Pile of JSON - How Ajax and Magic Can Improve Your Applications

A Big Pile of JSON - How Ajax and Magic Can Improve Your Applications

We've all been there. Rendering all of our markup on the server. Doing jQuery $.load()s to dynamically update content. Pretending that it's still 2009 and that people are still using Blackberries.

It's time to move past that. There's are very few reasons to still generate your dynamic content on the server side, and tons of reasons to use tools like Angular.js or Backbone. In this talk, we'll show you had to build or update controls to harness the power of the client-side. We'll look at using these JavaScript framworks with RESTful endpoints like WebAPI and Sinatra. We'll pass big piles of JSON between the server and the client, and dynamically update our web pages using templates.

When you leave, you'll have an appreciation for how much good client-side tooling can improve your applications readability, maintainabililty, and power. We'll have server-side examples in C# and Ruby, but client-side examples that everyone can love.