1. Before and After Filters in CoffeeScript

    Inspired by Rails, this CoffeeScript class structure allows for before and after methods to be applied to any methods on the prototype.


    Read More

  2. 08:19 20th Feb 2013

    Notes: 1

    Multiple levels of inheritance with Javascript

    With classical programming languages, creating a chain of successive inheritance is achieved simply by extending a parent class. With prototypal languages, its a bit more tricky. 

    A way you can do this though with relative ease is by using ECMAScript 5 Object.create. Lets check out an example:

    Sidenote: Typically we show our examples in CoffeeScript but since the extend syntax for Coffee does something similar to this already, we’ll show how to accomplish this in good old Vanilla JavaScript.

        function Person (firstName, lastName) {
            this.firstName = firstName;
            this.lastName = lastName;
        Person.prototype.fullName = function() {
            return this.firstName + ' ' + this.lastName;
        function Employee () {
            // Snag first 2 arguments and call Person's constructor
            // which in this case is going to be our parent
            Person.apply(this, Array.prototype.slice.call(arguments, 0, 2));
            // Expects the last two arguments be for Employee
            this.title = arguments[2];
            this.company = arguments[3];
        // Makes an instance of Person the prototype of Employee
        Employee.prototype = Object.create(Person.prototype);
        Employee.prototype.fullInformation = function() {
            return this.fullName() + '\n' + this.title + '\n' + this.company;
        // Build an Employee instance
        potus = new Employee('Jeb', 'Bartlett', 'President', 'United States of America');
        potus.fullName() // 'Jeb Bartlett'
        // 'Jeb Bartlett
        // President
        // United States Of America'
        potus instanceof Employee // true
        potus instanceof Person // true
  3. Breaking the habit

    We have developed a really bad habit of attempting to become consistent with our posts, only to fizzle out after a few weeks. Sometimes that is due to our fluctuating and overloaded work schedule, but most of the time it’s pure laziness. 

    I mention this for two reasons. Firstly, we are hopeful that by calling ourselves out, we will be less likely to relapse (self inflicted embarrassment is a powerful motivator).

    Secondly, we believe strongly that bad habits are more easily broken when done in conjunction with other significant life events. And in light of some recent changes for us, I would certainly say that time is now.

    So whats the big news you ask? Well, turns out our company Crashlytics was recently acquired by Twitter!

    Read More

  4. It’s been too long

    Life has been pretty crazy for us, and we haven’t done a good job keeping our blog up to date.

    We have been doing a lot of new stuff building out large scale applications for JS / HTML / CSS at Crashlytics and having a blast. We’ve started posting pro-tips fairly regularly over at Coderwall (Mark’s tips, Patrick’s tips) and some demos at CodePen (Mark’s demos, Patrick’s demos), so make sure to check those out for our latest stuff.

    We have some also plans in store for the upcoming year too - a CSS style guide, finally releasing a CLI for web development, a few extensions for backbone, and maybe a UI kit! Stay posted :)

  5. If you need a machine and don’t buy it, then you will ultimately find that you have paid for it and don’t have it.
    — Henry Ford
  6. New Pro Tips on Coderwall

  7. Rule #23

    If you have to pick, choose crazy over smart

  8. Rule #22

    Aim for the elusive balance between smart and crazy

  9. Rule #82

    Always have unreasonable goals

  10. New Beginnings

    As of tonight, we have decided to finally publish our front end structures built on Ruby on Rails as command line utilities. Our Backbone / Marionette with Jasmine test suite as Calcium and our Compass / SASS structure as Northstar. They will serve as scripts to help generate and manage your thick client application leveraging these technologies.

    Lots more to come, stay tune…