Last active
October 23, 2015 02:14
-
-
Save rvagg/7a53feac929e6a3f1441 to your computer and use it in GitHub Desktop.
Node.js Interactive Scrabble Score Game
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
RANK TITLE SPEAKER SCRABBLESCORE | |
1 V8 Engine of Node.js on IA: JavaScript-JITTED x86 Chunyang Dai, Intel 195 | |
Machine Code Mapping Profiling Support and X87 | |
Quark Processor Enabling | |
2 FrontendFS: Creating a Filesystem for Web Clay Smith, New Relic 100 | |
Development Using Node.js | |
3 Lessons Learned Extending Node.js with Another Arunesh Chandra, Microsoft 98 | |
JavaScript Engine | |
4 Building and Engaging High Performance Teams in Chanda Dharap, StrongLoop Inc, an IBM Company 94 | |
the Node Ecosystem | |
5 Rebuilding the Ship as it Sails: Making Large Philip James, Eventbrite 89 | |
Legacy Sites Responsive | |
6 IoT Services Orchestration Layer – Helps You Jonathan Ding, Intel 88 | |
Create IoT Apps in Minutes | |
7 How to Build and Deploy Open Source Application Chris Bailey, IBM 88 | |
Monitoring Solutions | |
8 Building Interactive npm Command Line Modules -- Irina Shestak 82 | |
All The Things. | |
9 Rapid Development of Data Mining Applications in Blaz Fortuna, AI Lab, Jozef Stefan Institute 80 | |
Node.js | |
10 Node.js While Crafting - Make Textile to Compute! Mariko Kosaka, LiveIntent 78 | |
11 Terminal Output to the Browser in Seconds, Using Kilian Ciuffolo, Lukibear 76 | |
UNIX Pipes | |
12 Peer-to-Peer Numeric Computing with JavaScript Athan Reines, Verbify, Inc. 75 | |
13 Node.js Development for the Next Generation of IoT Melissa Evers-Hood, Intel 75 | |
14 Node.js Performance Optimization Case Study Bryce Baril, NodeSource 74 | |
15 Home Automation with Node.js and RasperryPi Mariano Campo, MercadoLibre 66 | |
16 Hands on Hardware Workshop with Tessel Kelsey Breseman, Tessel Project 62 | |
17 Intel XDK IoT Edition & Bluetooth Low Energy Elroy Ashtian, Intel 61 | |
18 Making Your Node Applications Debuggable Patrick Mueller, NodeSource 60 | |
19 Node.js API Pitfalls; Can You Spot Them? Sam Roberts, Strongloop 58 | |
20 JavaScript and the Internet of Things Andrew Chalkley, Treehouse 57 | |
21 Microservice Developer Experience Peter Elger, nearForm 57 | |
22 Offline-First Apps with PouchDB Bradley Holt, IBM Cloudant 56 | |
23 Home Automation with Node and MQTT Michael Dawson, IBM 55 | |
24 Node Intl: Where We Are, and What's Next Steven Loomis, IBM 54 | |
25 Plumbing the Depths of Handlebars Ryan Lewis, Expedia 54 | |
26 Go Ahead, Roll Your Own Framework Ryan Stevens, LendingClub 50 | |
27 Modernizing Winston for Node v4 Charlie Robbins, Nodejitsu 49 | |
28 Getting a Handle On Your Dependencies Dan Silivestru, bitHound 47 | |
29 Real-time Collaboration Sync Strategies Todd Kennedy, Scripto 47 | |
30 JavaScript for IoTivity Sakari Poussa, Intel 44 | |
31 Resource Management in Node.js Bradley Meck, NodeSource 41 | |
32 JavaScript, For Science! Max Ogden, DAT Project 41 | |
33 Production Node Performance Yunong Xiao, Netflix 40 | |
34 Carpentry with Duktape Tyler Brock, Hustle Inc. 40 | |
35 Server-Side Rendering Isn’t Enough Matthew Phillips, Phillips 39 | |
36 Building Twitter Bots in Node Philip James, Eventbrite 35 | |
37 Streams and You: A Love Story Calvin Metcalf, App Geo 35 | |
38 Reaching Ludicrous Speed Matteo Collina, nearForm 34 | |
39 Getting Sassy with Node David Khourshid, Counsyl 32 | |
40 Stellar Module Management David Dias, Protocol Labs 31 | |
41 Instrumenting Node.js Thomas Watson, Opbeat 30 | |
42 Contributing to Node Core Jeremiah Senkpiel, Zambah Inc. 30 | |
43 NPM Everywhere Mike MacCana, CertSimple 29 | |
44 IoT Lock Down Adam Englander, LaunchKey, Inc. 21 | |
45 NodeBots at Scale Matteo Collina, nearForm 20 | |
46 Internet of Cats Rachel White, IBM 19 | |
47 IoT && Node && You Emily Rose 14 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict' | |
const columnify = require('columnify') | |
const points = { | |
'E': 1, 'A': 1, 'I': 1, 'O': 1, 'N': 1, 'R': 1, 'T': 1, 'L': 1, 'S': 1, 'U': 1 | |
, 'D': 2, 'G': 2 | |
, 'B': 3, 'C': 3, 'M': 3, 'P': 3 | |
, 'F': 4, 'H': 4, 'V': 4, 'W': 4, 'Y': 4 | |
, 'K': 5 | |
, 'J': 8, 'X': 8 | |
, 'Q': 10, 'Z': 10 | |
} | |
const talks = [ | |
'Streams and You: A Love Story - Calvin Metcalf, App Geo' | |
, 'Getting Sassy with Node - David Khourshid, Counsyl' | |
, 'Internet of Cats - Rachel White, IBM' | |
, 'Instrumenting Node.js - Thomas Watson, Opbeat' | |
, 'Real-time Collaboration Sync Strategies - Todd Kennedy, Scripto' | |
, 'JavaScript and the Internet of Things - Andrew Chalkley, Treehouse' | |
, 'Production Node Performance - Yunong Xiao, Netflix' | |
, 'Terminal Output to the Browser in Seconds, Using UNIX Pipes - Kilian Ciuffolo, Lukibear' | |
, 'Getting a Handle On Your Dependencies - Dan Silivestru, bitHound' | |
, 'Plumbing the Depths of Handlebars - Ryan Lewis, Expedia' | |
, 'Hands on Hardware Workshop with Tessel - Kelsey Breseman, Tessel Project' | |
, 'Building and Engaging High Performance Teams in the Node Ecosystem - Chanda Dharap, StrongLoop Inc, an IBM Company' | |
, 'Modernizing Winston for Node v4 - Charlie Robbins, Nodejitsu' | |
, 'IoT && Node && You - Emily Rose' | |
, 'Go Ahead, Roll Your Own Framework - Ryan Stevens, LendingClub' | |
, 'Making Your Node Applications Debuggable - Patrick Mueller, NodeSource' | |
, 'IoT Lock Down - Adam Englander, LaunchKey, Inc.' | |
, 'Reaching Ludicrous Speed - Matteo Collina, nearForm' | |
, 'Carpentry with Duktape - Tyler Brock, Hustle Inc.' | |
, 'JavaScript for IoTivity - Sakari Poussa, Intel' | |
, 'FrontendFS: Creating a Filesystem for Web Development Using Node.js - Clay Smith, New Relic' | |
, 'Building Twitter Bots in Node - Philip James, Eventbrite' | |
, 'IoT Services Orchestration Layer – Helps You Create IoT Apps in Minutes - Jonathan Ding, Intel' | |
, 'Lessons Learned Extending Node.js with Another JavaScript Engine - Arunesh Chandra, Microsoft' | |
, 'Rapid Development of Data Mining Applications in Node.js - Blaz Fortuna, AI Lab, Jozef Stefan Institute' | |
, 'Intel XDK IoT Edition & Bluetooth Low Energy - Elroy Ashtian, Intel' | |
, 'Stellar Module Management - David Dias, Protocol Labs' | |
, 'Server-Side Rendering Isn’t Enough - Matthew Phillips, Phillips' | |
, 'Home Automation with Node and MQTT - Michael Dawson, IBM' | |
, 'Resource Management in Node.js - Bradley Meck, NodeSource' | |
, 'Rebuilding the Ship as it Sails: Making Large Legacy Sites Responsive - Philip James, Eventbrite' | |
, 'NodeBots at Scale - Matteo Collina, nearForm' | |
, 'Node.js API Pitfalls; Can You Spot Them? - Sam Roberts, Strongloop' | |
, 'NPM Everywhere - Mike MacCana, CertSimple' | |
, 'Home Automation with Node.js and RasperryPi - Mariano Campo, MercadoLibre' | |
, 'Peer-to-Peer Numeric Computing with JavaScript - Athan Reines, Verbify, Inc.' | |
, 'Node Intl: Where We Are, and What\'s Next - Steven Loomis, IBM' | |
, 'Node.js Development for the Next Generation of IoT - Melissa Evers-Hood, Intel' | |
, 'Microservice Developer Experience - Peter Elger, nearForm' | |
, 'Offline-First Apps with PouchDB - Bradley Holt, IBM Cloudant' | |
, 'Node.js While Crafting - Make Textile to Compute! - Mariko Kosaka, LiveIntent' | |
, 'How to Build and Deploy Open Source Application Monitoring Solutions - Chris Bailey, IBM' | |
, 'Building Interactive npm Command Line Modules -- All The Things. - Irina Shestak' | |
, 'V8 Engine of Node.js on IA: JavaScript-JITTED x86 Machine Code Mapping Profiling Support and X87 Quark Processor Enabling - Chunyang Dai, Intel' | |
, 'Node.js Performance Optimization Case Study - Bryce Baril, NodeSource' | |
, 'JavaScript, For Science! - Max Ogden, DAT Project' | |
, 'Contributing to Node Core - Jeremiah Senkpiel, Zambah Inc.' | |
] | |
function scrabbleScore (str) { | |
return str.toUpperCase().split('').reduce((p, c) => p + (points[c] || 0), 0) | |
} | |
console.log( | |
columnify( | |
talks.map((talk) => { | |
let si = talk.lastIndexOf(' - ') | |
, title = talk.substr(0, si ) | |
, speaker = talk.substr(si + 3) | |
return { rank: 0, title, speaker, scrabbleScore: scrabbleScore(title) } | |
}) | |
.sort((t1, t2) => t1.scrabbleScore < t2.scrabbleScore ? 1 : t1.scrabbleScore === t2.scrabbleScore ? 0 : -1) | |
.map((talk, i) => (talk.rank = i + 1) && talk) | |
, { maxWidth: 50 } | |
)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment