Test-Driven JavaScript with ScrewUnit and BlueRidge

19 Feb

Regular March 2nd JavaSIG Meeting: Test-Driven JavaScript with ScrewUnit and BlueRidge

(for a follow-up Terracotta/Ehcache, see below)

Web applications increasingly rely on JavaScript to implement their business logic, but until recently creating this code was challenging and risky. Recent evolutions in JavaScript testing frameworks now allow creating test suites, test-driving development, and running tests on a continuous integration server. This allows us to support more complex JavaScript, have confidence in the implementation, and push more of the logic from the server into the browser, reducing the load on the server.

We now have a reliable JavaScript testing process in place, using BlueRidge, ScrewUnit and Rhino. We’ll walk through how we:

  • test-drive Javascript development
  • safely refactor JavaScript files when they get too big
  • run tests on a continuous build server
  • create more modular JavaScript

We’ve come up with guidelines that help us write more solid and ambitious JavaScript. We’d like to share what we’ve learned, and how it has impacted how we work and approach the design and implementation now.

This talk is targeting at developers familiar with unit testing and JavaScript, but not necessarily both together. No Ruby is necessary. (One of our developers blasted out a Java/Maven version as well).

Speakers’ Bios

Andrew Peterson has 20 years experience building and managing software systems for consumers, enterprises and non-profits. He brings expertise in the full life-cycle of software development, software methodologies, software architecture, software engineering, and usability. In the consumer space, he led the team in the creation of the top-selling SoundEdit 16. He served numerous roles for the leading enterprise supplier of software for container terminals, shipping ports and lines, and distribution centers. At Carbon Five he has focused on start-ups, including Aardvark and goBalto.com.

Jonah Williams is a developer at Carbon Five, a boutique software consulting firm. He builds web applications in Java and Ruby and is pursuing agile iPhone application development. He is a advocate of test driven development and interested in identifying sustainable and efficient development practices. Jonah’s previous experience includes enterprise Java applications, PC games, and hardware engineering. His work and opinions can be found at http://blog.carbonfive.com.


March 2nd, 2010, the first Tuesday of the month.


Cubberly Community Center
4000 Middlefield Road, Room H-1
Palo Alto, California 94105


6:30-7:00 Doors open. Networking.
7:00-9:00 Presentations.



$15 for non-members and free for SDForum members. $3 for pizza and soda.

Extraordinary Terracotta/Ehcache presentation, March 11 in San Francisco: Scaling from 1 node to 1000 with the absolute minimum changes

Scaling from 1 node to 1000 is traditionally a complex proposition. 1 node requires a bit of performance tuning but not much else. Getting to 2 nodes requires introduction of new technologies such as clustered caches, messaging frameworks, and transactions in order to keep data correct across the cluster. From there, lots of tuning work has to be done to get from 2 nodes to medium-sized 20 node clusters. And, 200 or more nodes usually requires partitioning / sharding and lots of custom tuning and logic; perhaps even a NoSQL solution. In this talk, we will spend time on how to use Ehcache, Hibernate, Quartz, Tomcat (or other containers) in conjunction with Terracotta to get to hundreds of nodes without all the separate stages of architecture and design such as messaging, partitioning, NoSQL, and more–this recipe for scaling from 1 node to 1000 provides a seamless continuum within which your applications can operate and scale. This scalability continuum has implications on EC2 and EC2 has implications on the continuum. In this talk, we will also cover the ramifications of cloud on large-scale data management and we will apply the scalability continuum to our cloud-based applications to lessen our dependence on the database and, thus, take full advantage of the cloud’s elasticity.

In this talk, you will learn about:

  • Ehcache + Terracotta as a scalability solution that alleviates your need for complex database infrastructure
  • Database offload best practices from Terracotta customers
  • Terracotta’s cloud-capable runtime and how to actually deploy to hundreds of nodes in hours
  • EC2 and VMWare best practices for scaling with Terracotta’s frameworks

Speakers’ Bios

Greg Luck founded Ehcache in 2003. He regularly speaks at conferences, writes and codes. He has also founded and maintains the JPam and Spnego open source projects, which are security focused. Prior to joining Terracotta in 2009, Greg was Chief Architect at Wotif.com where he provided technical leadership as the company went from a single product startup to a billion dollar public company with multiple product lines. Before that Greg was a consultant for ThoughtWorks with engagements in the US and Australia in the travel, health care, geospatial, banking and insurance industries. Before doing programming, Greg managed IT. He was CIO at Virgin Blue, Tempo Services, Stamford Hotels and Resorts and Australian Resorts. He is a Chartered Accountant, and spent 7 years with KPMG in small business and insolvency. Greg holds a Bachelor of Commerce and a Masters in Information Technology.

Taylor Gautier is a Principal Client Architect for Grid Dynamics, specializing in delivering mission critical solutions in high performance, high scale computing environments. Previously Taylor ran Product Management for Terracotta, and has held senior engineering positions for Excite@Home, Intel and numerous startups. Taylor is a co-author of “The Definitive Guide to Terracotta” and has published several patents in the areas of building scalable systems for the Telecommunications, Search, and Storage industries.


March 11, 2010, 6:30 PM.


Terracotta HQ

650 Townsend St Suite 325
San Francisco, CA 94103
+1 415 738-4088



Free, but the space is limited, so if you intend to participate, please RSVP here http://www.meetup.com/TerracottaTech/calendar/12643349/

Refreshments will be provided by Terracotta.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: