Adam on the Net

  • Archive
  • RSS
  • Ask me
Structure is emergent, not primary. When we set out to build a structure, and then fill it in, it’s not just that we will build the wrong thing, it’s that we won’t notice we’ve built the wrong thing until too late, and won’t be able to easily fix it.
http://blog.izs.me/post/33829864983/escaping-captivity-social-apes-making-software-in-the
  • 7 months ago
  • Comments
  • Permalink
  • Share
    Tweet

Using promises for clean asynchronous logic

Awareness of the Promises pattern has steadily increased since Deferreds were introduced into jQuery last year.  I was impressed with this informative read by Jesse Hallett which starts with the basics then continues with a step-by-step example of using small asynchronous flows as components for building more complex ones.  The example’s subject matter is easily recognized by any frontend developer who has struggled with logic to coordinate multiple interrelated AJAX requests in a fault-tolerant way.  The result from leveraging deferreds and promises is much simpler and safer than before.

Moving on, Jesse presents a function called flatMap which is able to generalize sequential operations in the same way $.when generalizes parallel ones.  As pointed out later, $.pipe provides much the same functionality as flatMap, but watching flatMap implemented as a step-by-step refactoring of the example code from the post provides increased understanding of why this pattern is useful and how it can be used.  Article:

Promise Pipelines in JavaScript

  • 9 months ago
  • Comments
  • Permalink
  • Share
    Tweet

Functional JavaScript mixins with Advice

The following presentation contains some awesomeness that goes beyond the title - How we Learned to Stop Worrying and Love JavaScript - presented by @danwrong and @angustweets at Fluent 2012.

Prototypal inheritance, classical inheritance, and simple property mixins are all discussed along with some of their drawbacks.  Then, an innovative pattern is presented for implementing functional JavaScript mixins including the notion of Advice, allowing mixins to augment - rather than clobber - each other.

I see this type of approach as useful in place of most types of inheritance, especially for implementing a plugin system into a larger library, and plan to give it a try the next time I need something similar.  Innovative work, Twitter guys.  Presentation link:

How we Learned to Stop Worrying and Love JavaScript

  • 11 months ago
  • Comments
  • Permalink
  • Share
    Tweet

Command Line Tools for Xcode

onethingwell:

This package enables UNIX-style development via Terminal by installing command line developer tools, as well as Mac OS X SDK frameworks and headers. Many useful tools are included, such as the Apple LLVM compiler, linker, and Make.

Apple’s official version of the OS X GCC Installer I mentioned the other day.

Interestingly, Apple were directly inspired by the OS X GCC Installer project and worked with the developer to ensure their tools would work with Homebrew.

Thanks, Jason!

  • 11 months ago > onethingwell
  • 6
  • Comments
  • Permalink
  • Share
    Tweet

Clean slate

My previous blog was a custom solution I wrote using Ruby on Rails.  It was a good learning experience, but due to my busy schedule it contained only some old announcements that may have been interesting 2 to 3 years ago when they were written along with some long-outdated technical writing.  To simplify, and maybe gain a little more time for sharing some thoughts here, I am starting over with this tumblelog.

  • 11 months ago
  • Comments
  • Permalink
  • Share
    Tweet

About

Avatar Principal Engineer, Platform at ExactTarget. Maintains Fuel UX and guides architecture of API services, UI components, and auth processes for Fuel Platform.

Pages

  • More about Adam

Adam across the Web

  • @adamalex on Twitter
  • Google
  • Linkedin Profile
  • adamalex on github

I Liked These Posts

  • Video via devexp
    Video

    Jake Archibald on building great JavaScript APIs.

    Video via devexp
  • Post via cloudfoundryblogblog
    Cloud Foundry Welcomes Joyent as Community Lead for Node.js

    Cloud Foundry has supported Node.js from day one. Today we are delighted to announce...

    Post via cloudfoundryblogblog
  • Link via onethingwell
    Command Line Tools for Xcode

    This package enables UNIX-style development via Terminal by installing command line developer tools, as well as Mac OS...

    Link via onethingwell
See more →
  • RSS
  • Random
  • Archive
  • Ask me
  • Mobile

© Adam Alexander. Effector Theme by Carlo Franco.

Powered by Tumblr