Skip to content

Instantly share code, notes, and snippets.

@necccc
Forked from nikcorg/berlin-jsconf-2014.md
Last active August 29, 2015 14:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save necccc/7726f34f0f386d26b036 to your computer and use it in GitHub Desktop.
Save necccc/7726f34f0f386d26b036 to your computer and use it in GitHub Desktop.

Jake Archibald (@jaffathecake): The ServiceWorker is coming; look busy
https://speakerdeck.com/jaffathecake/the-serviceworker-is-coming-look-busy https://github.com/jakearchibald/trained-to-thrill/

Hunter Loftis (@hunterloftis): We Will All Be Game Programmers
<slides missing>

CarterRabasa (@carterrabasa): A Community of People; Not Projects
https://github.com/crabasa/community-toolkit

Cristoph Martens (@martensms): JavaScript Level 9000
https://github.com/martensms/jsconf2014-slides

Michael Poltorak Nielsen (@michaelpoltorak): Alternative Smartphone Interactions based on Sensor Data
<slides missing>

Mathias Bynens (@mathias): JavaScript ♥ Unicode
https://mathiasbynens.be/notes/javascript-unicode

Drew Petersen (@kirbysayshi): Developing Games Using Data not Trees
https://speakerdeck.com/kirbysayshi/developing-games-using-data-not-trees

Jaswanth Sreeram (@jsreeram): Parallel JavaScript
<slides missing>

Michele Guido (@sheley): It Takes a Village to Make a Programmer
https://twitter.com/sheley/status/510758480928854016

Sara Robinson (@srobtweets): What Harry Potter Can Teach Us About JavaScript
https://sarajrobinson.com/jsconfeu/

Tim Messerschmidt (@seraandroid): Supercharging Node with Kraken
<slides missing>

Federico Musto: Linino.IO - A Whole New Take
<slides missing>

Frederik Braun (@freddyb): We're struggling to keep up (A brief history of Browser Security Features)
<slides missing>

Rik Arends (@rikarends): Beyond HTML and CSS: Fusing Javascript and shaders for live graphics and UI programming
http://hello.onejs.io/

Ray McDermott (@raymcdermott): How Toyota Motor Europe use Heroku to manufacture web sites on the web
<slides missing>

James Coglan (@jcoglan): Practical functional programming: pick two
http://slides.jcoglan.com/functional-jsconf

William Lewis & Pavel Dovbush; Badoo (@netproteus & @dppsu): Building a maintainable bi-directional cross platform protocol
http://techblog.badoo.com/files/building-a-maintainable-bi-directional-cross-platform-protocol/JSON_RPC.pdf

Raul Fraile (@raulfraile): How GZIP compression works
http://www.slideshare.net/raulfraile/how-gzip-compression-works-js-conf-eu-2014

Tim Taubert (@ttaubert): Keeping secrets with JavaScript: An Introduction to the WebCrypto API
http://timtaubert.de/blog/2014/09/keeping-secrets-with-javascript/

Matthew Podwysocki (@mattpodwysocki): Async and Streaming JS - Are we doing it wrong?
https://github.com/mattpodwysocki/jsconfeu-2014

Michael Donohoe (@donohoe): Deep-link to Anything on the Web
https://docs.google.com/presentation/d/1N6cbH0LOHRGiZY4FPlS5bho9cK7UMtM7Ho_XN8yP1T0/

Mathieu 'p01' Henri (@p01): Monster Audio-Visual demos in a TCP packet
<slides missing>

Arne Martin Aurlien (@arnemart): Implement an Esoteric Programming Language for Fun and... Well, Fun
https://github.com/arnemart/jsconf2k14
http://befungius.aurlien.net/

Brad Bouse (@bradbouse): Usefulness of Uselessness
http://www.wholepixel.com/jsconf/index.html

Dave Cridland (@dwddave): Air Crashes
https://www.surevine.com/air-disasters-and-software-not-such-a-tenuous-link/

Stephan Seidt (@evilhackerdude): The Meaning of Words
<slides missing>

Tim Pietrusky (@timpietrusky): Nerd Disco
http://slides.com/timpietrusky/nerd-disco/

Vyacheslav Egorov (@mraleph): invokedynamic.js
http://mrale.ph/talks/jsconfeu2014/
https://github.com/mraleph/mraleph.github.com/tree/master/talks/jsconfeu2014/code

Mathias Buus Madsen (@mafintosh): Javascript... Torrents... and Mad Science!
https://github.com/mafintosh/jsconf-eu-2014

Adrian Perez de Castro (@aperezdc): JavaScript in JavaScript: Inception
<slides missing>

Mark Knichel (@m_knichel): JavaScript Tools at Scale Using Type Information
<slides missing>

Rob Ashton (@robashton): Got Make?
http://slides.com/robashton/got-make
https://github.com/robashton/jsconfeu2014
http://linkis.com/codeofrob.com/entrie/kqnsq

Dan Mané (@danmane): Why are there so many Javascript charting libraries?!?
<slides missing>

Marcy Sutton (@marcysutton): JavaScript for Everybody
http://marcysutton.github.io/accessibility-of-mvcs/

Sergii Iefremov (@iefserge): Runtime.JS: V8 JavaScript Kernel
http://runtimejs.org/jsconf/

Lena Reinhard (@ffffux): This is bigger than us: Building a future for Open Source
https://speakerdeck.com/ffffux/this-is-bigger-than-us-building-a-future-for-open-source

Raquel Vélez (@rockbot): Evolution of a Developer
https://speakerdeck.com/rockbot/evolution-of-a-developer

Sebastien Cevey (@theefer): Server-less applications powered by Web Components
http://slides.com/theefer/serverless-web-components-jsconf

Jan Monschke (@thedeftone): Using the web for music production and for live performances
http://janmonschke.com/JSConf2014/

Shirmung Bielefeld (@shirmung): == ? === ??? ...#@^%
<slides missing>

Rosie Campbell (@rosiecampbell): Designing for displays that don't exist yet
<slides missing>

Sebastian Markbåge (@sebmarkbage): Minimal API Surface Area - Learning patterns instead of frameworks
<slides missing>

Nikita Vasilyev (@elv1s): Future of Web Tooling
<slides missing>

Dominikus Baur (@dominikus): Web-based data visualization on mobile devices
http://dominikus.github.io/jsconfeu_2014/

Brennan Novak (@brennannovak): Secure Crypto for Browser Based Apps
<slides missing>

Philip Roberts (@philip_roberts): What the heck is the event loop anyway?
<slides missing>

Amy Palamountain (@ammeep): Enemy of the State
http://amy.palamounta.in/blog/2014/04/13/enemy-of-the-state/

Jenna Zeigen (@zeigenvector): The Linguistic Relativity of Programming Languages
http://jennazeigen.com/jsconfeu-2014.pdf

Iliyan Peychev (@ipeychev): HTTP 2.0 and QUIC - protocols of the (near) future
https://speakerdeck.com/ipeychev/http-2-dot-0-and-quic-protocols-of-the-near-future

Jan Jongboom (@janjongboom): Abusing phones to make the internet of things
http://www.slideshare.net/janjongboom/jsconf-eu-2014-abusing-phones-to-make-the-internet-of-things

Lloyd Watkin (@lloydwatkin): You've played with realtime, let's do it properly...
http://talks.evilprofessor.co.uk/jsconfeu-2014/

Glen Maddern (@glenmaddern): GIFs vs Web Components
https://github.com/geelen/gifs-vs-web-components

Lindsay Eyink (@leyink): Know Your /'s
<slides missing>

// Use this script to parse the .md to JSON
// Distributed under the Works On My Computer, You're Entirely On Your Own License
// WTFPL (http://www.wtfpl.net/) also applies
var localSource = "slide-decks-jsconf-2014.md";
var remoteSource = "https://gist.githubusercontent.com/nikcorg/1fe60d2da6e22653806c/raw/301bda69f1ffae7154da693886cb5c46b0a134c2/slide-decks-jsconf-2014.md";
var rRowSeparator = /\r?\n/;
var rProbablyUrl = /^https?:/;
var rEmptyRow = /^(\s+)?$/;
var rLeadingTrailingWS = /^\s+|\s+$/g;
function trim(str) {
return str.replace(rLeadingTrailingWS, "");
}
function looksLikeUrl(url) {
return rProbablyUrl.test(url);
}
function createChunk() {
return [];
}
function chunkify(chunks, row) {
if (rEmptyRow.test(row)) {
chunks.push(createChunk());
} else {
chunks[chunks.length - 1].push(row);
}
return chunks;
}
function parseChunk(chunk) {
var desc = chunk[0];
var urls = chunk.slice(1).filter(looksLikeUrl);
var twitter = (desc.match(/\((@[^)]*)\)/) || []).pop();
var title = desc.match(/\:\s(.*)$/).pop();
var presenter = trim(desc.match(/^([^(:]*)/).pop());
var slides = urls.length > 0 ? urls.shift() : null;
var related = urls.length > 0 ? urls : null;
return {
title: title,
presenter: presenter,
twitter: twitter,
slides: slides,
related: related
};
}
function nonEmptyChunk(chunk) {
return chunk.length > 0;
}
function parseData(data) {
var parsed = data.
split(rRowSeparator).
map(trim).
reduce(chunkify, [createChunk()]).
filter(nonEmptyChunk).
map(parseChunk);
process.stdout.write(JSON.stringify(parsed));
}
function parseRemoteSource(parser) {
require("https").get(remoteSource, function (res) {
var payload = "";
res.on("data", function (chunk) {
payload += String(chunk);
});
res.on("end", function () {
parser(payload);
});
}).on("error", function (err) {
console.error("Fetching source failed", err.stack || err.message);
});
}
function parseLocalSource(parser) {
require("fs").readFile(localSource, "utf-8", function (err, data) {
if (err) {
return console.error("Error reading file", err.stack || err.message);
}
parser(data);
});
}
require("fs").exists(localSource, function (exists) {
if (! exists) {
return parseRemoteSource(parseData);
}
parseLocalSource(parseData);
});
@nikcorg
Copy link

nikcorg commented Oct 21, 2014

Lots of update upstream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment