Skip to content

Instantly share code, notes, and snippets.

View emilyfreeman's full-sized avatar

Emily Freeman emilyfreeman

View GitHub Profile

Audience: Microsoft Audience

Our products are, at the end of the day, the ultimate deliverable. Developers are a discerning audience with a near-zero tolerance for fluff and vaporware. They can be fiercely loyal if a product is great, but will quickly become flighty when quality suffers. Great products cannot exist without a vibrant content ecosystem that rapidly onboards developers, pointing them firmly in the direction of success.

The Microsoft Audience team is dedicated to working directly with Engineering, Marketing and across the Cloud Advocacy organization in the relentless pursuit of helping refine our products, and our perception. We do this by putting a laser focus on our content, messaging, and feedback mechanisms so that our marketing and engineering efforts are targeted. After all, there are only two types of developers - those who are currently our customers and those who will be, because our products are that good.

What's unique about this Audience?

Microsoft suffers from its share of o

A DevOps Christmas Carol

The DevOps Christmas Carol is a bastardized, satirical version of Charles Dickens’ iconic work, A Christmas Carol.

It’s Christmas Eve and we find Scrooge, a caricature of a San Francisco-based, VC-backed tech startup CEO haunted by Peter Drucker’s ghost — who warns him of the visits of three ghosts: the Ghost of DevOps Past, the Ghost of DevOps Present and the Ghost of DevOps Yet to Come. (Victorians were seriously wordy.)

Scrooge’s company, Humbug.ly, has adopted DevOps, but their Tiny Tim app is still in danger of falling over. And Scrooge is still complaining about that AWS bill.

I want you to laugh at the absurdity of our industry, remember the failures of yesterday, learn the lessons of today and embrace the challenges of tomorrow.

@emilyfreeman
emilyfreeman / node+ra.md
Last active June 13, 2017 21:51 — forked from brandonmwest/node+ra.md
RA + Node.js tutorial draft

Introduction

Today we're going to build a node.js application to collect email addresses using Kickbox. We'll be using Express and Request on the server side, and jQuery on the client.

We'll be using Glitch during this tutorial, because it provides an environment, editor, and hosting in one convenient package. There's an example of the completed project too. If you want to follow along in your own environment, all of the code will work.

What is Recipient Authentication?

Recipient Authentication makes it easy to collect email addresses the right way. We handle account activation, double email opt-in subscriptions, and password resets. We make sure the email gets delivered, send drip reminders, expire old links, handle out-ops, and automatically add authenticated addresses to your email service provider or marketing platform.

@emilyfreeman
emilyfreeman / readmelove.md
Last active February 26, 2016 21:57 — forked from rrgayhart/readmelove.md
README Love

##PROTIP: README Love

READMEs are AWESOME. They are one of the best things you can add to a repo, (other than quality code), to make it look professional.

####Things that make a README great:

@emilyfreeman
emilyfreeman / recursion.markdown
Last active February 26, 2016 21:45 — forked from rrgayhart/recursion.markdown
Recursion and Generators Homework
  • Watch Recursion

  • Fork this gist

  • Answer the following questions in your fork

    • Do you pronounce 'babel' in the same way?

      • Haha. No. A 'bauble' is something you decorate your Christmas tree with. 'Babel' is the Hebrew term for Babylon which means 'confusion'. But he's Swedish. So, we can't hate too much. They brought the world Ikea.

      • Follow Up Question: Will you now?

  • Only if I hate the person I'm talking to.

**Step One**: Watch [Sorting Algorithms in JavaScript](https://www.youtube.com/watch?v=uRyqlhjXYQI)
**Step Two**: Fork this gist.
**Step Three**: Respond to this question in your fork: "What are some of the balances and trade offs between different sorting algoritms?"
* The sorting algorithm you choose depends on what you're sorting and how many resources you have to allocate.
* Bubble sorts can very little memory but are slow and unstable.
* Insertion sorts are stable but have similar downsides to bubble sorts. They're not ideal for large amounts of data.
* Merge sorts are kind of like the Cadillac of sorting algorithms, but like a Cadillac, they takes a lot of resources. If you have the memory to give, the merge sort is fast and stable.

Step One: Watch Mary Rose Cook Live Codes Space Invaders from Front-Trends. (The second worst conference name ever?)

Step Two: Fork this gist.

Step Three: Respond to this question in your fork: What is one approach you can take from this Mary's code and implement in your project?

  • Mimic her tick() function to get the gates to pass at a set interval
  • Using .prototype to set aspects of an element
  • Creating an isDown method to see if the user is pressing the left or right arrow buttons

Step One: Watch Writing Testable JavaScript - Rebecca Murphey from Full Frontal 2012 (award for worst conference name ever?)

Step Two: Fork this gist.

Step Three: Consider the four responsibilities that Rebecca lists for client side code (hint: they're color coded).

  • Did any of the responsibilities that she lists surprise you?
    • Presentation and Interaction, Data/Server Communication, Application State and Setup
    • Prior to watching this, I wouldn't have been able to list these four responsibilities, but looking at them, it makes perfect sense. It's not unlike MVC and pushing logic down the stack. Setup is the only one that surprised me because it's a little different than what we've done in the past, but still makes sense. I think setup may be the trickiest responsibility to separate out.
  • Do you feel like you mentally split your client side code in IdeaBox and other past projects into these responsibilities?
@emilyfreeman
emilyfreeman / require.markdown
Last active February 9, 2016 20:39 — forked from rrgayhart/require.markdown
The Concept of Require

When you start working with WebPack for GameTime, you'll notice that you can't just define a variable in one file and find it in another as easily as you can in Rails.

Read Node.js, Require and Exports and Organize Your Code with RequireJS

Fork this gist and answer the following questions:

  • In the context of Node, what is a module?
  • A module is a little like a class in Ruby and allows you to package and reference information in other areas of your code. The only public information is what's exported, all other information is kept private.