Stop Building Monoliths!

Short Form


All I needed to do was validate a postcode, and validating non-US postcodes can be tricky, so I didn't want to write that code myself.

So I went to Google and searched on "postcode validate javascript".

The first link was to a library, and it did postcode validation!

Then I read the documentation. Postcode validation was a method. Of a form object. Not a HTML form object, but the library's form object. I'd have to import the whole framework, and rewrite my application, just to validate postcodes.

Hold on here: postcodes are strings first, and maybe form elements later. But wouldn't validating a postcode be a method on a string?


JavaScript is haunted by monolithic frameworks and libraries that try to everything, and end up taking over your application. Monoliths seem like good ideas, but then they get in the way of building software, cause bands of hominids to throw bones in the air, and kill the wisecracking friendly person on your crew deader than if they had been Jossed.

In this talk I’ll go over why you don’t need monoliths (especially with modern browsers and JavaScript,) examples of good JS libraries that one thing well, and show you how you can go about porting good examples from other languages.


javascript, frameworks

Speaking experience

My last tech conference talk was at the 2013 YAPC-NA introducing MVC on the client to Perl devs. I've participated in numerous panel discussions at WisCon, Potlatch, and WorldCons.


  • Glasses


    Emma works on problems ranging from UI to identity. She believes that while Power Pop, Coffee, Hockey, Bicycles, JavaScript, and Feminism may not save us, they make the world better.


      • Title: Desigining for Renaming
      • Track: Culture
      • Room: B204
      • Time: 4:455:30pm
      • Excerpt:

        Renaming yourself is never easy. In Santa Clara County in the State of California, to file a petition to change one’s name costs over $400, and may take six months or more. Then one must change one’s name (and possibly one’s gender marker) on the dozens of sites and services one uses.

        On many sites, that’s easy, I go to preferences and edit my name.

        But then the site addresses me as “Mr. Emma Humphries,” oh really?

        Other systems will correctly greet me as “Emma” when I log in. But still call me by $DEAD_NAME when they send an email.

        This brings us to the first best practice:

        When I change my name in one place, change it in all the places.

      • Speakers: Emma Humphries