~/talks

Phil Nash

what they talk about

all 26 in the filters

where they keep going back

all 43 in the filters

on a stage with

all 6 in the filters

who talks about the same things

titleconferencedate
Evolving AI chat with MCP AppsNDC Copenhagen 20262026-06-01
A proposed MCP Apps standard turns tools into sandboxed HTML/CSS/JS mini‑apps loaded in an iframe, using the @mcp/x‑apps RPC library to call server tools, push…
Talk on
Let's build an AI agentNDC Copenhagen 20262026-06-01
Builds an agent from an echo CLI into a full LLM-driven system that runs tools in a loop, using Gemini 3 Flash Preview, short-term chat memory, and explicit…
Talk on
OpenRAG: An open-source stack for RAGAI Engineer Europe 20262026-04-08
OpenRAG assembles Docling for PDF‑aware parsing, OpenSearch with the JVector KNN plugin for disk‑based live indexing, and LangFlow for drag‑and‑drop agentic…
Talk on
Build AI-Ready Search: Integrating Docling with OpenSearch for Advanced RA...OpenSearchCon China 20262026-03-17
Docling converts PDFs, DOCX and PPTX into a lossless, structured document format, preserves layout/tables/images and runs locally for privacy; a demo parses a…
Talk on
Practical Web AI: Built-In, Browser Based, BrilliantJSNation 20252025-06-12
AI progress is running away on the server-side, where the GPUs live, but the web platform is never that far behind. In this talk we're going to explore the…
Talk on
The Built-in Browser-based BabelfishFrontend Nation 20252025-06-03
A browser-native speech-to-speech translator is built using the Web Speech API, Chrome’s experimental Prompt API with Gemini Nano, MediaRecorder/Web Audio to…
Talk on
Let's build an AI agentNDC Oslo 20252025-05-19
Live-build of an agent that adds Gemini via Genai SDK chat memory, function-calling tools, and a tool loop that re-invokes the model until goals are met; uses…
Talk on
How to work with generative AI in JavaScriptNDC Melbourne 20252025-04-29
Shows working JavaScript examples: call Gemini 2.0 Flash with nine lines of SDK code, create text-embedding-004 vectors (768 dimensions) and use cosine…
Talk on
C++ Coroutines DemystifiedACCU 20252025-04-01
Starts from blank code and walks to a working coroutine by letting the compiler drive each step: use Compiler Explorer with GCC and Clang, add #include…
Talk on
Build RAG from ScratchNDC London 20252025-01-27
Live-coded a working RAG pipeline that starts with a 2,938-dim bag-of-words vector built from ~100 scraped talk titles and descriptions, compares queries using…
Talk on
Build RAG from ScratchJSNation US 20242024-11-18
Retrieval augmented generation (RAG) provides large language models with up to date information and helps them hallucinate less. But how does it all work…
Talk on
Total ReDoS: The Dangers of regex in JavaScriptXtremeJS 20242024-11-12
JavaScript regular expressions can hit catastrophic backtracking and block the event loop: a node‑fetch URL regex forces exponential steps (Rex101 shows 12,294…
Talk on
Build RAG from ScratchNDC Porto 20242024-10-14
Live code builds a working RAG pipeline that starts with a naive 1480-word bag-of-words vector and cosine similarity (tested across ~101 talks), then upgrades…
Talk on
Modern C++ Error HandlingCppCon 20242024-09-15
Covers concrete choices not high-level promises: C++17 std::optional and C++23 std::expected with the Monadic Operations (transform and_then transform_error…
Talk on
Back to Basics: Lifetime Management in CppCppCon 20242024-09-15
Explains that the concrete claim is: prefer Rule of 0 (use existing value types and managers) and only implement special members when managing resources, which…
Talk on
Not your GrandParent’s C++NDC TechTown 20242024-09-09
A brisk history of C++ shows concrete changes: 13 years of stagnation end with C++11 modernization, the committee adopts a timed “train” model, and features…
Talk on
Total ReDoS: the dangers of regex in JavaScriptCPH DevFest 20242024-08-26
Explains concrete ReDoS cases and fixes: a simple A+\\$ pattern causes quadratic backtracking and crashed Stack Overflow for 34 minutes, complex .. sequences…
Talk on
Conquering Complexity: Refactoring JavaScript ProjectsJSNation 20242024-06-13
One of the most common issues in JavaScript code bases is that our code is too complex. As projects and their requirements evolve, complexity creeps in. Excess…
Talk on
Conquering Complexity: Refactoring JavaScript ProjectsGreat International Developer Summit 20242024-04-23
Shows how to find and shrink real complexity using cognitive complexity scores (example: a function rated 34 flagged to cut to 15), using SonarLint and its…
Talk on
Total ReDoS: the Dangers of Regex in JavaScriptGreat International Developer Summit 20242024-04-23
Regular expressions can cause ReDoS where simple patterns explode into massive work: a whitespace-trimming pattern runs into 200 million steps when faced with…
Talk on
Rewiring Your Brain - Boost Productivity with Test Driven Thinking in C++ACCU 20242024-04-17
Argues that test-driven thinking saves time, sharpens focus and can be fun by using psychology (habit loops, dopamine triggers, externalizing thought) plus…
Talk on
CSS Between the PagesDevWorld 20242024-02-29
Claims that the View Transitions API lets pages capture start and end DOM snapshots and animate between them are demonstrated with real code: using…
Talk on
Lightning Talk: Disentangling The Mikado Method When Refactoring C++ Legacy CodeC++Online 20242024-02-28
Describes using the Mikado Method to refactor untested C++ legacy code by running small experiments that make one change, run end to end or Approval Test style…
Lightning on
CSS Between the PagesJSWorld Conference 20242024-02-28
Shows how to replace white flashes with real transitions using the View Transitions API: call document.startViewTransition to snapshot before/after states…
Talk on
Conquering complexity: refactoring JavaScript projectsNDC Sydney 20242024-02-12
Claims that cognitive complexity (introduced 2016) predicts how hard code is to hold in the head better than cyclomatic metrics, and shows real results…
Talk on
The Top 5 JavaScript Issues in All Our CodebasesXtremeJS 20232023-11-21
Sona Cloud scans hundreds of millions of JavaScript lines and reports the top five static issues: unused assignments, using double equals/not equals, commented…
Talk on
Rewiring your brain with test driven thinking in C++Meeting C++ 20232023-11-12
Claim: writing tests first saves time, sharpens focus and can be fun. Demonstration uses leftpad example in C++ with the Catch test framework to show the…
Talk on
The state of passwordless auth on the webØredev 20232023-11-08
Gives concrete signals: current adoption numbers (52% reuse some passwords 35% use unique ones 11% reuse the same one 24% use a password manager from a 2018…
Talk on
The top 5 JavaScript issues in all our codebasesØredev 20232023-11-08
Scans of hundreds of millions of lines across thousands of repos produce a ranked list: most common JavaScript issues are unused assignments, == coercion…
Talk on
The state of passwordless auth on the webNDC Porto 20232023-10-16
Passwords are shown as fragile (52% reuse sometimes, only 24% use a manager) and easily leaked; practical fixes covered include HTML autocomplete, the…
Talk on
Back to Basics: Testing in C++CppCon 20232023-10-02
Focuses on concrete testing choices: unit tests sit at the bottom of the testing pyramid and must be fast, deterministic and isolated; Michael Fe’s rules (no…
Talk on
AnnouncingC++ on Sea 20232023-06-28
Conference returns in person at Folkestone, the venue sits by the cliff with a cliff view of France across the Channel and the program includes workshops and…
Talk on
The State of Passwordless Auth on the WebJSNation 20232023-06-01
Passwords remain a usability and security failure — surveys cited: 52% reuse some passwords, 24% use a password manager, 13% reuse the same password always —…
Talk on
The top 5 JavaScript issues in all our codebasesCityJS Athens 20232023-05-30
Scans of hundreds of millions of JavaScript lines in SonarCloud identify the five most common concrete problems: unused assignment left in functions, use of…
Talk on
The top 5 JavaScript issues in all our codebasesNDC Oslo 20232023-05-22
Scans of hundreds of millions of JS/TS lines claim the top recurring problems: unused assignments and commented-out code that just clutters files, widespread…
Talk on
Zen and the Art of Code Life Cycle MaintenanceNDC Oslo 20232023-05-22
Argues software quality as six concrete properties (correctness, applicability, reliability, efficiency, evolvability, reasonability) and shows where they…
Talk on
The state of passwordless auth on the webNDC Oslo 20232023-05-22
Passwords remain brittle: surveys show 52% reuse sometimes, 13% reuse always and only 24% use a password manager, so credential stuffing keeps working. The web…
Talk on
C++ Coroutines From ScratchACCU 20232023-04-19
An object-deserialization pipeline gets rewritten from recursive, callback-heavy code into a coroutine-driven batch loader that drops 10 network round-trips to…
Talk on
The top 5 JavaScript issues in all our codebasesjsday 20232023-04-13
Data from thousands of projects on SonarCloud and SonarQube shows five concrete problems: the single biggest issue is widespread use of var instead of let or…
Talk on
C++ Coroutines from scratchMeeting C++ 20222022-11-17
Shows a concrete migration from a lambda‑continuation loader to C++20 coroutines that replaces manual batching with coroutine suspension. Code uses a promise…
Talk on
C++ Coroutines, from ScratchCppCon 20222022-09-11
Claims C++20 coroutines cut complex async boilerplate and speed database-style object loading by converting a serial 10-roundtrip loader into batched loads and…
Talk on
Lightning Talk: Embrace Leaky Abstractions in C++CppCon 20222022-09-11
Claim: all abstractions are leaky and that reality shows it — numbers evolve over millennia (zero, division, imaginary numbers appear centuries later), so even…
Lightning on
Announcing C++ on Sea 2022C++ on Sea 20222022-07-05
Announcement confirms C++ on Sea 2022 returns in person in Folkestone, at a waterfront venue with a view of France across the Channel. Conference promises a…
Talk on
Web APIs for delightful two factor auth experiencesNDC Melbourne 20222022-06-20
Shows how to get username/password and SMS 2FA down to one or two clicks using browser features: add autocomplete and inputmode attributes, use the Credential…
Talk on
JavaScript apps go Int(ernationa)lNDC Melbourne 20222022-06-20
Shows how the ECMAScript Intl.DateTimeFormat and related APIs format dates, times and numbers correctly in the user’s locale (works in browsers and Node)…
Talk on
SOLID Revisited : The State of the MatterNDC Oslo 20212021-11-29
Traces SOLID’s origin back to pre-2000 papers, argues the five rules mostly collapse into two ideas—cohesion and polymorphism with contracts—and flags ocp and…
Talk on
Zen and the art of life cycle maintenanceMeeting C++ 20212021-11-10
Defines a concrete set of software qualities (correctness, reliability, performance, maintainability, reasonability, applicability) and argues that quality…
Talk on
Zen and the Art of Code Lifecycle MaintenanceCppCon 20212021-10-24
Six concrete takeaways: define six orthogonal qualities (correctness, applicability, reliability, efficiency, evolvability, reasonability), use the type system…
Talk on
A capital letter, a number, a special character, an emotional journey for the character, a subplotPyConline AU 20212021-09-10
Current recommendation: require at least 14 characters, accept all Unicode (spaces, emojis), and block dictionary, sequential, username‑like, or breached…
Talk on
SOLID Revisited : The State of the MatterNDC TechTown 20212021-08-30
Asserts SOLID is historically rooted but now partially redundant: core ideas collapse to cohesion and polymorphism/interfaces, OCP’s “closed for modification”…
Talk on
We've Always Been at War with East ConstiaC++ on Sea 20212021-06-30
C++11 allows trailing return types using auto and -> so return types can depend on parameter names that are only in scope after the argument list, and lambdas…
Talk on
All the Default's Are BackwardsC++ on Sea 20212021-06-30
Argues C++ should flip common defaults so reading accessors are const by default, functions are noexcept by default and constexpr by default, with terse…
Talk on
SOLID Revisited: The State of the MatterACCU 2021 Online2021-03-10
A short history and a pointed critique argue SOLID is often redundant, OO‑centred and poorly named, backed by a live poll of 85 attendees showing 36% knew the…
Talk on
Better API DX with a CLIApidays LIVE Jakarta 20212021-02-24
Twilio built a usable CLI to improve API DX: it’s written in Node.js/oclif, distributed via npm (and Homebrew), and auto-generates commands from API specs to…
Talk on
You're on Mute! WebRTC and our Lives on ScreenDevelopers Summit 20212021-02-18
Covers how browsers actually connect video calls using getUserMedia, RTCPeerConnection and ICE with STUN/TURN relays, and when to swap mesh peer‑to‑peer for an…
Talk on
JavaScript Apps Go IntlDevelopers Summit 20212021-02-18
Shows how ECMAScript Intl (ECMA-402) solves real problems: NumberFormat handles million formatting variants including Indian lakh grouping, French spaces and…
Talk on
4 Steps from JavaScript to TypeScriptDeveloper Summit 20202020-11-21
A simple Express Node webhook that calls a dad‑jokes API and returns SMS replies proves the path: enable pair program with TypeScript in VS Code, run npm…
Talk on
Oo Considered HarmfulMeeting C++ 20202020-11-12
Claims that object orientation mixes useful high‑level ideas with low‑level harms and argues for a split: use immutable value types and builders for low‑level…
Talk on
The trouble with webhooksApidays Live Hong Kong 20202020-10-08
Webhooks are essential but confusing so the platform ships concrete fixes: Twimlets and Toolbins provide ready PHP/XML endpoints developers actually use, ngrok…
Talk on
Test Driven C++CppCon 20202020-09-14
Sixty minutes show how Test Driven Development in C++ actually works: using Catch/Catch2 and CLion the demo implements a Snakes-and-Ladders board, exercises…
Talk on
OO Considered HarmfulCppCon 20202020-09-14
Argues C++ is multi‑paradigm not primarily OO and demonstrates concrete alternatives: historical Simula examples, Smalltalk/Objective‑C message passing, and…
Talk on
JavaScript for emails, are you sure?NDC Sydney 20202020-08-31
Claim: AMP for email brings real interactivity into inboxes using concrete components and server endpoints. Demo builds a poll (pie vs cake) with amp-carousel…
Talk on
JavaScript for emails, are you sure?NDC Sydney 20202020-08-31
Shows that AMP for Email actually ships interactive UI inside messages using amp-carousel and amp-form plus amp-image, amp-mustache and amp-bind; demo builds a…
Talk on
Fantastic Passwords and Where to Find ThemNoRuKo 20202020-08-21
Passwords are failing and practical fixes exist: require at least 14 characters and accept spaces and emoji, run a dictionary and context check, and block…
Talk on
Fantastic Passwords and Where to Find ThemWFH Conf 20202020-03-26
Passwords are demonstrably broken: a 2017–18 audit finds ~25% of employee passwords weak and 1,400 as password123; a public corpus lists ~555 million breached…
Talk on
The Dawn of a new ErrorMeeting C++ 20192019-11-14
Proposal p0709 deterministic exceptions rewrites throws into a return-channel transformation that yields something like std::expected, introduces a try/froz…
Talk on
The Dawn of a New ErrorACCU Autumn 2019 Belfast2019-11-11
A concrete C++ proposal set centers on p0709 "zero-overhead deterministic exceptions": exceptions become statically-typed value objects returned in registers…
Talk on
What's going on with Project Fugu?NDC Sydney 20192019-10-14
Project Fugu shows concrete browser capabilities now testable via Chrome flags or origin trials with time-limited tokens and a 0.5% usage cutoff. Demos prove…
Talk on
Keep Your Friends under controlCppCon 20192019-09-15
Placing a free function as an inline friend inside a class makes it hidden from the enclosing namespace so it is only found by ADL, which cuts the huge list of…
Talk on
The Dawn of a New Error, (C++ error-handling and exceptions)CppCon 20192019-09-15
Proposal p0709 implements zero-overhead deterministic exceptions by turning throws into a return-channel value isomorphic to std::expected plus a lightweight…
Talk on
Web Sharing is Web CaringComponentsConf 20192019-09-06
Including Facebook and Twitter widgets makes 12 extra requests to five origins, downloads almost 1 MB (0.25 MB compressed), and Facebook drops 10 cookies while…
Talk on
The Dawn of a New ErrorNDC TechTown 20192019-09-02
Survey shows 52% of C++ codebases ban exceptions; proposal p0709r1 promises zero-overhead deterministic exceptions by throwing values and new syntax (fro/try)…
Talk on
The Dawn Of A New ErrorACCU 20192019-04-10
Summary of a C++ proposal that replaces heaped RTTI exceptions with ADT-style, value errors: p0709r1 proposes zero-overhead deterministic exceptions that use a…
Talk on
Option(al) is not a failureMeeting C++ 20182018-11-15
Argues that ADT-style error handling actually works: use std::optional for marked propagation, move to std::expected (or Boost Outcome) for richer errors, and…
Talk on
You're Not as Smart as You Think You AreCppCon 20182018-09-23
Claims that human cognition has strict limits: an inattentional blindness demo where roughly half miss a gorilla even though there are 16 passes, a…
Talk on
“Modern C++ Testing with Catch2”CppCon 20182018-09-23
Catch2 rebases Catch on C++11 only, ships as a single-header with CATCH_CONFIG_MAIN or CATCH_CONFIG_RUNNER, and gives expression‑template assertions…
Talk on
Service workers - beyond the cacheNDC Sydney 20182018-09-17
Service workers power push notifications, background sync and more beyond simple caching, with concrete demos: a web SMS inbox uses VAPID keys and web-push…
Talk on
Aggressive Web AppsJSConf EU 20182018-06-02
Shows how service worker push works, explains that almost 75% of active users can receive web push, and gives concrete wins (Arkansas Children’s Hospital cuts…
Talk on
We have always been at war with West ConstiaC++Now 20182018-05-06
Proposes using trailing return types everywhere so function names appear first, with concrete code examples and slides showing how declarations line up and…
Talk on
Swift Driven DevelopmentACCU 20182018-04-11
Argues that Swift’s type system and runtime playgrounds let TDD go further: uses a snakes-and-ladders kata to show concrete gains, building a Board, Game, a…
Talk on
Command Line Parser LibraryMeeting C++ 20172017-11-09
A composable command-line parser called Clara is extracted from Catch and rewritten for C++11 so CLI code composes instead of duplicating. Each option is a…
Lightning on
The stand upMeeting C++ 20172017-11-09
Claims specific health effects and an intervention backed by sources: sitting >6 hours raises 15-year mortality risk by 40% even with exercise, standing…
Lightning on
Modern C++ testing with Catch2Meeting C++ 20172017-11-09
Catch2 rebases Catch on C++11 and ships as a single header file plus an optional CATCH_CONFIG_MAIN so a demo project compiles links and runs a failing test…
Talk on
The Holy Grail - A Hash Array Mapped Trie for C++NDC TechTown 20172017-10-17
A C++ reference implementation of a Hash Array Mapped Trie is proposed for Boost/standard, using Hash Array Mapped Trie layout with 32-way branching (peeling 5…
Talk on
A Composable Command Line ParserCppCon 20172017-09-24
A command-line parser library is extracted from Catch, released as Clara, and rewritten for C++11 to make small parsers composable. Each parser returns…
Talk on
The Holy Grail! A Hash Array Mapped Trie for C++CppCon 20172017-09-24
Proposes a Hash Array Mapped Trie (HAMT) that gives persistent structural sharing so copies cost two integers and depth for 15M items drops from ~24…
Talk on
JWT, WTF?JSPoland Conf 20172017-06-19
JSON Web Tokens are shown as three URL safe base64 parts (header payload signature) and actually built by encoding JSON then signing with HS256 signing with…
Talk on
Swift For The CuriousNDC Oslo 20172017-06-14
Swift is at version 3/4 and fully open-sourced; the session demos show Swift playgrounds for live evaluation, concrete use of optionals with if let and…
Talk on
Functional C++ for Fun & ProfitNDC Oslo 20172017-06-14
Shows concrete techniques for writing expression-oriented, mostly-immutable C++ using C++11/17 features: replace statements with ternary or immediately-invoked…
Talk on
JWT, WTF?Codemotion Amsterdam 20172017-05-16
Explains JSON Web Token format: header.payload.signature with base64url encoding and a signature generated using HS256 HMAC. Shows how to build and verify a…
Talk on
Browsers behind your backjsDay 20172017-05-10
Demonstrates that a Service Worker can queue POSTs into an IndexedDB outbox, register a Background Sync API tag, and then wake to fetch each stored message to…
Talk on
An empty database in everybody's pocketjsDay 20172017-05-10
IndexedDB is usable now in almost every browser and stores real JavaScript objects, so the demo actually builds a Twilio emoji chat that writes messages into a…
Talk on
Functional C++ For Fun And ProfitACCU 20172017-04-24
Argues that C++ can adopt practical functional ideas: use C++11 lambdas and immediately-invoked lambda tricks to make expression-oriented code, prefer…
Talk on
Browsers behind your back4Developers 20172017-04-03
Service Workers plus a small queued outbox in IndexedDB with idb let browsers capture POSTs while offline and automatically replay them via the Background Sync…
Talk on
An empty database in everybody's pocketNG Poland 20162016-11-22
IndexedDB is presented as a practical way to add performance and resiliency to single page apps by keeping a local object store of messages. A small chat…
Promo on
Functional C++ for Fun and ProfitMeeting C++ 20162016-11-18
Material demonstrates concrete techniques: use of lambdas and small functions to make C++ expression oriented, a builder pattern to keep domain objects…
Talk on
The web is getting pushyCodemotion Amsterdam 20162016-05-11
Demo builds a Twitter-hashtag app that uses Service Worker plus EventSource on the client, a Node backend and the Fetch API to register a PushManager…
Talk on
2FA, WTF?Codemotion Amsterdam 20162016-05-11
Explains why an account takeover like Matt Honan’s happens and shows three concrete 2FA methods: SMS codes (easy but interceptable), time-based one‑time…
Talk on
Lightning Talks Part ThreeBathRuby 20162016-03-11
One person reports running 230 days of daily open‑source contributions, experimenting with LinkedIn posting, trolling spam, travel and personal availability…
Lightning on
The stand upCppCon 20152015-09-21
Sitting six or more hours a day links to 40% higher mortality over 15 years even if regular exercise, and standing briefly boosts brain oxygen by about 20%, so…
Talk on
Test Driven C++ with CatchCppCon 20152015-09-21
Explains Catch as a single-header distribution for C++ unit and integration tests, shows a live TDD session building a ring buffer (capacity 4) using…
Talk on
The web is getting pushyYou Gotta Love Frontend 20152015-06-08
Builds a tiny live app: Node + Express backend, Twitter streaming API and Server‑Sent Events to the page, EventSource and template strings client‑side, then…
Talk on
The web is getting pushyJSConf Budapest 20152015-05-14
Claim: the web gains real push notifications via Service Worker and the push manager. Demo builds a Twitter-stream app that registers a service worker…
Talk on
Testdriven C++ with CatchMeeting C++ 20142014-12-05
Claim: Catch is a single-header C++ test framework that compiles with one include and a single #define to generate main, uses natural expressions via require…
Talk on
How to create the perfect prototypeArrrrCamp 20132013-10-03
Mint Digital claims a repeatable process that builds focused prototypes in four days using Rails + Heroku with templates, tests, frequent deploys and known…
Talk on
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.