About PDXjs

Portland JavaScript Admirers is a group that meets monthly to discuss topics on JavaScript and ECMAscript ranging from client-side web frameworks, to functional and prototypal programming theory. Meetings take place on the fourth Wednesday of every month from 7-9pm at Janrain. (map)

New members and speakers are always welcome! Please send a message to pdxjs@googlegroups.com if you would like to give a presentation, or if you have a suggestion for a topic. And feel free to join our mailing list if you too are a JavaScript admirer.

Upcoming Meetings

Meetings take place on the fourth Wednesday of every month from 7-9pm at Janrain. (map)


Follow the Portland JavaScript Admirers on Calagator, subscribe via Google Calendar, subscribe via My Yahoo!, subscribe to the ical feed.

Reporting from the Closures

PDXjs February 2012 Meeting Recap

23 February 2012

At our February meeting, we went over some ideas for improving the PDXjs website, Howard Leis Ship gave a talk on CoffeeScript, the upcoming CouchConf Portland, 7 Databases in 7 weeks, promise libraries, EventReactor, and analysis of the recently popular Wat video.

PDXjs.com wishlist

A wishlist of possible updates to this site:

  • live editing for real-time meeting notes
  • meeting times (currently presented via Calagator widget, that may need some fixing up)
  • tomorrow’s winning lottery numbers
  • EtherPad Lite, implemented with node.js, could be used for meeting notes
  • notes from meetings


Howard Lewis Ship gave a talk on CoffeeScript

  • try-finally is broken in IE7
  • how does one debug CoffeeScript apps?

CouchConf PDX

CouchConf Portland is coming up on March 14, 2012.

7 Databases in 7 Weeks

The upcoming book, 7 Databases in 7 weeks was mentioned as a good introduction to various NoSQL databases and the reasons for choosing one over another.

Promises, Promises

What is the best promise library for Node.js?

  • futures.js was recommended
  • q is another option, with addons in qq
  • async is another
  • oath is yet another
  • EventReactor is another nice tool for working with async code in node and in the browser
  • stay tuned for a talk on promises at a future PDX.js meeting


Ryan Munro explained the JS segment from the Wat - the destroy all software video.

  • {} represents an empty block syntax
  • Ryan demoed a trick for strengthening the js type system, setting the valueOf function for various JavaScript built-in types to undefined

Other Weirdness

  • ~ is bitwise “not”. -~n can be used to increment a number n that may be undefined

From after the meeting:

  • Thorax is a framework on top of Backbone
  • Node-Inspector could be really handy for debugging node.js apps.


08 November 2009

This month we had a great detailed talk on Cappuccino, given by Howard Lewis Ship. Cappuccino is a JavaScript framework for creating rich graphical interfaces in the browser. It is an effort by some former Apple engineers and is the flagship product of their company, 280 North. They essentially re-created OS X’s Cocoa library and adapted it to run on Objective-J, a dialect on top of JavaScript that is designed to be similar to Objective-C. The advantage of using Objective-J instead of pure JavaScript is that you can use the Cappuccino libraries with pretty much the same API that you would use when building native Cocoa apps. Real live Cappuccino apps that you can try out are 280Slides by 280 North and almost.at, which is an independent effort.

continued »

Sammy and Cross-Origin Resource Sharing

02 August 2009

At our July meeting Scott Becker gave us a presentation on a wonderful tool called Sammy. Sammy is a framework inspired by the Ruby framework, Sinatra, for structuring web applications on the client side. It works on the idea that a rich application can have many different virtual pages in a single browser page. Sammy maps each virtual page to a URL using the fragment portion of the URL do distinguish between different virtual pages in the browser page. For example, example.com/app/#/main and example.com/app/#/subpage could represent two different virtual pages, or ‘actions’.

continued »

PDXjs June Meeting Recap - Agile JavaScript Testing

09 July 2009

Our June meeting was the first meeting at Kongregate. This meeting was more free-form than most. But Scott Becker talked more about behavior-driven development in JavaScript. He brought up a lot of tools that he hadn’t covered in his previous talk.

Slides from Scott’s talk are online. Scott also drew up this list of links to various tools that are useful for testing JavaScript.

continued »

PDXjs May Meeting Recap

08 July 2009

At our May meeting the air was abuzz with preparations for Open Source Bridge. Scott Becker was preparing a topic on behavior-driven development in JavaScript with a focus on using Screw.Unit. Screw.Unit is a spec framework based on Ruby’s RSpec. Scott gave a preview of that talk for the JavaScript Admirers.

continued »

PDXjs April Meeting Recap

06 May 2009

This month we heard talks about several new JavaScript features and techniques. Duncan Beevers started off with a talk titled JavaScript Packaging Strategies. He recommends using Sprockets to combine JavaScript files with smart dependency handling. And he says that YUI Compressor is a good way to reduce the file size of the resulting package. Though for best results you will want to combine YUI Compressor with gzip.

continued »

PDXjs March Meeting Recap

27 March 2009

We started of the March meeting of the Portland JavaScript Admirers with a demonstration of ReverseHttp. This is a protocol that allows any HTTP client to act as an HTTP server by receiving requests on a public-facing subdomain. So it allows for a web server written in JavaScript to run in a normal web page.

A useful application of a web server in a page is that provides a flexible way to push data into a client side application. The client does not have to be specially set up for polling; and the program pushing the data does not have to be specially configured to support long-polling connections.

continued »

A Wanderer @ CubeSpace

25 February 2009

Portland JavaScript Admirers have convened for a second time. There’s a mailing list, a web site, plus you can follow on Calagator. We meet at CubeSpace, Portland’s geek HQS (for software – not competing with Free Geek). Ad: Women’s Networking Group meets in Roman on second Tuesdays. read more

continued »

PDXjs January Meeting Recap

29 January 2009

The inaugural meeting of the Portland JavaScript Admirers was a big success. We started off the evening with a round of introductions.

After that we listened to several talks on the fine language that is JavaScript. I pulled out my copy of JavaScript: The Good Parts by Douglas Crockford and went over some of the tips from the book on how to write great JavaScript code. I focused on how and why to avoid global variables - which can sneak up on your JavaScript code if you are not careful.

continued »

Admiring Javascript

28 January 2009

I’m at the first Portland JavaScript Admirers, well attended, geeks cheering for CubeSpace. We’ve got lots of independent contractors, including my Hewlett-Packard friend from Pythoneers (how I’m logged in, wearing the fleece), whom I also invited to our Ruby meetings, first Tuesdays. read more

continued »