-
Notifications
You must be signed in to change notification settings - Fork 5
/
schedule.js
643 lines (622 loc) · 53.3 KB
/
schedule.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
var schedule = [{
"uid": "JSCONF2013-A101",
"title": "Lessons from the experimental edge of technology",
"description": "When asked if I wanted to build a Chrome Experiment: a thing that shows off some of the new technology coming to browsers - of course I said yes! Then promptly I bit off the biggest bite of tech I could get my hands on: WebRTC, two way video, peer connection API, orientation events, CSS3 animations, Three.js: generally a lot of tech I didn't really understand!This talk is about the experience of working with WebRTC for video & data streaming and creating a game with embedded video. How some of the problems I encountered blew my schedule to pieces and perhaps how I could have done things differently.Spoiler: WebRTC may actually be more of a mindf**k than AppCache.",
"speaker": {
"name": "Remy Sharp",
"description": "Remy is the founder and curator of Full Frontal, the UK based JavaScript conference. He also ran jQuery for Designers, co-authored Introducing HTML5 (adding all the JavaScripty bits) and is one of the curators of HTML5Doctor.com.Whilst he’s not writing articles or running and speaking at conferences, he runs his own development and training company in Brighton called Left Logic. And he built these too: jsbin.com, html5demos.com, remote-tilt.com, responsivepx.com, nodemon, inliner, mit-license.org, snapbird.org and jsconsole.com!Generally speaking, he’s about as crazy about JavaScript, HTML & CSS as a squirrel is about his nuts during the winter!"
},
"location": "Yammer Track",
"starting_at": "2013/05/29 10:00:00",
"ending_at": "2013/05/29 10:30:00"
}, {
"uid": "JSCONF2013-A102",
"title": "JavaScript Masterclass: How you you go from being a good developer, to a great one?",
"description": "I am not an expert developer. I am also not a beginning developer. I'm an intermediate developer, and I want to navigate the path from being a mediocre or good developer, to becoming a great or expert level developer. How in the heck do I do this?The tutorial ecosystem of the web is heavily skewed towards beginners, but what about the rest of us?If you identify with these statements in the slightest, then this talk is for you. With ideas from cognitive science, education, and some advice from admired programmers along the way, we are going to explore what it means to be a world-class developer and what we need to do to get there. I'll talk a little bit about the philosophy, attitude, and habits (both good and bad) required for learning how to learn better, and then we will talk about the kinds of skills and knowledge that an expert programmer in general needs. Along the way we'll touch about various myths and cognitive biases about who can and cannot be a great programmer, and leave you with a path to get started. By the end of the talk, I will have proposed a curriculum of topics that should take an intermediate developer and turn them into an advanced one, and special attention will be given to mastery of the JavaScript language.",
"speaker": {
"name": "Angelina Fabbro",
"description": "Angelina Fabbro is a programmer based in Vancouver, Canada and works at Steamclock Software. Angelina\n\t\t\thas a background in cognitive science, building clever robots and\n\t\t\tresearching what people pay attention to. Her record as a web\n\t\t\tdeveloper is balanced with modern iOS experience and a keen sense of\n\t\t\tdesign. Angelina also both teaches and mentors for the\n\t\t\tVancouver chapter of Ladies Learning Code."
},
"location": "Yammer Track",
"starting_at": "2013/05/29 10:30:00",
"ending_at": "2013/05/29 11:00:00"
}, {
"uid": "JSCONF2013-A103",
"title": "Break",
"description": null,
"speaker": {
"name": "None",
"description": null
},
"location": "Yammer Track",
"starting_at": "2013/05/29 11:00:00",
"ending_at": "2013/05/29 11:30:00"
}, {
"uid": "JSCONF2013-A104",
"title": "JavaScript is Literature is JavaScript",
"description": "Anyone who thinks Brendan Eich invented JavaScript has probably never read Oscar Wilde. “The truth is rarely pure and never simple” says Algernon in Wilde's Importance of Being Earnest, thus betraying a wary familairity with our favorite language. It turns out JavaScript's highly expressive nature and the infinite posibilities of its syntax made it a favored medium for our literary forebears.Last summer I introduced the concept of Literary JavaScript with If Hemingway wrote JavaScript, wherein five famous writers demonstrated their JavaScript smarts. That article generated very positive reactions from both the JavaScript and Literary communities (including write-ups in the New Yorker, Huffington Post and Wired Magazine) and this talk will build on those themes, drawing parallels between the myriad stylistic facets of JavaScript and the kaleidescope of literary genres. There is a serious aspect - I hope to demonstrate that JavaScript's loose structure and lack of boilerplate encourages creativity and is something to celebrate rather than something to WTF about.Oh, and as an added bonus I'll be unveiling an additional set of recently re-discovered works of literary JavaScript genius.",
"speaker": {
"name": "Angus Croll",
"description": "Angus is a displaced Brit with an obsession for JavaScript and Literature in equal measure. He works for Twitter's web core team and is the author of the JavaScript, JavaScript blog. Angus isalso writing a JavaScript book due out this year on No Starch Press."
},
"location": "Yammer Track",
"starting_at": "2013/05/29 11:30:00",
"ending_at": "2013/05/29 12:00:00"
}, {
"uid": "JSCONF2013-A105",
"title": "Learning New Words",
"description": "Godwin's Law for JavaScript: as people discuss a proposed extension to JavaScript syntax, the likelihood of someone saying \"Stop trying to turn JavaScript into Java!\" approaches 1.For years I've tried to understand this perspective. Why are there so many people out there for whom present-day JavaScript is Good Enough™? What crucial aspect of JavaScript's identity are they trying to defend? Why do they get so scared when someone suggests new syntax? Can we figure out how to evolve the language without incurring the wrath of their pitchforks and/or torches?I'm going to spend half an hour trying to figure it out, and I invite you to join me.",
"speaker": {
"name": "Andrew Dupont",
"description": "Andrew Dupont is a freelance web developer and writer. He's the co-maintainer of Prototype, the popular JavaScript toolkit, and the author of Practical Prototype & script.aculo.us, published by Apress. He yells at humans for sport."
},
"location": "Yammer Track",
"starting_at": "2013/05/29 12:00:00",
"ending_at": "2013/05/29 12:30:00"
}, {
"uid": "JSCONF2013-A106",
"title": "#dadt (Dojo already did that)",
"description": "or: \"The underpinnings of a modern day web Application\". A quick, fun (and educational) look back over nearly a decade of Javascript evolution. Where we are now, where we started, and the mess of nonsense that happened in between. ",
"speaker": {
"name": "Peter Higgins",
"description": "Grey bearded fist shaking new daddy Javascript developer. Former Dojo Toolkit project lead, general code monkey."
},
"location": "Yammer Track",
"starting_at": "2013/05/29 13:30:00",
"ending_at": "2013/05/29 14:00:00"
}, {
"uid": "JSCONF2013-A107",
"title": "JavaScript Journalism",
"description": "It is time that news stories told with JavaScript get recognized as a form of journalism. It took years for photo journalism to get the recognition it deserves, now it the time to recognize JS Journalism.Most news organizations presented election news using JavaScript. News home pages often have more JS than text.A bit of history. A bit of academia. A bit of current news. A few guesses about the future. But nothing about the future of newspapers.",
"speaker": {
"name": "Ray Daly",
"description": "Ray (@raydaly) released his first JavaScript program, HTMLjive (http://www.raydaly.com/#htmlJivePg), in January 1996. That summer he gave his first JS talk: \"JavaScript Makes Your Site an Application\" after co-authoring the book \"Using JavaScript.\" RGBjive and GEMjive followed. In 2011 JSConf.eu was a father-son outing. He's also attended a few other JSConfs and beerjs events."
},
"location": "Yammer Track",
"starting_at": "2013/05/29 14:00:00",
"ending_at": "2013/05/29 14:30:00"
}, {
"uid": "JSCONF2013-A108",
"title": "Break",
"description": null,
"speaker": {
"name": "None",
"description": null
},
"location": "Yammer Track",
"starting_at": "2013/05/29 14:30:00",
"ending_at": "2013/05/29 15:00:00"
}, {
"uid": "JSCONF2013-A109",
"title": "Mass Hysteria: Clients and Servers, Living Together",
"description": "One of the best-slash-worst-slash-best-again things about JavaScript is its ubiquity on both sides of the client/server model. In this talk, Jed will talk about the useful biomimicry seen on each side of the web ecosystem: in client-side servers like Browserver and Chrome TCP Listen, and server-side clients like JSDOM and PhantomJS.",
"speaker": {
"name": "Jed Schmidt",
"description": "Jed is a javascript developer based in Tokyo, Japan.\n He is\n the guy behind\n browserver,\n ramendan, and\n 140byt.es,\n and often seen on\n github,\n flickr,\n soundcloud, and\n twitter.\n "
},
"location": "Yammer Track",
"starting_at": "2013/05/29 15:00:00",
"ending_at": "2013/05/29 15:30:00"
}, {
"uid": "JSCONF2013-A110",
"title": "AI.js: Robots with Brains!",
"description": "Once upon a time, there was a roboticist. She spent eight years working with robots of various shapes, sizes, and intelligence levels - her specialty was in planning and navigation algorithms (useful for driverless cars, rescue robots, etc.). Eager for some fresh air away from the lab, she switched gears and started developing a better Internet with JavaScript and Node.js.In her time away, however, her little robot friends have also learned JavaScript! The likes of Johnny-Five and NodeCopter have breathed new life into those traditionally Python/C++-controlled machines, and our favorite roboticist's little vacation has come to a close.Whereas 2012 was the start of moving, reactive robots programmed in JavaScript, 2013 will be the year of the smarter, autonomous robot! Task-driven and data-oriented, they will be the most intelligent JS robots you've ever seen - and they'll be the founders of the robot.js of tomorrow.In this talk, we will discuss and review examples of not only what is possible, but also what traditional roboticists will have a hard time acknowledging: JavaScript is not only a legitimately viable language for robots, but also a fascinating opportunity to solve problems that can't be solved with Python/C++ alone!",
"speaker": {
"name": "Raquel Vèlez ",
"description": "Raquel \"@rockbot\" Vèlez is a really weird engineer. First, she received her BS in mechanical engineering from Caltech. Then she (played with | built | programmed | psychoanalyzed) robots for 8 years, at places like NASA JPL, the MIT Lincoln Laboratory, and various universities in Europe. She took a break to do that startup thing as a co-founder and CTO... but came to her senses and found a new life online as a web developer. Raquel got her start as a Developer at Skookum Digital Works; she is now an engineer at Storify in San Francisco, working with an amazing team of people to navigate and define the intersection between journalism and social media.In her off time, you can find her baking, hacking on node.js, and speaking. Also, hanging out with her hilarious husband and two cats dressed in dog suits. She's online at http://raquelvelez.com"
},
"location": "Yammer Track",
"starting_at": "2013/05/29 15:30:00",
"ending_at": "2013/05/29 16:00:00"
}, {
"uid": "JSCONF2013-A111",
"title": "Break",
"description": null,
"speaker": {
"name": "None",
"description": null
},
"location": "Yammer Track",
"starting_at": "2013/05/29 16:00:00",
"ending_at": "2013/05/29 16:30:00"
}, {
"uid": "JSCONF2013-A112",
"title": "There's No Right Answer and Anyone Who Tells You Differently is Lying or Selling Something",
"description": "Fights over frameworks and tools and automatic semicolon insertion suck the life out of our community and make newcomers question our sanity. Sometimes we gravitate toward simplicity even though a robust-if-complex solution might save us time in the long run; sometimes we pick the most difficult and time-consuming path when we could grab something -- for free! -- off the shelf and move on. Making the \"right\" decision is hard, and is rarely the result of plugging variables into a formula and checking the result. Unless our job title says otherwise, we do well to conduct ourselves as experts, not evangelists.",
"speaker": {
"name": "Rebecca Murphey",
"description": "I am a senior software engineer at Bazaarvoice, and a frequent speaker on the topic of code organization and best practices. I'm the co-organizer of the TXJS conference, the author of the learning site jQuery Fundamentals (http://jqfundamentals.com), a contributor to the jQuery Cookbook from O'Reilly Media, and a technical reviewer for Effective JavaScript by Dave Herman. I tweet @rmurphey, blog at rmurphey.com, and live in Durham, NC, with my partner, our dog, and two terrible cats."
},
"location": "Yammer Track",
"starting_at": "2013/05/29 16:30:00",
"ending_at": "2013/05/29 17:00:00"
}, {
"uid": "JSCONF2013-A113",
"title": "JavaScript in the Trenches",
"description": "The instant gratification you get when developing in JavaScript is wonderful, and it is fun to quickly write great applications. However, as these applications grow, development starts to feel more like carving code in stone. The code becomes more and more difficult to change and to refactor with confidence without any type information and explicit interfaces. The truth for most of us is that our JavaScript code deteriorates over time. In your quest for the perfect solution, maybe you’ve kicked the tires with TypeScript and thought “this is interesting… how can this help with my large scale projects?\nThis is exactly what my team did 18 months ago. We build on-line development components, such as the TypeScript playground. My team had an existing large JavaScript code base and we started by dipping our toes in the water by using TypeScript for a single component only. Since we were the first TypeScript ‘dogfooders’ we wanted to ramp up slowly and we also had some hard core JavaScript developers in the team that were concerned about losing the instant gratification of JavaScript. As the project evolved our code got more and more infected by TypeScript. Interestingly, we didn’t feel that we lost the good parts of JavaScript when converting the code to TypeScript.\nToday the project is the largest TypeScript code base inside Microsoft with more than 200k lines of TypeScript in production. In this talk we will take a deep look at the journey and show how TypeScript and other technologies like AMD were used to successfully scale up a large JavaScript project that ships in some of Microsoft’s biggest products and services.",
"speaker": {
"name": "Erich Gamma",
"description": "After spending many years as a Java developer, Erich Gamma (Design Patterns, Eclipse, JUnit, Rational Team Concert) jumped ship and joined Microsoft in 2011 as a Distinguished Engineer. He and his team work out of a small Microsoft development lab in Zurich, Switzerland, where they work on components for on-line development. You can see these components in action in several Microsoft products, such as Team Foundation Service, Azure Mobile Services, the TypeScript playground, and most interestingly the Office 365 Development tools."
},
"location": "Yammer Track",
"starting_at": "2013/05/29 17:00:00",
"ending_at": "2013/05/29 17:30:00"
},
{
"uid": "JSCONF2013-A114",
"title": "Toward a language-neutral browser VM.",
"description": "JavaScript has a yin and yang, or put another world-religion way, it serves two masters: humans who hand-code apps and libraries, and compilers that generate JS as virtual machine code. No language can serve two such masters for long. Consider C, still hand-coded, used only as a target language \"temporarily\", a la early C++'s cfront. Which one will win with JS? I think hand-coding is closer to God, make no mistake, but I'm concerned about the case that mammon will prevail in the longer run.\nIn this dystopia, hand-coding will die hard, but compilers can out-generate humans and relieve programmers from having to learn and use JS, especially when they know and prefer another language, and definitely (as in the case of 3D games) when they have C++ code to port. Just as in the story of John Henry vs. the Steam-Powered Hammer, a noble human may get ahead in a sprint, but end up dying after the finish line from a burst heart.\nI will present demos of compiled-to-JS programs including 3D games. I'll then do quick dive into the asm.js (http://asmjs.org/) subset of JS generated by Emscripten, and the OdinMonkey all-at-once asm.js compiler built into Firefox's SpiderMonkey engine. I will also present near-term extensions for data and task parallelism in JS. Finally, I will discuss code size and memory use, and sketch how hand-coded and compiler-generated JS can be linked together and share references into one anothers' heaps.",
"speaker": {
"name": "Brendan Eich",
"description": "Brendan Eich invented a little known language called JavaScript, perhaps you have heard of it? He co-founded mozilla.org, and serves as CTO, Mozilla. He posts somewhat regularly to brendaneich.com."
},
"location": "Yammer Track",
"starting_at": "2013/05/31 10:00:00",
"ending_at": "2013/05/31 10:30:00"
}, {
"uid": "JSCONF2013-A115",
"title": "PLV8",
"description": "Selena was entered into our reverse call for speakers process with the topic description for the amazing PLV8, the V8 engine JavaScript procedural langauge for PostgreSQL. She is currrently finalizing her talk description. Stay tuned.",
"speaker": {
"name": "Selena Deckelmann",
"description": "Selena is a data architect at Mozilla who keeps chickens in Portland, OR and likes Postgres. She's an internationally-recognized speaker on open source, computer science education and databases."
},
"location": "Yammer Track",
"starting_at": "2013/05/31 10:30:00",
"ending_at": "2013/05/31 11:00:00"
}, {
"uid": "JSCONF2013-A116",
"title": "Break",
"description": null,
"speaker": {
"name": "None",
"description": null
},
"location": "Yammer Track",
"starting_at": "2013/05/31 11:00:00",
"ending_at": "2013/05/31 11:30:00"
}, {
"uid": "JSCONF2013-A117",
"title": "For the love of style guides",
"description": "Can style guides lead to better UI code? Better performance? Yes, absolutely. In this talk, Nicole will show you how she and her team collaborated with Trulia engineers and designers to create a living style guide. She'll also share some yummy data about how that affected real user measurements.",
"speaker": {
"name": "Nicole Sullivan",
"description": "Nicole is a UI performance nerd living and working in San Francisco. She helps companies make their CSS smaller and their UI more manageable. She is also an author, most recently contributing to the Web Performance Daybook Volume 2."
},
"location": "Yammer Track",
"starting_at": "2013/05/31 11:30:00",
"ending_at": "2013/05/31 12:00:00"
}, {
"uid": "JSCONF2013-A118",
"title": "Live Recompilation of Running JS",
"description": "Recompilation of running JS without having to restart it. It's like Bret Victors talk, when he demo's rewriting code (http://vimeo.com/36579366 , for example at 5:45). I'd like to show a working proof of concept of this as well as demo other parts of his talk that are up'n'running, and how you'd go about coding something like that.So a crazy nerdcore JS rewriting and tooling talk. Guaranteed to blow peoples minds.",
"speaker": {
"name": "Peter van der Zee",
"description": "He's the organizer of the yearly js1k competition. Wrote a static analysis tool for JS (ZeonJS) and a JS parser (v2 is currently the fastest! ;). Passionate about writing tools and parsers with/for/in JS, as well as nerdcore JS on the language level. He currently works at Surfly, building a service that's like remote desktop except in the browser. Happily married. Loves pretty much any kind of games, be it digital or analogue. Seriously, go play some analogue games with him."
},
"location": "Yammer Track",
"starting_at": "2013/05/31 12:00:00",
"ending_at": "2013/05/31 12:30:00"
}, {
"uid": "JSCONF2013-A119",
"title": "In Process",
"description": "YayQuery was voted in as a speaker through our alumni callback process, they are currrently finalizing their talk/show description. Stay tuned or check out their previous episodes!",
"speaker": {
"name": "YayQuery",
"description": "Their biography must be seen (and source viewed) to truly understand the yayQuery."
},
"location": "Yammer Track",
"starting_at": "2013/05/31 13:30:00",
"ending_at": "2013/05/31 14:00:00"
}, {
"uid": "JSCONF2013-A120",
"title": "Using the Microsoft Kinect with Javascript OR Sweatin' to the Web",
"description": "I will cover basics on how the Kinect works, some comparable hardware and how it differs, and finally a few solutions to get the Kinect working with your Javascript/HTML based webpage along with working examples of skeleton tracking, gestures for your application, and more.",
"speaker": {
"name": "Ben Farrell",
"description": "Ben Farrell is a Creative Developer currently working at Digitalsmiths, in Durham NC, specializing in digital audio and video on many platforms. He's helped clients release web based Flash and HTML5 video players as well as iOS and Android video apps. In combination with his last job at 360KID, Ben's projects have earned two Emmy awards, two more nominations and many other industry awards.Ben is a UI developer at heart, but not one who stresses over how many pixels round a corner is, or how perfect his wireframes are. Instead, Ben loves new and innovative ways to use graphics, sound, and interaction - which is why mobile, touch, and Kinect based experiences are so interesting to him.As he has lots of fun with video and sound, it should be no surprise that Ben is a Senior Producer at geek run Codebass Radio, runs a music radio show called \"The Shark Attack\", and co-hosts a tech talk show called \"Runtime Expectations\".You can find him blogging at benfarrell.com, listen to his radio shows at codebassradio.net and runtimeexpectations.com, or check out his music discovery side project at blastanova.com."
},
"location": "Yammer Track",
"starting_at": "2013/05/31 14:00:00",
"ending_at": "2013/05/31 14:30:00"
}, {
"uid": "JSCONF2013-A121",
"title": "Break",
"description": null,
"speaker": {
"name": "None",
"description": null
},
"location": "Yammer Track",
"starting_at": "2013/05/31 14:30:00",
"ending_at": "2013/05/31 15:00:00"
}, {
"uid": "JSCONF2013-A122",
"title": "Making WebGL Dance",
"description": "The modern graphics card is a massive parallel computer, capable of pushing dozens of gigabytes of data per second through its pipes. And now with WebGL, you have the keys. To wield that power properly, you need math and lots of it. In this talk we'll explore what makes modern 3D graphics tick, how realistic shader effects are made, and how I learnt to stop worrying and love linear algebra.",
"speaker": {
"name": "Steven Wittens",
"description": "Steven Wittens is a long time web developer, recreational mathematician and graphics enthusiast. Ever fond of playing with the cutting edge toys, he maintains the tech blog Acko.net, a living demo of JavaScript, CSS 3D, WebGL. A veteran of the open source world and supposedly a qualified engineer, he combines his passion for math and software with a perpetual desire to make the world a more visually interesting place."
},
"location": "Yammer Track",
"starting_at": "2013/05/31 15:00:00",
"ending_at": "2013/05/31 15:30:00"
}, {
"uid": "JSCONF2013-A123",
"title": "BPM Detection with JavaScript",
"description": "Digital Signals Processing (DSP) is inherently essential to any signals-based field, be it digital audio effects, computer graphics, or computer vision. The web has just begun it's foray into accommodating for DSP, becoming increasingly equipped to handle and modulate signals with the advent of technologies such as the Web Audio API and WebGL. With the basic DSP tools provided by these technologies, we are minimally bootstrapped and able to leverage these tools to implement powerful algorithms and incorporate powerful fields of research. One such application is the modulation and processing of music signals. In this talk I will focus on an application that is more complicated than it seems: automatic BPM detection of music. Due to the complexities of how we as humans perceive sound, parse harmonics, and \"feel\" beats within a song, BPM becomes a challenging and enthralling problem to tackle. I've just begun to embark on an endeavor to implement BPM detection in javascript, building upon budding DSP tools in JS and pulling from algorithms hardened by academic research. I have been digging into academic research papers in the field identifying and categorizing plausible algorithms from simple to complex, separated by effectiveness for differing applications. I hope to implement a number of these algorithms across this spectrum and compare their effectiveness for different kinds of music and applications. I believe exposing and providing robust algorithms for BPM detection would be a strong tool and asset towards many javascript-based web (and server-side ;D) applications, whether for categorization purposes, or for something more dynamic like music visualization.I first began my investigation into BPM detection as a way to break music visualization out of its frequency rut to reflect more compelling metrics such as BPM & key, which encode our consumption and perception of music in a different way. I plan to use my implementations to build out music visualizations that use alternative metrics in a compelling way that reflects (or invokes!) how we emotionally react to the music we listen to.",
"speaker": {
"name": "Janessa Det",
"description": "When Janessa was in elementary school, she wanted more than anything to make a website about Pokémon. Upon typing “HTML” in Alta Vista’s search box, a journey began from which she never turned back. Bolstered by a plethora of diverse influences—14 years of classical piano, a Bioengineering degree from Duke, and a Master’s in Computer Science from Columbia—she has developed a passion for finding ways to breed engineering research, music, and art with the trusty steed of JavaScript to make the magical unicorns of her imagination a reality. By day she hacks for Twitter in New York as a member of the Web team."
},
"location": "Yammer Track",
"starting_at": "2013/05/31 15:30:00",
"ending_at": "2013/05/31 16:00:00"
}, {
"uid": "JSCONF2013-A124",
"title": "Break",
"description": null,
"speaker": {
"name": "None",
"description": null
},
"location": "Yammer Track",
"starting_at": "2013/05/31 16:00:00",
"ending_at": "2013/05/31 16:30:00"
}, {
"uid": "JSCONF2013-A125",
"title": "CreativeJS - making art in the browser",
"description": "Seb is known for his engaging presentations and this will be no exception. He'll be showing how recent developments in browser technology have opened up a wide range of new creative possibilities. Expect demos, live coding, and amusing technical failures.",
"speaker": {
"name": "Seb Lee-Delisle",
"description": "Seb Lee-Delisle is an award winning digital artist and speaker who likes to make interesting things that engage and inspire people.His work has pushed the boundaries of what is possible in digital, and he won a BAFTA for a BBC project with Plug-in Media, the agency he founded in 2003. In 2012 he was awarded an Arts Council grant for the large scale installation PixelPyros (the official launch of the Brighton Digital Festival), closely followed by a commission for the Dublin Science Gallery GAME exhibition, Lunar Trails, that features a full size arcade cabinet and a 3m wide drawing machine.A sought-after speaker, his recent Creative JavaScript / HTML5 workshop series sold out within hours. He co-hosts the Creative Coding Podcast, his blog can be found at seb.ly and he tweets @seb_ly. Photo credits due to Stefan Nitzsche."
},
"location": "Yammer Track",
"starting_at": "2013/05/31 16:30:00",
"ending_at": "2013/05/31 17:00:00"
}, {
"uid": "JSCONF2013-A126",
"title": "Open Discussion",
"description": "A conference wrap up with a look to the future.",
"speaker": {
"name": "Chris Williams",
"description": "@voodootikigod"
},
"location": "Yammer Track",
"starting_at": "2013/05/31 17:30:00",
"ending_at": "2013/05/31 18:00:00"
},
{
"uid": "JSCONF2013-B127",
"title": "Sure, you can use JavaScript to program Robots. But how about having a Robot debug your JavaScript instead?",
"description": "Programming is cool. Developing new features is awesome. Making them work is… boring. In this talk we'll show you how a (software) Robot can make your life more fun by helping debug your code.",
"speaker": {
"name": "Olivier Crameri",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/29 10:00:00",
"ending_at": "2013/05/29 10:30:00"
}, {
"uid": "JSCONF2013-B128",
"title": "APIs and Making Humankind Better at Programming",
"description": "Making humankind better at programming is one of the big ideas, the big problems to solve. Coding is the new literacy and a terrifying number of people in both developed and underdeveloped countries do not know how to program. Worse, enrollment in CS and Engineering programs is dropping, so it seems as if interest itself is waning. What can we do to fix this? ",
"speaker": {
"name": "Carter Rabasa",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/29 10:30:00",
"ending_at": "2013/05/29 11:00:00"
}, {
"uid": "JSCONF2013-B129",
"title": "Surviving the Offline Apocalypse",
"description": "Everyone knows the apocalypse is coming, but it's not what you think. It's not zombies or prophesied Mayan destruction. No, my friends, it's the offline apocalypse and it is already here! Billions of devices have already been affected and many more will be affected each and every day! Fortunately, HTML5 provides us with weapons like Application Cache, IndexedDB and the FileSystem API to survive the offline apocalypse and have fun doing so. By walking through the building of an \"offline first\" JS application that is currently deployed across Africa, you will learn how to use these technologies to build robust offline solutions.",
"speaker": {
"name": "John Kleinschmidt",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/29 11:00:00",
"ending_at": "2013/05/29 11:30:00"
}, {
"uid": "JSCONF2013-B130",
"title": "Post Modern Game Input Devices",
"description": "Browsers have become toy boxes full of fun things to play with. Some of the most fun had is when using HTML5 APIs to enable new forms of interaction between input hardware and the browser for games and other types of dynamic applications.",
"speaker": {
"name": "Luis Montes",
"description": "Escaped the corporate enterprise java life to co-found Iced Dev. Now working with Javascript, Node, and an open source HTML5 game engine called FrozenJS."
},
"location": "SpringSource Track",
"starting_at": "2013/05/29 11:30:00",
"ending_at": "2013/05/29 12:00:00"
}, {
"uid": "JSCONF2013-B131",
"title": "Down The Rabbit Hole: Chasing bugs from the browser to the backend",
"description": "Oh no! You have a bug in your app, but you have no idea where it is. I’ll walk you through how we found and squashed a gnarly bug in socket.io using wireshark, chrome’s developer tools, lots of logging, and pretty graphs. I’ll also show you some good tips and tricks for tracking down and squashing bugs of your own.",
"speaker": {
"name": "Brandon Dimcheff",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/29 12:00:00",
"ending_at": "2013/05/29 12:30:00"
}, {
"uid": "JSCONF2013-B132",
"title": "Performance Tuning Secrets",
"description": "Performance-tuning JavaScript code in a browser environment can feel like a dark art. Let's shine a spotlight on some tricks of the trade",
"speaker": {
"name": "Peter Flynn",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/29 13:30:00",
"ending_at": "2013/05/29 14:00:00"
}, {
"uid": "JSCONF2013-B133",
"title": "Connecting your shiz.js with AOP",
"description": "Loose coupling. You've got that, right? You're using pubsub, event emitters, and message buses! Guess again, you can do better.",
"speaker": {
"name": "Brian Cavalier",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/29 14:00:00",
"ending_at": "2013/05/29 14:30:00"
}, {
"uid": "JSCONF2013-B134",
"title": "Flight.js",
"description": "An introduction to the Flight framework from Twitter",
"speaker": {
"name": "Dan Webb",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/29 14:30:00",
"ending_at": "2013/05/29 15:00:00"
}, {
"uid": "JSCONF2013-B135",
"title": "Mobile HTML5: Device APIs and related APIs",
"description": " In this talk, I will talk about HTML5 JavaScript device APIs that make communication between a browser and hardware possible, and enable mobile web to have \"native-like\" experiences.",
"speaker": {
"name": "Tomomi Imura (aka @girlie_mac)",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/29 15:00:00",
"ending_at": "2013/05/29 15:30:00"
}, {
"uid": "JSCONF2013-B136",
"title": "Sound Will Age You",
"description": "We, The Old Ones, once ventured to the land of HTML5 Audio, discarding the warning \"Here Be Dragons\". We thought we could tame them. We thought it would be easy. We were wrong.",
"speaker": {
"name": "Blaine Bublitz",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/29 15:30:00",
"ending_at": "2013/05/29 16:00:00"
}, {
"uid": "JSCONF2013-B137",
"title": "Touch me, I dare you...",
"description": "Designing for a touch first web is becoming more important every day with the proliferation of touch devices ranging from phones to tablets to convertible laptops to touch monitors. The issue is that most folks think this just means having bigger buttons but they are wrong. Yes, understanding touch target sizes is important but that’s the absolute bare minimum. A great touch experience starts with understanding your user's context and includes understanding the difference between touch and a mouse with issues ranging from how to handle gestures to thinking about things like your usage of hover state to scoping input correctly and more. In this brief session, Josh Holmes from Microsoft will dive into these issues and show you how to build a great web experience that will help you on all platforms and devices with touch interface. ",
"speaker": {
"name": "Josh Holmes",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/29 16:00:00",
"ending_at": "2013/05/29 16:30:00"
}, {
"uid": "JSCONF2013-B138",
"title": "tus.io - Squeezing Cats Through Tiny Mobile Tubes",
"description": "The internet has a problem. With the rise of HD cameras, videos and images keep getting bigger and bigger. Unfortunately that makes it much harder to upload them through unreliable mobile networks. As a result, millions of cat videos and images are lost due to network errors every year.\nThe solutions are obvious, but unfortunately there is a distinct lack of interoperable software and protocols to make resumable file uploads a no-brainer for everybody.\ntus.io is an open source project that's here to change this! We are working on an open protocol, along with client and server implementations for all plattforms to make sure no upload will ever be lost in the tubes again.\nThis talk will go over the technical problems and browser APIs for performing resumable uploads, and also look at improving upload speeds.",
"speaker": {
"name": "Felix Geisendörfer",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/29 16:30:00",
"ending_at": "2013/05/29 17:00:00"
},
{
"uid": "JSCONF2013-B139",
"title": "How to prepare a distributed nodejs application",
"description": "microframework for distributed nodejs applications with service discovery and remote dependency control.",
"speaker": {
"name": "Daniel Tralamazza",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/31 10:00:00",
"ending_at": "2013/05/31 10:30:00"
}, {
"uid": "JSCONF2013-B140",
"title": "Node Copters in the Cloud",
"description": "You have seen how cool it is to wirelessly control flying robots using Node.js, now come see how we can extend the Node Copters with the power of the cloud! Come see how we can use Node.js and Windows Azure to remotely control our robots from hundreds of miles away. See how we can instantly upload our Node Copter camera videos to the cloud and more. This session promises to be ridiculous and fun. Why would we do this you might ask? Because we can.",
"speaker": {
"name": "Nathan Totten",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/31 10:30:00",
"ending_at": "2013/05/31 11:00:00"
}, {
"uid": "JSCONF2013-B141",
"title": "A JavaScript framework for computational simulations",
"description": " http://lab.dev.concord.org/ \nTwo years ago the Google Foundation awarded us a major grant to develop a JavaScript + HTML5 version of our educational physics simulation called Molecular Workbench\nBecause Javascript is fast and the web is ubiquitous, we have extended the work to create a general framework for publishing explorable scientific simulations that run in the browser,\nFrom the beginning we've kept a close eye on performance and extensibility.\nWe'll show off our framework and talk about the lessons we've learned regarding this relatively new form of web app.",
"speaker": {
"name": "Stephen Bannasch",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/31 11:00:00",
"ending_at": "2013/05/31 11:30:00"
}, {
"uid": "JSCONF2013-B142",
"title": "Perf the web forward!",
"description": "Open your issue trackers, get your pull requests ready, and join John-David Dalton, co-maintainer of jsperf.com and creator of Lo-Dash, to perf the web forward as he discusses commonly overlooked performance issues, rethinks established code patterns, and shares tips you can apply to your own projects and favorite libraries.",
"speaker": {
"name": "John-David Dalton",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/31 11:30:00",
"ending_at": "2013/05/31 12:00:00"
}, {
"uid": "JSCONF2013-B143",
"title": "Boom! Promises/A+ Was Born",
"description": "Frustration, a rant, a test suite, a gist. Then, community awesomeness. Boom! Promises/A+ was born.\n\nPromise are an old idea for abstracting asynchronous code, but have only recently made their way into JavaScript. We'll look at the power they provide via two striking examples that go beyond the usual \"escape from callback hell\" snippets. First we'll show how, with ES6 generators, they can act as shallow coroutines to give us back code just as simple as its synchronous counterpart. Then we'll look at how they can be used as proxies for remote objects, across `<iframe>`, worker, or web socket boundaries.\n\nHowever, the most interesting aspect of Promises/A+ is not just the code it enables, but how we worked to create it. We didn't join a standards body, but instead formed a GitHub organization. We had no mailing list, only an issue tracker. We submitted pull requests, made revisions, debated versions tags, etc.—all in the open, on GitHub. And, we succeeded! Promises/A+ is widely used and implemented today, with its extensible core forming the starting point of any discussions about promises. Indeed, this community-produced open standard has recently been informing the incorporation of promises into ECMAScript and the DOM. I'd like to share the story of how this happened, the lessons we learned along the way, and speculate on the role such ad-hoc, community-driven, and completely open specifications have for the future of the web.",
"speaker": {
"name": "Domenic Denicola",
"description": "Domenic loves using JavaScript for everything, from frontend work to desktop applications to Node.js servers to Windows 8 apps. He's passionate about things like software craftsmanship, the next version of JavaScript, and making the standards process more transparent to developers, and is known as one of the co-authors of the Promises/A+ open specification. Domenic works at Lab49 in New York City."
},
"location": "SpringSource Track",
"starting_at": "2013/05/31 12:00:00",
"ending_at": "2013/05/31 12:30:00"
}, {
"uid": "JSCONF2013-B144",
"title": "Taming Client-Server Communication",
"description": "In the early days of the web, a browser could only interact with a server on page load. The XMLHttpRequest enabled the web 2.0 revolution popularizing RESTful web services in the process. Now, with HTML5, we have WebSockets. WebSockets enable a plethora of messaging based communication patterns. This talk will dive into two cujoJS libraries that specialize in client-server communication: rest.js (https://github.com/cujojs/rest) for consuming RESTful HTTP services and msgs.js (https://github.com/cujojs/msgs) for message oriented programing between clients and servers utilizing WebSockets. We’ll talk about what access patterns each of these mediums enable and how to extend these libraries to fit your specific needs.",
"speaker": {
"name": "Scott Andrews",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/31 13:30:00",
"ending_at": "2013/05/31 14:00:00"
}, {
"uid": "JSCONF2013-B145",
"title": "Put a TopCoat on PhoneGap",
"description": "Come check out Adobe's new CSS library for building clean and fast web apps.",
"speaker": {
"name": "Brian LeRoux",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/31 14:00:00",
"ending_at": "2013/05/31 14:30:00"
}, {
"uid": "JSCONF2013-B146",
"title": "Builders vs Breakers",
"description": "A internal civil war has been my life for years as I've walked the razor wire separating breakers and builders.\nI'd like to share my experiences presenting outside the security industry at developer conferences like Djangocon, JSConf (trackb), and RealtimeConf what it's like to be the lone security professional in a sea of builders, what it feels like, what they say, what they really care about, how not to speak to them, how to completely disrespect them, and how to fail miserably.",
"speaker": {
"name": "Adam Baldwin",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/31 14:30:00",
"ending_at": "2013/05/31 15:00:00"
}, {
"uid": "JSCONF2013-B147",
"title": "Master the Command Line with Node.js",
"description": "Apache Cordova, a project enabling web developers to build native applications for several different mobile platforms using open web technologies, and its community has been working feverishly on creating awesome tooling for our users during the past year. The tooling includes ways to create cross-platform native mobile applications with web technologies, right from your command line, as well as installing little bundles of JavaScript and native code to extend the capabilities of your hybrid applications with arbitrary device functionality (plugins, in the Cordova world). In this talk, Mike and Fil will go through their experience building command-line tools using node.js, what revisions and rewrites they had to endure, patterns they've converged on, and tips and tricks to share with the community.",
"speaker": {
"name": "Filip Maj & Michael Brooks",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/31 15:00:00",
"ending_at": "2013/05/31 15:30:00"
}, {
"uid": "JSCONF2013-B148",
"title": "space-age-miracle-tools.js",
"description": "When we started the Brackets open-source code editor project, we wanted it to become a sandbox for people to easily prototype innovative tooling ideas for HTML, CSS, and JS. In this talk, we'll show off some crazy new tools for things like visualizing asynchronous code flows and advanced live JS development that have all been built on top of Brackets.",
"speaker": {
"name": "Narciso (nj) Jaramillo",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/31 15:30:00",
"ending_at": "2013/05/31 16:00:00"
}, {
"uid": "JSCONF2013-B149",
"title": "Constraint programming in the browser",
"description": "Constraint programming is a paradigm that lets programmers specify the relationships between different variables, and then maintain those relationships even as the user toys with each variable. Cassowary is a fast constraint solver which now powers auto layout in iOS applications. The JavaScript port of Cassowary brings fast constraint programming to the browser.",
"speaker": {
"name": "Adam Solove",
"description": null
},
"location": "SpringSource Track",
"starting_at": "2013/05/31 16:30:00",
"ending_at": "2013/05/31 17:00:00"
},
{
"uid": "JSCONF2013-C151",
"title": "Learning Node.js",
"description": "A hands-on on-boarding to Node.js focused on teaching you the essentials of how Node.js works thru code: Callback vs. Streams, How node core remains minimal with npm and user-land, What does Node core do for you (focused on network protocols). Finally we put it all together with a sample app and discuss performance implications of real-life Node.js production applications.",
"speaker": {
"name": "Nuno Job",
"description": "Geek. Open-source enthusiast.\n\t\t\t Shaping the future of the node.js clouds at Nodejitsu.\n\t\t\t Founder at The Node Firm & curator of LXJS."
},
"location": "Training Track",
"starting_at": "2013/05/29 10:00:00",
"ending_at": "2013/05/29 12:30:00"
}, {
"uid": "JSCONF2013-C152",
"title": "WTF is \"this\"? 4 Simple Rules of a Crazy Keyword",
"description": "This intermediate talk will de-mystify the keyword 'this', and give you the 4 simple rules that govern it. If you've ever had trouble guessing what object \"this\" should refer to during a function call, we'll make sure you leave with a compass for figuring it out every time.",
"speaker": {
"name": "Marcus Philips",
"description": "Marcus is the curriculum designer and lead instructor at Hack Reactor, a 12 week immersion school for learning JavaScript. Until recently, he wrote JavaScript framework code and anti-spam systems at Twitter, where he also lead the #CodeClass initiative, Twitter’s in-house programming courses. He’s passionate about outreach education, and has contributed to programs such as Coding for Good, Coder Dojo, JUMA Ventures, and The Stanford LEAD program."
},
"location": "Training Track",
"starting_at": "2013/05/29 13:30:00",
"ending_at": "2013/05/29 15:00:00"
}, {
"uid": "JSCONF2013-C153",
"title": "JS Application Frameworks 101",
"description": "Nuts and bolts of JS application frameworks: how to write tools for messaging, extending objects, and changing state; how to safely integrate DOM or utility libraries and plugins; how to integrate CSS and templates; how to connect all the pieces; how to apply that knowledge to choosing an existing framework.",
"speaker": {
"name": "Garann Means",
"description": "Garann is a JavaScript developer and has been for many years. She's also been a backend developer and a frontend generalist, as well as a gas station attendant, college radio DJ, and owner of a vintage clothing store. She's the author of Node for Front-End Developers, the organizer of Austin All-Girl Hack Night and Girl Develop It Austin, and is very slowly remodeling her house."
},
"location": "Training Track",
"starting_at": "2013/05/29 15:00:00",
"ending_at": "2013/05/29 16:00:00"
}, {
"uid": "JSCONF2013-C154",
"title": "Node.js, IOS, Automation, and you - An intro to Appium",
"description": "Starting from scratch to develop an automation process for your mobile devices. From building to automating, web and native. This would cover the appium open source project, it's relationship to webdriver and the use of WD.js to write the new promises style automation.",
"speaker": {
"name": "Adam Christian",
"description": "I am a: javascript, automation and foreign languages geek - working at Sauce Labs with the goal of making software development better. I grew up Washington State, snowboarding, hiking and sailing and generally love the outdoors. I've attended many of the various JSConf.* events over the last few years and always immensely enjoy learning about the continuing inspiring innovation happening in our community!\n"
},
"location": "Training Track",
"starting_at": "2013/05/29 16:30:00",
"ending_at": "2013/05/29 17:30:00"
},
{
"uid": "JSCONF2013-C155",
"title": "Understanding the Misunderstood Parts of JavaScript",
"description": "You will leave this training with a very good conceptual understanding of the most misunderstood parts of JS. After many years of training people on JavaScript, I've learned to approach training difficult topics from a variety of approaches. For prototypal inheritance, I will:\nwalk through multiple examples\nvisually diagram what JS is doing in memory\nWrite a JS implementation of the DOT (.) and NEW (new) operators\nNot everyone learns the same way. Explaining a concept in multiple ways results in much better retention. I also keep things fun by using humorous examples and bringing a lot of energy on what is typically dry material.",
"speaker": {
"name": "Justin Meyer",
"description": "Pamela Fox loves to learn, teach, create, and every combination of those. During the day, she works as a frontend engineer at Coursera, working to improve the future of online education. At night and on the weekends, she teaches web development classes for the GirlDevelopIt San Francisco chapter.. Before that, she worked in Google Developer Relations, and graduated from USC's Computer Science Department (Go Trojans!)."
},
"location": "Training Track",
"starting_at": "2013/05/31 10:00:00",
"ending_at": "2013/05/31 12:30:00"
}, {
"uid": "JSCONF2013-C156",
"title": "Getting Started with Backbone.JS (or some variant)",
"description": "These days, it's hard to build a modern web application without using an MVC framework to modularize and structure your JavaScript code. But if you've never used a JavaScript MVC framework or worked with a RESTful architecture, it can be hard to wrap your head around this new way of doing things.\nIn this workshop, we will introduce Backbone.JS, one of the most popular JS MVC frameworks in use today, and then we'll actually write some code to implement Backbone models and views to interact with an API backend. We'll conclude with real-world uses of Backbone and lessons learnt.",
"speaker": {
"name": "Pamela Fox",
"description": "Pamela Fox loves to learn, teach, create, and every combination of those. During the day, she works as a frontend engineer at Coursera, working to improve the future of online education. At night and on the weekends, she teaches web development classes for the GirlDevelopIt San Francisco chapter.. Before that, she worked in Google Developer Relations, and graduated from USC's Computer Science Department (Go Trojans!)."
},
"location": "Training Track",
"starting_at": "2013/05/31 13:30:00",
"ending_at": "2013/05/31 15:00:00"
}, {
"uid": "JSCONF2013-C157",
"title": "Modules, what are they good for?",
"description": "Have you ever started developing a simple application that only had one or two JavaScript files, and after a short time, you had over a dozen different scripts that you were loading, and if the sequence was even slightly off, things went awry? Everyone hits this point eventually, and the solution is modules!In this session, we'll introduce what a module is and why it matters to you. There are many benefits to modular code development, and we'll cover those at an introductory level. We'll also take a look over the past, present, and future of modules in JavaScript. By the time we're done, you'll have a solid foundation to take away and put to use in your application!Topics to be covered:",
"speaker": {
"name": "Brian Arnold",
"description": "Brian Arnold is the Lead Support & Senior Software Engineer at SitePen. He has been developing using JavaScript and a wide variety of libraries and frameworks over the past decade. Immersed heavily in the Dojo Toolkit these days, Brian organized the creation of over fifty tutorials for Dojo, wrote the Router module release in Dojo 1.8, and travels the country teaching classes on JavaScript and Dojo usage. He's also in the top 2% of Rock Band guitarists."
},
"location": "Training Track",
"starting_at": "2013/05/31 15:00:00",
"ending_at": "2013/05/31 16:00:00"
}];