Skip to content

Instantly share code, notes, and snippets.

@aaronpowell aaronpowell/agenda.js forked from JakeGinnivan/agenda.ts
Last active Sep 7, 2018

Embed
What would you like to do?
import * as cheerio from 'cheerio'
export const fetchAgenda = async () => {
const response = await fetch('https://ndcsydney.com/agenda')
const body = await response.text()
const talks = []
const $ = cheerio.load(body)
$('section.day').map((i, el) => {
// prettier-ignore
const day = el.attribs['class'].split(' ')[1]
const dayElements = el.childNodes
.filter(c => c.type === 'tag')[0]
.children
.filter(c => c.type === 'tag')
for (var index = 0; index < dayElements.length; index += 2) {
const slotEl = cheerio(dayElements[index])
const talkSlot = slotEl.text().split(' - ')
const startParts = talkSlot[0].split(':')
const endParts = talkSlot[1].split(':')
const startTime = { hour: Number(startParts[0]), minutes: Number(startParts[1]) }
const endTime = { hour: Number(endParts[0]), minutes: Number(endParts[1]) }
cheerio(dayElements[index + 1]).find('.boxed-talk').each((j, talkEl) => {
const $talk = cheerio(talkEl)
const tags = talkEl.attribs['data-slugs'].split(',')
const link = talkEl.attribs.href
const location = $talk.find('.venue').text()
const title = $talk.find('h2').text()
const speaker = $talk.find('.speaker').text()
talks.push({
title,
speaker,
location,
link,
tags,
startTime,
endTime,
day
})
})
}
})
return talks
}
[{
"title": "Keynote: Apps, Algorithms and Abstractions: Decoding our Digital World",
"speaker": "Dylan Beattie",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/keynote-apps-algorithms-and-abstractions-decoding-our-digital-world/",
"tags": ["level-all-levels", "mobile", "ux", "web", "fun"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "wednesday"
}, {
"title": "Creating a ‘best place to work’ culture",
"speaker": "Donna Edwards",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/creating-a-best-place-to-work-culture/",
"tags": ["people", "soft-skills", "agile", "level-beginner"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "The Structure of Software Revolutions",
"speaker": "Mike Long",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/the-structure-of-software-revolutions/",
"tags": ["continuous-delivery", "devops", "agile", "level-beginner"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "Easier AI allows everyone to build smart apps",
"speaker": "Azadeh KhojandiDavid Burela",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/easier-ai-allows-everyone-to-build-smart-apps/",
"tags": ["ai", "net", "javascript", "fun", "machine-learning", "serverless", "level-intermediate"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "Writing a Neural Net from Scratch",
"speaker": "Joe Albahari",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/writing-a-neural-net-from-scratch/",
"tags": ["net", "level-intermediate"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "Jewelbots: How to Get More Girls Coding!",
"speaker": "Jennifer Wadella",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/jewelbots-how-to-get-more-girls-coding/",
"tags": ["iot", "fun", "level-beginner"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "A fistful of Blazor; Its .NET in the browser",
"speaker": "William Tulloch",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/a-fistful-of-blazor-its-net-in-the-browser/",
"tags": ["net", "web"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "I’m Pwned. You’re Pwned. We’re All Pwned.",
"speaker": "Troy Hunt",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/im-pwned-youre-pwned-were-all-pwned/",
"tags": ["security", "level-beginner"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "Ask Me Anything! Dylan Beattie - The Technology Behind Every Day Experiences",
"speaker": "Dylan Beattie",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/ask-me-anything-dylan-beattie-the-technology-behind-every-day-experiences/",
"tags": ["level-all-levels", "ask-me-anything"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "\"What Do I Do? How Do I Do That?\": Mentoring Junior Developers Into Productive Team Members",
"speaker": "Daniel Mallott",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/what-do-i-do-how-do-i-do-that-mentoring-junior-developers-into-productive-team-members/",
"tags": ["net", "agile", "people", "soft-skills"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Serverless Continuous Delivery with the Serverless Framework",
"speaker": "Fabien Ruffin",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/serverless-continuous-delivery-with-the-serverless-framework/",
"tags": ["architecture", "continuous-delivery", "cloud", "level-intermediate"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Neural Networks: A Primer",
"speaker": "Rishal Hurbans",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/neural-networks-a-primer/",
"tags": ["machine-learning", "level-beginner"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Security in ASP.NET Core 2.1",
"speaker": "Barry Dorrans",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/security-in-asp.net-core-2.1/",
"tags": ["net", "security", "web", "level-intermediate"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Autonomous Exploration Robotics: Swimming to Antartica with a Raspberry Pi",
"speaker": "Christian CatchpoleRachael Colley",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/autonomous-exploration-robotics-swimming-to-antartica-with-a-raspberry-pi/",
"tags": ["embedded", "fun", "iot", "testing", "level-intermediate"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Designing for speech",
"speaker": "Jessica Engström",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/designing-for-speech/",
"tags": ["design", "ux", "ai", "level-intermediate"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Serverless with Firebase in the wild",
"speaker": "Duncan Hunter",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/serverless-with-firebase-in-the-wild/",
"tags": ["serverless", "web", "architecture", "cloud", "level-beginner"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "wednesday"
}, {
"title": ".NET Rocks Live with Joe Albahari",
"speaker": "Richard CampbellCarl FranklinJoe Albahari",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/.net-rocks-live-with-joe-albahari/",
"tags": ["net", "level-all-levels"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Open-Source Maintainers are Jerks!",
"speaker": "Nick RandolphGeoffrey Huntley",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/open-source-maintainers-are-jerks/",
"tags": ["continuous-delivery", "people", "soft-skills", "t", "devops", "level-advanced"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Empowering the Quantum revolution with Q#",
"speaker": "John Azariah",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/empowering-the-quantum-revolution-with-q/",
"tags": ["languages", "fun", "microsoft", "microservices", "level-beginner"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Deep Learning in the world of little ponies",
"speaker": "Galiya Warrier",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/deep-learning-in-the-world-of-little-ponies/",
"tags": ["machine-learning", "ai", "fun", "level-intermediate"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "The 9 Knights of Azure: Services to Get You Started",
"speaker": "Adam Cogan",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/the-9-knights-of-azure/",
"tags": ["cloud", "level-beginner"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "wednesday"
}, {
"title": " Bots - the next UI revolution",
"speaker": "Adam Stephensen",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/bots-the-next-ui-revolution/",
"tags": ["net", "cloud", "fun", "machine-learning", "ui", "level-intermediate"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Service workers - beyond the cache",
"speaker": "Phil Nash",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/service-workers-beyond-the-cache/",
"tags": ["javascript", "web", "level-beginner"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "What We’ve Learned From Billions of Security Reports",
"speaker": "Scott Helme",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/what-weve-learned-from-billions-of-security-reports/",
"tags": ["security", "level-intermediate"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Ask Me Anything! Jessica Engstrom - Getting personal with AIs",
"speaker": "Jessica Engström",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/ask-me-anything-jessica-engstrom-getting-personal-with-ais/",
"tags": ["ai", "level-all-levels", "ask-me-anything"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Programming for Amazon Alexa",
"speaker": "Mahesh KrishnanTerence Le Grange",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/programming-for-amazon-alexa/",
"tags": ["ux", "level-beginner"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "wednesday"
}, {
"title": "Deep Learning with TensorFlow",
"speaker": "Seth Juarez",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/deep-learning-with-tensorflow/",
"tags": ["ai", "machine-learning", "level-intermediate"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "wednesday"
}, {
"title": " Introduction to ML.NET",
"speaker": "John Alexander",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/introduction-to-ml-net/",
"tags": ["net", "machine-learning", "level-beginner"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "wednesday"
}, {
"title": "Get value out of your monad",
"speaker": "Mark Seemann",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/get-value-out-of-your-monad/",
"tags": [""],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "wednesday"
}, {
"title": "Lightning talks",
"speaker": "Glenn SartiStephen CarterKlee ThomasFabien Ruffin",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/lightning-talks/",
"tags": ["architecture", "serverless", "cloud", "microservices", "devops", "soft-skills", "agile", "people", "fun", "work-s", "level-all-levels"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "wednesday"
}, {
"title": "60 Minutes to Accessibility",
"speaker": "Larene Le Gassick",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/60-minutes-to-accessibility/",
"tags": ["people", "ux", "web", "javascript", "level-beginner"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "wednesday"
}, {
"title": "Vertical Slice Architecture",
"speaker": "Jimmy Bogard",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/vertical-slice-architecture/",
"tags": ["architecture", "level-intermediate"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "wednesday"
}, {
"title": ".NET Rocks Live with Adam Stephensen",
"speaker": "Carl FranklinRichard CampbellAdam Stephensen",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/net-rocks-live-with-adam-stephensen/",
"tags": ["ui", "net", "machine-learning", "cloud", "level-all-levels"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "wednesday"
}, {
"title": " Sifting Technologies - Separating the Wheat From the Chaff",
"speaker": "Nathaniel Schutta",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/sifting-technologies-separating-the-wheat-from-the-chaff/",
"tags": ["architecture", "design", "people", "soft-skills", "level-intermediate"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "Selling DevOps",
"speaker": "Vanessa Love",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/selling-devops/",
"tags": ["devops", "people"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "Power BI for Developers",
"speaker": "Peter Myers ",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/power-bi-for-developers/",
"tags": ["net", "cloud", "database", "microsoft", "ai", "web", "level-intermediate"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "TBA",
"speaker": "Maria Naggaga",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/tba-9/",
"tags": [""],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "The conversation every parent dreads - how to talk to your kids about the blockchain",
"speaker": "David Burela",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/the-conversation-every-parent-dreads-how-to-talk-to-your-kids-about-the-blockchain/",
"tags": ["level-advanced"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "JavaScript Futures—ES2018 and Beyond",
"speaker": "Jeff Strauss",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/javascript-futures-es2018-and-beyond/",
"tags": ["javascript", "web", "languages", "level-beginner"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "Reading other peoples code",
"speaker": "Patricia Aas",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/reading-other-peoples-code/",
"tags": ["level-intermediate"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "Ask Me Anything! Mark Seemann - Better code with C# vs F# and Unit Testing",
"speaker": "Mark Seemann",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/ask-me-anything-mark-seemann-better-code-with-c-vs-f-and-unit-testing/",
"tags": ["ask-me-anything", "level-all-levels", "net"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "Introduction to Quantum Computing With Q# - Part I",
"speaker": "John Azariah",
"location": "Workshop",
"link": "https://ndcsydney.com/talk/introduction-to-quantum-computing-with-q/",
"tags": ["fun", "languages", "microsoft", "level-beginner"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "wednesday"
}, {
"title": "The beauty of stupid ideas",
"speaker": "Aaron Powell",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/the-beauty-of-stupid-ideas/",
"tags": ["fun", "level-intermediate"],
"startTime": {
"hour": 17,
"minutes": 40
},
"endTime": {
"hour": 18,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Getting started with Chaos Engineering",
"speaker": "Paul Stack",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/getting-started-with-chaos-engineering/",
"tags": ["cloud", "devops", "t", "level-intermediate"],
"startTime": {
"hour": 17,
"minutes": 40
},
"endTime": {
"hour": 18,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Easily Add Artificial Intelligence To Your Apps Using Machine Learning as a Service",
"speaker": "Brandon Minnick",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/easily-add-artificial-intelligence-to-your-apps-using-machine-learning-as-a-service/",
"tags": ["net", "cloud", "cross-pl", "fun", "machine-learning", "mobile", "microsoft", "ai", "level-beginner"],
"startTime": {
"hour": 17,
"minutes": 40
},
"endTime": {
"hour": 18,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "APIs and Microservices in ASP.NET Core Today and Tomorrow",
"speaker": "Glenn Condron",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/apis-and-microservices-in-asp-net-core-today-and-tomorrow/",
"tags": ["net", "cloud", "microservices", "level-advanced"],
"startTime": {
"hour": 17,
"minutes": 40
},
"endTime": {
"hour": 18,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "ARM FTW – Azure Resource Manager For The Win",
"speaker": "Magnus Mårtensson",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/arm-ftw-azure-resource-manager-for-the-win/",
"tags": ["cloud", "microsoft", "level-intermediate"],
"startTime": {
"hour": 17,
"minutes": 40
},
"endTime": {
"hour": 18,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Betting on evolutionary architecture",
"speaker": "James Lewis",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/betting-on-evolutionary-architecture/",
"tags": ["architecture", "microservices", "level-intermediate"],
"startTime": {
"hour": 17,
"minutes": 40
},
"endTime": {
"hour": 18,
"minutes": 40
},
"day": "wednesday"
}, {
"title": " .NET Rocks Live with Patricia Aas",
"speaker": "Carl FranklinRichard CampbellPatricia Aas",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/net-rocks-live-with-patricia-aas/",
"tags": [""],
"startTime": {
"hour": 17,
"minutes": 40
},
"endTime": {
"hour": 18,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "Introduction to Quantum Computing With Q# - Part II",
"speaker": "John Azariah",
"location": "Workshop",
"link": "https://ndcsydney.com/talk/introduction-to-quantum-computing-with-q-part-ii/",
"tags": ["fun", "languages", "microsoft", "level-beginner"],
"startTime": {
"hour": 17,
"minutes": 40
},
"endTime": {
"hour": 18,
"minutes": 40
},
"day": "wednesday"
}, {
"title": "How to survive and thrive as an engineering leader",
"speaker": "Isabel Nyo",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/how-to-survive-and-thrive-as-an-engineering-leader/",
"tags": ["soft-skills", "people", "work-s", "fun"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "thursday"
}, {
"title": "Testing Microservices",
"speaker": "Anne-Marie Charrett",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/testing-microservices/",
"tags": ["microservices", "testing", "level-intermediate"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "thursday"
}, {
"title": "The Code Behind The Vulnerability",
"speaker": "Barry Dorrans",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/the-code-behind-the-vulnerability-1/",
"tags": ["net", "security", "level-intermediate"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "thursday"
}, {
"title": "Cloud Native .NET",
"speaker": "Mark Rendle",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/cloud-native-net/",
"tags": ["net", "architecture", "cloud", "microservices", "web", "level-beginner"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "thursday"
}, {
"title": "Lessons from a real HoloLens project",
"speaker": "Luke Drumm",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/lessons-from-a-real-hololens-project/",
"tags": ["net", "fun", "microsoft", "level-beginner"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "thursday"
}, {
"title": "Cross-Platform Desktop Apps with Electron",
"speaker": "David Neal",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/cross-platform-desktop-apps-with-electron/",
"tags": ["cross-pl", "javascript", "web", "level-beginner"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "thursday"
}, {
"title": "Broken crypto is broken",
"speaker": "Erlend Oftedal",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/broken-crypto-is-broken/",
"tags": ["security"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "thursday"
}, {
"title": "Ask Me Anything! James Lewis - Should you do Microservices and why code describes your business",
"speaker": "James Lewis",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/ask-me-anything-james-lewis-should-you-do-microservices-and-why-code-describes-your-business/",
"tags": ["ask-me-anything", "level-all-levels", "microservices"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "thursday"
}, {
"title": "Developing a Power BI Custom Visual",
"speaker": "Peter Myers ",
"location": "Workshop",
"link": "https://ndcsydney.com/talk/developing-a-power-bi-custom-visual/",
"tags": ["cloud", "database", "web", "microsoft", "t"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "thursday"
}, {
"title": "What You Need to Know About Open Source—Trust Me, I'm a Lawyer",
"speaker": "Jeff Strauss",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/what-you-need-to-know-about-open-source-trust-me-im-a-lawyer/",
"tags": ["soft-skills", "people", "t", "level-beginner"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "thursday"
}, {
"title": "Kubernetes for .NET Developers",
"speaker": "Hossam Barakat",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/kubernetes-for-net-developers/",
"tags": ["net", "architecture", "devops", "level-beginner"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "thursday"
}, {
"title": "Building Advance Analytics pipelines with Azure Databricks",
"speaker": "Lace Lofranco",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/building-advance-analytics-pipelines-with-azure-databricks/",
"tags": ["big-data", "machine-learning"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "thursday"
}, {
"title": "What's New In ASP.NET Core",
"speaker": "Jon Galloway",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/whats-new-in-asp-net-core/",
"tags": ["net", "level-beginner"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "thursday"
}, {
"title": "Git as Blockchain",
"speaker": "Michael Perry",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/git-as-blockchain/",
"tags": ["blockchain", "architecture", "level-intermediate"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "thursday"
}, {
"title": "Navigating the React Solar System",
"speaker": "Ben Ilegbodu",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/navigating-the-react-solar-system/",
"tags": ["javascript", "ui", "level-beginner"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "thursday"
}, {
"title": ".NET Rocks Live with John Azariah",
"speaker": "Carl FranklinRichard CampbellJohn Azariah",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/net-rocks-live-with-john-azariah/",
"tags": ["microsoft", "net", "languages", "level-all-levels"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "thursday"
}, {
"title": "Delivering Real-time Power BI Dashboards",
"speaker": "Peter Myers ",
"location": "Workshop",
"link": "https://ndcsydney.com/talk/delivering-real-time-power-bi-dashboards/",
"tags": ["cloud", "web", "microsoft", "net"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "thursday"
}, {
"title": "Mission Impossible: Lifehack Protocol",
"speaker": "Lars Klint",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/the-force-awakens-mastering-your-inner-developer-1/",
"tags": ["soft-skills", "people"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "thursday"
}, {
"title": "Field Notes : .NET Core and Docker in Production",
"speaker": "Damian Maclennan",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/field-notes-net-core-and-docker-in-production/",
"tags": ["net", "devops", "level-intermediate"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "thursday"
}, {
"title": "Data lakes beyond clusters",
"speaker": "Dom Raniszewski",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/data-lakes-beyond-clusters/",
"tags": ["big-data", "cloud", "microsoft", "level-intermediate"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "thursday"
}, {
"title": "How To \"Dot\" Into Anything, Anywhere, Anytime (Facilitating Data-First Programming) *",
"speaker": "Steven Taylor",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/how-to-dot-into-anything-anywhere-anytime-facilitating-data-first-programming/",
"tags": ["net", "functional", "t", "big-data"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "thursday"
}, {
"title": "What's new in the Microsoft's Conversational AI Stack",
"speaker": "Vishesh Oberoi",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/whats-new-in-the-microsofts-conversational-ai-stack/",
"tags": ["ai", "t", "microsoft", "machine-learning", "cloud", "level-intermediate"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "thursday"
}, {
"title": " Need for speed 8, performance tuning of your web application",
"speaker": "Yaser Adel Mehraban",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/need-for-speed-8-performance-tuning-of-your-web-application/",
"tags": ["mobile", "web", "t", "level-intermediate"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "thursday"
}, {
"title": "Lightning Talks",
"speaker": "Michael John PenaAziBen TeeseJason Taylor",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/lightning-talks-5/",
"tags": ["blockchain", "web", "t", "security", "ux", "level-all-levels", "javascript", "microservices", "net"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "thursday"
}, {
"title": "Ask Me Anything! Ben Ilegbodu - Build your own React-based stack",
"speaker": "Ben Ilegbodu",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/ask-me-anything-ben-ilegbodu-build-your-own-react-based-stack/",
"tags": ["level-all-levels", "ask-me-anything", "web", "javascript"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "thursday"
}, {
"title": "Embedding Power BI Analytics",
"speaker": "Peter Myers ",
"location": "Workshop",
"link": "https://ndcsydney.com/talk/embedding-power-bi-analytics/",
"tags": ["cloud", "javascript", "web", "net", "microsoft", "database"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "thursday"
}, {
"title": "Attraction and retention strategies for Women in Tech",
"speaker": "Donna Edwards",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/attraction-and-retention-strategies-for-women-in-tech/",
"tags": ["people", "level-beginner"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "thursday"
}, {
"title": "Why I bet my business on React",
"speaker": "Jess Telford",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/why-i-bet-my-business-on-react/",
"tags": ["javascript", "level-all-levels"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "thursday"
}, {
"title": "AI on the Edge",
"speaker": "Nigel ParkerDave Glover",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/l-i-v-i-n-ai-on-the-edge/",
"tags": ["iot", "machine-learning", "ai", "microsoft", "level-intermediate"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "thursday"
}, {
"title": "Parsing in C# from first principles",
"speaker": "Nicholas Blumhardt",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/parsing-in-c-from-first-principles/",
"tags": ["net", "functional"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "thursday"
}, {
"title": "Google Home meets .NET containers on Google Cloud",
"speaker": "Ankur Kotwal",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/google-home-meets-net-containers-on-google-cloud/",
"tags": ["net", "cloud", "machine-learning", "microservices"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "thursday"
}, {
"title": "How to avoid UX-traps with a deck of cards",
"speaker": "Jessica Engström",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/how-to-avoid-ux-traps-with-a-deck-of-cards/",
"tags": ["ux", "ui", "design", "level-intermediate"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "thursday"
}, {
"title": "What has 4 years of AWS Microservices taught me?",
"speaker": "Abhaya Chauhan",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/what-has-4-years-of-aws-microservices-taught-me/",
"tags": ["net", "cloud", "continuous-delivery", "database", "microservices", "web", "serverless", "architecture", "level-intermediate"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "thursday"
}, {
"title": ".NET Rocks Live with Peter Myers",
"speaker": "Peter Myers ",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/net-rocks-live-with-peter-myers/",
"tags": ["web", "net", "cloud", "level-all-levels"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "thursday"
}, {
"title": "Leadership Guide for the Reluctant Leader",
"speaker": "David Neal",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/leadership-guide-for-the-reluctant-leader/",
"tags": ["fun", "people", "soft-skills", "level-beginner"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "thursday"
}, {
"title": "Git at Scale",
"speaker": "Edward Thomson",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/git-at-scale/",
"tags": ["devops", "t", "level-intermediate"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "thursday"
}, {
"title": "Testing a Pipeline that writes 20 Billion Events a day",
"speaker": "Tamar Ben-Shachar",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/testing-a-pipeline-that-writes-20-billion-events-a-day/",
"tags": ["big-data", "microservices", "level-intermediate", "devops"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "thursday"
}, {
"title": "Who Are You? The Art of Zero Knowledge User Management",
"speaker": "Matt Soucoup",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/who-are-you-the-art-of-zero-knowledge-user-management/",
"tags": ["net", "cloud", "mobile", "web", "level-intermediate"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "thursday"
}, {
"title": "Flutter from idea to app in 45min",
"speaker": "Mitchell Tilbrook",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/flutter-from-idea-to-app-in-45min/",
"tags": ["mobile", "cross-pl", "serverless", "level-beginner"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "thursday"
}, {
"title": "The Visible Developer: Why You Shouldn't Blend In",
"speaker": "Heather Downing",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/the-visible-developer-why-you-shouldnt-blend-in/",
"tags": ["people", "soft-skills", "level-beginner"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "thursday"
}, {
"title": "7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems",
"speaker": "Vladik Khononov",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/7-years-of-ddd-tackling-complexity-in-large-scale-marketing-systems/",
"tags": ["architecture", "microservices", "level-intermediate"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "thursday"
}, {
"title": "Ask Me Anything! Nicholas Blumhardt - Unsubtle C#",
"speaker": "Nicholas Blumhardt",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/ask-me-anything-nicholas-blumhardt-unsubtle-c/",
"tags": ["net", "ask-me-anything", "level-all-levels"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "thursday"
}, {
"title": "Creating Voice Experiences with Amazon Alexa Skills - Part I",
"speaker": "Azi",
"location": "Workshop",
"link": "https://ndcsydney.com/talk/creating-voice-experiences-with-amazon-alexa-skills-part-i/",
"tags": [""],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "thursday"
}, {
"title": "Reignite your desire to improve",
"speaker": "Richard Banks",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/reignite-your-desire-to-improve/",
"tags": ["agile", "soft-skills", "level-intermediate"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "thursday"
}, {
"title": "Moving Fast - without crashing",
"speaker": "Marcus Bristol",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/moving-fast-without-crashing/",
"tags": ["continuous-delivery", "people", "soft-skills", "t", "devops", "level-intermediate"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "thursday"
}, {
"title": "What's that fruit? ",
"speaker": "Scott Holden",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/whats-that-fruit/",
"tags": ["net", "cloud", "machine-learning", "ai", "serverless", "level-intermediate"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "thursday"
}, {
"title": "Hacking with Go",
"speaker": "Victoria Almazova",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/hacking-with-go/",
"tags": ["languages", "security", "fun", "level-intermediate"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "thursday"
}, {
"title": "Building truly Universal applications with Azure, Xamarin and MVVM",
"speaker": "Laurent Bugnion",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/building-truly-universal-applications-with-azure-xamarin-and-mvvm/",
"tags": ["cross-pl", "architecture", "level-advanced"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "thursday"
}, {
"title": "Offline UX",
"speaker": "Simon Knox",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/offline-ux/",
"tags": ["javascript", "ui", "ux", "web", "level-intermediate"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "thursday"
}, {
"title": "Service Meshes - Powering the next wave of microservice architectures",
"speaker": "Rob Crowley",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/service-meshes-powering-the-next-wave-of-microservice-architectures/",
"tags": ["architecture", "cloud", "devops", "microservices", "level-advanced"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "thursday"
}, {
"title": ".NET Rocks Live with Nina Juliadotter",
"speaker": "Carl FranklinRichard CampbellNina Juliadotter",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/net-rocks-live-with-nina-juliadotter/",
"tags": ["security", "net", "web", "devops", "level-all-levels"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "thursday"
}, {
"title": "Creating Voice Experiences with Amazon Alexa Skills - Part II",
"speaker": "Azi",
"location": "Workshop",
"link": "https://ndcsydney.com/talk/creating-voice-experiences-with-amazon-alexa-skills-part-ii/",
"tags": [""],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "thursday"
}, {
"title": "Feature Toggles: The Good, The Bad, and The Ugly",
"speaker": "Andy Davies",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/feature-toggles-the-good-the-bad-and-the-ugly/",
"tags": ["continuous-delivery", "net", "architecture", "devops", "level-intermediate"],
"startTime": {
"hour": 17,
"minutes": 40
},
"endTime": {
"hour": 18,
"minutes": 40
},
"day": "thursday"
}, {
"title": "Practical design patterns in the age of the cloud",
"speaker": "Magnus Mårtensson",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/practical-design-patterns-in-the-age-of-the-cloud/",
"tags": ["cloud", "level-beginner"],
"startTime": {
"hour": 17,
"minutes": 40
},
"endTime": {
"hour": 18,
"minutes": 40
},
"day": "thursday"
}, {
"title": ".NET on Azure",
"speaker": "Shayne Boyer",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/net-on-azure/",
"tags": ["net", "cloud", "microservices", "web", "level-beginner"],
"startTime": {
"hour": 17,
"minutes": 40
},
"endTime": {
"hour": 18,
"minutes": 40
},
"day": "thursday"
}, {
"title": "Android TDD with Kotlin",
"speaker": "Heather Downing",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/android-tdd-with-kotlin/",
"tags": ["languages", "mobile", "level-beginner"],
"startTime": {
"hour": 17,
"minutes": 40
},
"endTime": {
"hour": 18,
"minutes": 40
},
"day": "thursday"
}, {
"title": "How We Got Here - The History of Web Development",
"speaker": "Richard Campbell",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/how-we-got-here-the-history-of-web-development/",
"tags": ["web", "level-beginner"],
"startTime": {
"hour": 17,
"minutes": 40
},
"endTime": {
"hour": 18,
"minutes": 40
},
"day": "thursday"
}, {
"title": "Serverless SQL Pipelines",
"speaker": "Lynn Langit",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/serverless-sql-pipelines/",
"tags": ["serverless", "database", "architecture", "level-intermediate"],
"startTime": {
"hour": 17,
"minutes": 40
},
"endTime": {
"hour": 18,
"minutes": 40
},
"day": "thursday"
}, {
"title": "NDC Party",
"speaker": "",
"location": "Level 3 (Expo)",
"link": "https://ndcsydney.com/talk/ndc-party/",
"tags": ["fun", "level-all-levels"],
"startTime": {
"hour": 18,
"minutes": 40
},
"endTime": {
"hour": 19,
"minutes": 40
},
"day": "thursday"
}, {
"title": "Developing microservices applications for the Kubernetes platform",
"speaker": "Shahid Iqbal",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/developing-microservices-applications-for-the-kubernetes-platform/",
"tags": ["microservices", "devops", "level-intermediate"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "friday"
}, {
"title": "Maximal Fun Times: Monitoring Theme Parks (and distributed systems)",
"speaker": "Mike Minutillo",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/maximal-fun-times-monitoring-theme-parks-and-distributed-systems/",
"tags": ["devops", "level-intermediate"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "friday"
}, {
"title": "Haskell - A Peek Inside the Ivory Tower",
"speaker": "Daniel Chambers",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/haskell-a-peek-inside-the-ivory-tower/",
"tags": ["functional", "level-beginner"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "friday"
}, {
"title": "Introducing Juvet: Building Bots in Elixir",
"speaker": "Jamie Wright",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/introducing-juvet-building-bots-in-elixir/",
"tags": ["architecture", "functional", "languages", "machine-learning", "testing", "level-intermediate"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "friday"
}, {
"title": "Crafting compelling real-time web experiences with GraphQL and React",
"speaker": "Rob Crowley",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/crafting-compelling-real-time-web-experiences-with-graphql-and-react/",
"tags": ["javascript", "architecture", "web", "level-intermediate"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "friday"
}, {
"title": "Powering 100+ million daily users",
"speaker": "Rezaul Hoque",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/powering-100-million-daily-users/",
"tags": ["architecture", "microservices", "microsoft", "level-intermediate"],
"startTime": {
"hour": 9,
"minutes": 0
},
"endTime": {
"hour": 10,
"minutes": 0
},
"day": "friday"
}, {
"title": "This Startup Life: A Developer's Mistakes and Tips",
"speaker": "Ben Cull",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/this-startup-life-a-developers-mistakes-and-tips/",
"tags": ["people", "soft-skills", "level-beginner"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "friday"
}, {
"title": "Creating & Maintaining Impactful Dashboards'",
"speaker": "Jessica White",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/creating-maintaining-impactful-dashboards/",
"tags": ["devops", "t", "work-s", "level-beginner"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "friday"
}, {
"title": " Deploying anything to Azure with VSTS",
"speaker": "Damian Brady",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/deploying-anything-to-azure-with-vsts/",
"tags": ["devops", "microsoft", "continuous-delivery", "level-beginner"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "friday"
}, {
"title": "ASP.NET Core: The One Hour Makeover",
"speaker": "Jon Galloway",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/asp-net-core-the-one-hour-makeover/",
"tags": ["net", "level-intermediate"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "friday"
}, {
"title": "Implementing Augmented Reality (AR) in Apple's ARKit",
"speaker": "Michael Ridland",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/implementing-augmented-reality-ar-in-apples-arkit/",
"tags": ["mobile", "level-intermediate"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "friday"
}, {
"title": "Why Vue.js is Taking Over the Front-end World",
"speaker": "Gwendolyn Faraday",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/why-vue-js-is-taking-over-the-front-end-world/",
"tags": ["web", "javascript", "level-beginner"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "friday"
}, {
"title": "Make Your Life Easier With Logic Apps + Save $$$",
"speaker": "Thiago Passos",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/make-your-life-easier-with-logic-apps-save/",
"tags": ["cloud", "serverless", "level-beginner"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "friday"
}, {
"title": " .NET Rocks Live with Daniel Chambers",
"speaker": "Daniel Chambers",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/net-rocks-live-with-daniel-chambers/",
"tags": [""],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "friday"
}, {
"title": "Creating a Progressive Web App Part - Part 1",
"speaker": "William Tulloch",
"location": "Workshop",
"link": "https://ndcsydney.com/talk/creating-a-progressive-web-app-part-part-1/",
"tags": ["javascript", "web"],
"startTime": {
"hour": 10,
"minutes": 20
},
"endTime": {
"hour": 11,
"minutes": 20
},
"day": "friday"
}, {
"title": "WIP: Debugging Depression",
"speaker": "Ellen Mey",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/wip-debugging-depression/",
"tags": ["soft-skills", "level-beginner"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "friday"
}, {
"title": "Move legacy apps to Windows Containers to take advantage of modern infrastructure and orchestration",
"speaker": "Regan Murphy",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/move-legacy-apps-to-windows-containers-to-take-advantage-of-modern-infrastructure-and-orchestration/",
"tags": ["devops", "microsoft", "web", "level-intermediate"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "friday"
}, {
"title": "Artificial Intelligence. Our journey towards singularity",
"speaker": "Agustinus Nalwan",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/artificial-intelligence-our-journey-towards-singularity/",
"tags": ["machine-learning", "ai", "level-intermediate"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "friday"
}, {
"title": "Building APIs for developers with Identity Server 4",
"speaker": "Ben Cull",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/building-apis-for-developers-with-identity-server-4/",
"tags": ["security", "web", "architecture", "level-intermediate"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "friday"
}, {
"title": "Lightning Talks ",
"speaker": "Raphael HaddadChris LewisDom WendenMartin McDonaghKen Faulkner",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/lightning-talks-6/",
"tags": ["people", "fun", "t", "level-all-levels", "architecture", "javascript", "serverless", "web", "devops", "testing", "database", "agile"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "friday"
}, {
"title": "Redux for Angular -- Introduction to Ngrx Ecosystem",
"speaker": "Mohamed Meligy",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/redux-for-angular-introduction-to-ngrx-ecosystem/",
"tags": ["testing", "javascript", "architecture", "t", "level-intermediate"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "friday"
}, {
"title": "Deploy microservices confidently using Consumer Driven Contracts",
"speaker": "Henrik Stene",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/deploy-microservices-confidently-using-consumer-driven-contracts/",
"tags": ["continuous-delivery", "testing", "microservices", "level-intermediate"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "friday"
}, {
"title": "Creating a Progressive Web App - Part 2",
"speaker": "William Tulloch",
"location": "Workshop",
"link": "https://ndcsydney.com/talk/creating-a-progressive-web-app-part-2/",
"tags": ["javascript", "web"],
"startTime": {
"hour": 11,
"minutes": 40
},
"endTime": {
"hour": 12,
"minutes": 40
},
"day": "friday"
}, {
"title": "How did our DevOps team become another silo?",
"speaker": "Kevin Crawley",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/how-did-our-devops-team-become-another-silo/",
"tags": ["people", "devops", "continuous-delivery", "work-s"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "friday"
}, {
"title": "Infrastructure as Code with Terraform on Azure",
"speaker": "Tom Harvey",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/infrastructure-as-code-with-terraform-on-azure/",
"tags": ["cloud", "devops", "t", "level-beginner"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "friday"
}, {
"title": "A World Without Programmers?",
"speaker": "Ravi Gadhia",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/a-world-without-programmers/",
"tags": ["ai", "t", "microsoft", "level-beginner"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "friday"
}, {
"title": "Pragmatic Performance: When to care about perf, and what to do about it.",
"speaker": "David Wengier",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/pragmatic-performance-when-to-care-about-perf-and-what-to-do-about-it/",
"tags": ["net", "t", "level-intermediate"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "friday"
}, {
"title": "Going Full Duplex - Building Apps for Speech",
"speaker": "Vishesh OberoiMadoka Chiyoda",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/going-full-duplex-building-apps-for-speech/",
"tags": ["ai", "ux", "microsoft"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "friday"
}, {
"title": "The Web That Never Was",
"speaker": "Dylan Beattie",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/the-web-that-never-was/",
"tags": ["web", "design", "fun", "javascript", "microsoft"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "friday"
}, {
"title": "Modern web application bugs",
"speaker": "Erlend Oftedal",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/modern-web-application-bugs/",
"tags": ["security", "level-intermediate"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "friday"
}, {
"title": ".NET Rocks Live with Agustinus Nalwan",
"speaker": "Agustinus Nalwan",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/net-rocks-live-with-agustinus-nalwan/",
"tags": ["ai", "machine-learning", "level-all-levels"],
"startTime": {
"hour": 13,
"minutes": 40
},
"endTime": {
"hour": 14,
"minutes": 40
},
"day": "friday"
}, {
"title": " There are no snow days when you work remote.",
"speaker": "Jennifer Wadella",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/there-are-no-snow-days-when-you-work-remote/",
"tags": ["fun", "people", "work-s", "soft-skills", "level-beginner"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "friday"
}, {
"title": "Apps are Making Us Dumber",
"speaker": "Heather Wilde",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/apps-are-making-us-dumber/",
"tags": ["ui", "ux", "mobile", "level-beginner"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "friday"
}, {
"title": "Planet scale or planet fail?",
"speaker": "Paul Glavich",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/planet-scale-or-planet-fail/",
"tags": ["net", "cloud", "database", "microsoft"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "friday"
}, {
"title": " Porting MVVM Light to .NET Standard: Lessons learned",
"speaker": "Laurent Bugnion",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/porting-mvvm-light-to-net-standard-lessons-learned/",
"tags": ["net", "cross-pl", "level-intermediate"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "friday"
}, {
"title": "Enterprise Mobile DevOps",
"speaker": "Ian Hughes",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/enterprise-mobile-devops/",
"tags": ["mobile", "devops", "level-intermediate"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "friday"
}, {
"title": "Let's Launch A Website, Right Friggin' Now!",
"speaker": "Lemon",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/lets-launch-a-website-right-friggin-now/",
"tags": ["web", "t", "fun", "javascript", "ui", "level-intermediate"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "friday"
}, {
"title": "Securing your dependencies",
"speaker": "Nina Juliadotter",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/securing-your-dependencies/",
"tags": ["security", "devops", "web", "level-beginner"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "friday"
}, {
"title": "Ask Me Anything! Tom Harvey - Terraform from HashiCorp",
"speaker": "Tom Harvey",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/ask-me-anything-tom-harvey-terraform-from-hashicorp/",
"tags": ["ask-me-anything", "level-all-levels"],
"startTime": {
"hour": 15,
"minutes": 0
},
"endTime": {
"hour": 16,
"minutes": 0
},
"day": "friday"
}, {
"title": " The History Of Programming, Part 1",
"speaker": "Mark Rendle",
"location": "Room 1",
"link": "https://ndcsydney.com/talk/the-history-of-programming/",
"tags": ["fun", "languages", "ai", "level-beginner"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "friday"
}, {
"title": "Everything is Cyber-broken",
"speaker": "Troy HuntScott Helme",
"location": "Room 2",
"link": "https://ndcsydney.com/talk/everything-is-cyber-broken/",
"tags": ["security", "level-intermediate"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "friday"
}, {
"title": "Advanced Testing Techniques: Tips from the trenches",
"speaker": "Rob MooreGraeme Foster",
"location": "Room 3",
"link": "https://ndcsydney.com/talk/advanced-testing-techniques-tips-from-the-trenches/",
"tags": ["agile", "continuous-delivery", "testing", "devops", "level-intermediate"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "friday"
}, {
"title": "Getting the first PR into .NET and other tales from an OSS contributor",
"speaker": "Adam Ralph",
"location": "Room 4",
"link": "https://ndcsydney.com/talk/getting-the-first-pr-into-net-and-other-tales-from-an-open-contributor/",
"tags": ["net", "level-intermediate"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "friday"
}, {
"title": "DevOps for Data Science",
"speaker": "Damian Brady",
"location": "Room 5",
"link": "https://ndcsydney.com/talk/devops-for-data-science/",
"tags": ["devops", "machine-learning", "ai", "level-beginner"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "friday"
}, {
"title": "Two platforms, one codebase: Experiences building a cross-platform app with React and React Native",
"speaker": "Ben Teese",
"location": "Room 6",
"link": "https://ndcsydney.com/talk/two-platforms-one-codebase-experiences-building-a-cross-platform-app-with-react-and-react-native/",
"tags": ["web", "mobile", "people", "javascript", "cross-pl", "ui", "level-intermediate"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "friday"
}, {
"title": "The Boring Security Talk",
"speaker": "Kieran Jacobsen",
"location": "Room 7",
"link": "https://ndcsydney.com/talk/the-boring-security-talk/",
"tags": ["security", "cloud", "t", "level-intermediate"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "friday"
}, {
"title": ".NET Rocks Live with Heather Wilde",
"speaker": "Heather Wilde",
"location": "Room 8 / Level 4",
"link": "https://ndcsydney.com/talk/net-rocks-live-with-heather-wilde/",
"tags": ["ux", "net", "level-all-levels"],
"startTime": {
"hour": 16,
"minutes": 20
},
"endTime": {
"hour": 17,
"minutes": 20
},
"day": "friday"
}]
import * as cheerio from 'cheerio'
export type Time = {
hour: number
minutes: number
}
export type Talk = {
startTime: Time
endTime: Time
title: string
speaker: string
location: string
link: string
tags: string[]
day: string
}
export const fetchAgenda = async () => {
const response = await fetch('https://ndcsydney.com/agenda')
const body: string = await response.text()
const talks: Talk[] = []
const $ = cheerio.load(body)
$('section.day').map((i, el) => {
// prettier-ignore
const day = el.attribs['class'].split(' ')[1]
const dayElements = el.childNodes
.filter(c => c.type === 'tag')[0]
.children
.filter(c => c.type === 'tag')
for (var index = 0; index < dayElements.length; index += 2) {
const slotEl = cheerio(dayElements[index])
const talkSlot = slotEl.text().split(' - ')
const startParts = talkSlot[0].split(':')
const endParts = talkSlot[1].split(':')
const startTime: Time = { hour: Number(startParts[0]), minutes: Number(startParts[1]) }
const endTime: Time = { hour: Number(endParts[0]), minutes: Number(endParts[1]) }
cheerio(dayElements[index + 1]).find('.boxed-talk').each((j, talkEl) => {
const $talk = cheerio(talkEl)
const tags = talkEl.attribs['data-slugs'].split(',')
const link = talkEl.attribs.href
const location = $talk.find('.venue').text()
const title = $talk.find('h2').text()
const speaker = $talk.find('.speaker').text()
talks.push({
title,
speaker,
location,
link,
tags,
startTime,
endTime,
day
})
})
}
})
return talks
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.