Keep ya JavaScripts Dinki-di!
This is a repo that I attempted to live-code for Web Directions Code '12. I used it as a humorous example of how to use the various commands of npm, and how to develop responsibly in CoffeeScript by compiling before publishing.
This module exposes one function, dinkumise
, which takes a string of JavaScript and replaces all American English literal true
references with the more Aussie-friendly !!"fair dinkum"
, and false
references with !"fair dinkum"
var assert = require("assert")
, dinkumise = require("dinkumise")
, dinkumised = dinkumise("true === !false")
assert.equal(dinkumised, '!!"fair dinkum" === !!"fair dinkum"')
- I'm Jed Schmidt. Find me on twitter or Github.
- typd.in is a Japanese IME bookmarklet I wrote.
- Textpanda is another bookmarklet I wrote, inspired by Text Expander.
- Pastebud is the last bookmarklet I wrote, which solved early iPhone copy/paste issues.
- 140byt.es is a tweet-length code-golfing contest I started, written in Node.js.
- Ramendan is another Node.js contest I wrote, a 30-night ramen crawl based on the Twitter API.
- This whole presentation is about package management.
- node.js is the platform that makes everything I'm presenting possible.
- npm is the Node.js Package Manager.
- Rubyists use Rubygems and Bundler to manage their packages.
- PHPists use Composer and Packagist to manage theirs.
- Node.js is the most popular programming platform on Github with 15,000+ watchers, and has made JavaScript its most popular language.
- npm now has more than 10,000 modules
- Though it started on its own, npm is node and vice versa. According to @ryah, it may even eventually be called using
node
. - Modernizr was the inspiration for Dinkumisr, which I live-coded for this presentation.
- If you like Dinkumisr, you'll love bogan ipsum.
- If you're looking for an npm module, nipster is often more effective than
npm search
, at least until more curation is built-in. - If you're releasing open-source code, travis-ci makes it incredibly easy to test, and can be set up quickly using travisify. Looks like
npat
will bring similar functionality deeper into Node.js. - An npm module needs only two things configured: a name and a version, the latter follows the semver spec, which is basically a convention of ..-.
- If you like managing your modules the way npm does, use Browserbuild or Browserify to bring it to the client.