Skip to content

Instantly share code, notes, and snippets.

@7Ds7
Forked from nikcorg/berlin-jsconf-2014.md
Last active August 29, 2015 14:06
Show Gist options
  • Select an option

  • Save 7Ds7/4057e24dbbad374b72a9 to your computer and use it in GitHub Desktop.

Select an option

Save 7Ds7/4057e24dbbad374b72a9 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
<slides missing>

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 sourceFile = "slide-decks-jsconf-2014.md";
var sourceUrl = "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 twitter = (desc.match(/\((@[^)]*)\)/) || []).pop();
var title = desc.match(/\:\s(.*)$/).pop();
var presenter = trim(desc.match(/^([^(:]*)/).pop());
var urls = chunk.slice(1).filter(looksLikeUrl);
return {
title: title,
presenter: presenter,
twitter: twitter,
slides: urls.shift() || null,
other: urls
};
}
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(sourceUrl, 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 parseLocalFile(parser) {
require("fs").readFile(sourceFile, "utf-8", function (err, data) {
if (err) {
return console.error("Error reading file", err.stack || err.message);
}
parser(data);
});
}
require("fs").exists(sourceFile, function (exists) {
if (! exists) {
return parseRemoteSource(parseData);
}
parseLocalFile(parseData);
});
@nikcorg
Copy link
Copy Markdown

nikcorg commented Sep 21, 2014

I updated the upstream version with a (toJSON) parser script, as well as amended the text with the links your provided.

@7Ds7
Copy link
Copy Markdown
Author

7Ds7 commented Sep 21, 2014

Thanks man, good job on the slides collection btw, thank you for this

@nikcorg
Copy link
Copy Markdown

nikcorg commented Oct 21, 2014

Lots of updates upstream.

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