← Extractions

JavaScript/Frontend Panel at wroclove.rb 2018

Panel Q&A at wroclove.rb 2018 where Ruby developers debated frontend JavaScript trends: CSS-in-JS, reactive programming with Ember/React+MobX, Opal's missed opportunity, the rise of TypeScript/Flow, WebAssembly (including the LinkedIn/Ember/Rust experiment), PWA momentum, JSON API vs GraphQL, and Microsoft's shifting relationship with the web community.

Model
claude-opus-4-7
Ingestion
30fd60fb
Input tokens
400,487
fresh
333,525
cached
57,396
cache write
9,566
Output tokens
23,119
Duration
483.4s
Roundtrips
7
Tool calls
23
Cost
$0.00
Nodes/edges extracted
54 / 101
Read set (nodes/edges)
305 / 0

Nodes (54)

create JavaScript and Frontend Panel talk
kind (empty) → talk
name (empty) → JavaScript and Frontend Panel
slug (empty) → javascript-and-frontend-panel
attrs (empty) → {"type" => "panel"}
description (empty) → Panel / Q&A discussion at wroclove.rb 2018 in which Ruby developers on stage took moderator and audience questions ab...
short_description (empty) → wroclove.rb 2018 Q&A panel on modern JavaScript, frontend frameworks, and web platform trends.
create CSS-in-JS concept
kind (empty) → concept
name (empty) → CSS-in-JS
slug (empty) → css-in-js
attrs (empty) → {"category" => "pattern"}
description (empty) → Frontend pattern of defining styles inside JavaScript modules. Historically described as an anti-pattern, but by 2018...
short_description (empty) → Pattern of co-locating component styles with JavaScript code.
create Reactive Programming concept
kind (empty) → concept
name (empty) → Reactive Programming
slug (empty) → reactive-programming
attrs (empty) → {"category" => "pattern"}
description (empty) → Programming model popularized by React+MobX and Ember: the application maintains observable state, dispatches actions...
short_description (empty) → State-driven UI paradigm where the view is a pure function of observable state.
create Virtual DOM concept
kind (empty) → concept
name (empty) → Virtual DOM
slug (empty) → virtual-dom
attrs (empty) → {"category" => "pattern"}
description (empty) → In-memory tree reflecting the current UI, rebuilt from application state on every change. Central to reactive framewo...
short_description (empty) → In-memory representation of the UI derived from application state.
create Convention over Configuration concept
kind (empty) → concept
name (empty) → Convention over Configuration
slug (empty) → convention-over-configuration
attrs (empty) → {"category" => "principle"}
description (empty) → Design principle popularized by Rails and cited approvingly in the panel: when standards already work for big players...
short_description (empty) → Principle of following well-established conventions instead of bespoke solutions.
create Progressive Web Apps concept
kind (empty) → concept
name (empty) → Progressive Web Apps
slug (empty) → progressive-web-apps
attrs (empty) → {"category" => "architecture"}
description (empty) → Web applications that use web-platform features (manifest.json, service workers, offline support) to behave like nati...
short_description (empty) → Web apps delivering native-like, offline-capable experiences via standard web platform features.
create WebAssembly concept
kind (empty) → concept
name (empty) → WebAssembly
slug (empty) → webassembly
attrs (empty) → {"category" => "architecture"}
description (empty) → Emerging browser runtime target that lets code written in Rust, C++, Python, Ruby, etc. be compiled and executed in t...
short_description (empty) → Portable binary instruction format letting non-JS languages run in the browser.
create Transpilers concept
kind (empty) → concept
name (empty) → Transpilers
slug (empty) → transpilers
attrs (empty) → {"category" => "practice"}
description (empty) → Class of tools that convert source in one language to another — most commonly to JavaScript. Panel argument: with Typ...
short_description (empty) → Tools compiling one source language to another (typically to JavaScript).
create TC39 concept
kind (empty) → concept
name (empty) → TC39
slug (empty) → tc39
attrs (empty) → {"category" => "methodology"}
description (empty) → ECMA committee evolving the JavaScript language. Panel highlights proposals in various stages such as the pipeline op...
short_description (empty) → Standards committee defining the ECMAScript language specification.
create Pipeline Operator concept
kind (empty) → concept
name (empty) → Pipeline Operator
slug (empty) → pipeline-operator
attrs (empty) → {"category" => "pattern"}
description (empty) → TC39 proposal (in-stage at the time of the panel) adding a pipe-style operator to JavaScript, analogous to Elixir's |...
short_description (empty) → Proposed JavaScript operator for chaining function calls as successive arguments.
create Ember.js tool
kind (empty) → tool
name (empty) → Ember.js
slug (empty) → ember-js
attrs (empty) → {"category" => "framework"}
description (empty) → JavaScript framework (transcribed throughout as 'amber') built around strong conventions — many of them borrowed from...
short_description (empty) → Opinionated JavaScript framework with conventions borrowed from Rails.
create Angular tool
kind (empty) → tool
name (empty) → Angular
slug (empty) → angular
attrs (empty) → {"category" => "framework"}
description (empty) → One of the established SPA frameworks cited in the panel alongside Ember as a long-lived option for building single-p...
short_description (empty) → Google-backed JavaScript SPA framework.
create React tool
kind (empty) → tool
name (empty) → React
slug (empty) → react
attrs (empty) → {"category" => "library"}
description (empty) → JavaScript UI library. In the panel, react combined with MobX is cited as an example of reactive programming where th...
short_description (empty) → Component-based JavaScript library for building user interfaces.
create MobX tool
kind (empty) → tool
name (empty) → MobX
slug (empty) → mobx
attrs (empty) → {"category" => "library"}
description (empty) → Reactive state library commonly paired with React. Panel uses it (transcribed as 'mobiles') alongside Ember as a cano...
short_description (empty) → Reactive state management library for JavaScript.
create Preact tool
kind (empty) → tool
name (empty) → Preact
slug (empty) → preact
attrs (empty) → {"category" => "library"}
description (empty) → Small, React-compatible UI library (transcribed as 'pre-act'). Used at LinkedIn to rewrite the main page with all com...
short_description (empty) → Lightweight React-compatible alternative optimized for size and speed.
create Opal tool
kind (empty) → tool
name (empty) → Opal
slug (empty) → opal
attrs (empty) → {"category" => "language"}
description (empty) → Ruby-to-JavaScript compiler. Panel view: Opal missed its opportunity when Rails adopted the Webpacker/ES route instea...
short_description (empty) → Ruby-to-JavaScript transpiler.
create TypeScript tool
kind (empty) → tool
name (empty) → TypeScript
slug (empty) → typescript
attrs (empty) → {"category" => "language"}
description (empty) → Typed superset of JavaScript from Microsoft that has been production-usable for years before the panel. Panelists str...
short_description (empty) → Microsoft-authored typed superset of JavaScript compiling to plain JS.
create Flow tool
kind (empty) → tool
name (empty) → Flow
slug (empty) → flow
attrs (empty) → {"category" => "library"}
description (empty) → Static type checker for JavaScript (from Facebook) recommended alongside TypeScript in the panel as a way to make pro...
short_description (empty) → Facebook static type checker for JavaScript.
create Babel tool
kind (empty) → tool
name (empty) → Babel
slug (empty) → babel
attrs (empty) → {"category" => "library"}
description (empty) → JavaScript transpiler that implements in-flight TC39 proposals. Panel notes the Babel team tries to support new featu...
short_description (empty) → JavaScript compiler enabling next-gen syntax to run today.
create Stimulus tool
kind (empty) → tool
name (empty) → Stimulus
slug (empty) → stimulus
attrs (empty) → {"category" => "library"}
description (empty) → JavaScript library promoted by DHH for about three years (per the panel's recollection) that works alongside server-g...
short_description (empty) → Modest JavaScript library promoted by DHH for augmenting server-rendered HTML.
create Electron tool
kind (empty) → tool
name (empty) → Electron
slug (empty) → electron
attrs (empty) → {"category" => "framework"}
description (empty) → Framework letting web apps ship as desktop applications. Panel cites it as an example of web technology masquerading ...
short_description (empty) → Framework for building desktop apps using web technologies.
create Rust tool
kind (empty) → tool
name (empty) → Rust
slug (empty) → rust
attrs (empty) → {"category" => "language"}
description (empty) → Systems programming language used by Yehuda Katz to rewrite Ember's Glimmer rendering engine, which was then compiled...
short_description (empty) → Memory-safe systems programming language.
create Glimmer tool
kind (empty) → tool
name (empty) → Glimmer
slug (empty) → glimmer
attrs (empty) → {"category" => "library"}
description (empty) → Ember's rendering engine. At the latest EmberConf before the panel, Yehuda Katz revealed he had rewritten Glimmer's c...
short_description (empty) → Ember's rendering engine.
create JSON API concept
kind (empty) → concept
name (empty) → JSON API
slug (empty) → json-api
attrs (empty) → {"category" => "pattern"}
description (empty) → Specification defining a consistent JSON format for HTTP APIs. Panel's mixed take: in the basics it is humble and has...
short_description (empty) → Specification for consistent JSON HTTP APIs.
create JSON API Resources tool
kind (empty) → tool
name (empty) → JSON API Resources
slug (empty) → json-api-resources
attrs (empty) → {"category" => "library"}
description (empty) → Widely used Ruby gem for serving JSON API-compliant endpoints from Rails. Panel criticism: one speaker used it and di...
short_description (empty) → Ruby gem implementing JSON API in Rails applications.
create GraphQL tool
kind (empty) → tool
name (empty) → GraphQL
slug (empty) → graphql
attrs (empty) → {"category" => "library"}
description (empty) → API query language cited as having use cases where JSON API 'basically sucks'. Panel advice: be open-minded and pick ...
short_description (empty) → Query language and runtime for APIs from Facebook.
create PureScript tool
kind (empty) → tool
name (empty) → PureScript
slug (empty) → purescript
attrs (empty) → {"category" => "language"}
description (empty) → Haskell-inspired language (transcribed as 'pure script') mentioned alongside Elm and ClojureScript as compile-to-JS a...
short_description (empty) → Strongly-typed functional language compiling to JavaScript.
create Elm tool
kind (empty) → tool
name (empty) → Elm
slug (empty) → elm
attrs (empty) → {"category" => "language"}
description (empty) → Functional language (transcribed as 'Allen') cited alongside PureScript and ClojureScript as a compile-to-JS alternat...
short_description (empty) → Functional language for reliable web frontends, compiling to JavaScript.
create ClojureScript tool
kind (empty) → tool
name (empty) → ClojureScript
slug (empty) → clojurescript
attrs (empty) → {"category" => "language"}
description (empty) → Clojure variant that compiles to JavaScript (transcribed as 'closure script'). Panel lists it among the better langua...
short_description (empty) → Clojure dialect compiling to JavaScript.
create .NET tool
kind (empty) → tool
name (empty) → .NET
slug (empty) → net
attrs (empty) → {"category" => "platform"}
description (empty) → Microsoft's application platform. Panel speculates Microsoft's aggressive PWA and TypeScript push in the next Windows...
short_description (empty) → Microsoft's general-purpose application platform.
create Node.js tool
kind (empty) → tool
name (empty) → Node.js
slug (empty) → node-js
attrs (empty) → {"category" => "platform"}
description (empty) → JavaScript runtime for backend work. Panel's take: Node.js is not the primary backend option at many companies and fa...
short_description (empty) → JavaScript runtime for backend applications built on V8.
create Outlook tool
kind (empty) → tool
name (empty) → Outlook
slug (empty) → outlook
attrs (empty) → {"category" => "platform"}
description (empty) → Microsoft email/calendar product. Panel notes the new Outlook is built using MobX — cited as evidence of Microsoft em...
short_description (empty) → Microsoft's email and calendaring client.
create LinkedIn company
kind (empty) → company
name (empty) → LinkedIn
slug (empty) → linkedin
attrs (empty) → {"industry" => "social network"}
description (empty) → Professional social network, owned by Microsoft. Panel case study: the main page was being rewritten for faster initi...
short_description (empty) → Professional social network owned by Microsoft.
create Microsoft company
kind (empty) → company
name (empty) → Microsoft
slug (empty) → microsoft
attrs (empty) → {"industry" => "software"}
description (empty) → Technology company. Panel observation: Microsoft has shifted from being the web developer's 'bad guy' under Ballmer t...
short_description (empty) → Technology company increasingly aligned with open web standards.
create EmberConf event
kind (empty) → event
name (empty) → EmberConf
slug (empty) → emberconf
attrs (empty) → {"format" => "in-person"}
description (empty) → Annual Ember.js community conference. Referenced in the panel as happening five days before wroclove.rb 2018, where t...
short_description (empty) → Annual conference for the Ember.js community.
create Yehuda Katz person
kind (empty) → person
name (empty) → Yehuda Katz
slug (empty) → yehuda-katz
description (empty) → Co-creator of Ember.js (transcribed as 'Hooda' / 'he'), early Rails contributor, and active open-source leader. Featu...
short_description (empty) → Co-creator of Ember.js; prominent open-source contributor.
create DHH person
kind (empty) → person
name (empty) → DHH
slug (empty) → dhh
description (empty) → David Heinemeier Hansson — creator of Ruby on Rails. Panel mentions him as having promoted Stimulus (a small JavaScri...
short_description (empty) → Creator of Ruby on Rails.
create Steve Ballmer person
kind (empty) → person
name (empty) → Steve Ballmer
slug (empty) → steve-ballmer
description (empty) → Former Microsoft CEO. Panel credits his successor's post-Ballmer leadership change as the reason Microsoft flipped fr...
short_description (empty) → Former Microsoft CEO preceding Satya Nadella.
create Which JavaScript fads have stood the test of time? question
kind (empty) → question
name (empty) → Which JavaScript fads have stood the test of time?
slug (empty) → which-javascript-fads-have-stood-the-test-of-time
attrs (empty) → {"answer_summary" => "CSS-in-JS, Angular/Ember as LTS choices, and reactive programming (Ember, React+MobX) with stat...
description (empty) → Moderator asks which JavaScript ideas have survived and which current fads are likely to stay. Answers: CSS-in-JS (no...
short_description (empty) → Panel question on long-lived JavaScript frameworks and patterns.
create Will we all be exclusively JavaScript developers in two years? question
kind (empty) → question
name (empty) → Will we all be exclusively JavaScript developers in two years?
slug (empty) → will-we-all-be-exclusively-javascript-developers-in-two-years
attrs (empty) → {"answer_summary" => "No — Node competes with Rails/Elixir, transpilers give language choice, and Ruby/other language...
description (empty) → Panel answer: no. Node.js faces heavy competition on the backend; Rails is better for quick prototyping and Elixir is...
short_description (empty) → Panel question on JavaScript dominance over backend languages.
create Can Opal be treated as a real production technology? question
kind (empty) → question
name (empty) → Can Opal be treated as a real production technology?
slug (empty) → can-opal-be-treated-as-a-real-production-technology
attrs (empty) → {"answer_summary" => "Opal missed its opportunity when Rails went Webpacker/ES; its popularity will likely decline."}
description (empty) → Panel answer: one panelist hadn't used Opal in two years and couldn't speak to current readiness, but argued Opal mis...
short_description (empty) → Panel question on Opal's production readiness and future.
create Don't follow JSON API religiously takeaway
kind (empty) → takeaway
name (empty) → Don't follow JSON API religiously
slug (empty) → don-t-follow-json-api-religiously
attrs (empty) → {"type" => "recommendation"}
description (empty) → JSON API is a decent choice in its basics but has gaps (no file-upload standard) and imperfect Ruby libraries. Sticki...
short_description (empty) → Use JSON API with company exceptions; pick the right spec per use case.
create Will JavaScript die as a development platform? question
kind (empty) → question
name (empty) → Will JavaScript die as a development platform?
slug (empty) → will-javascript-die-as-a-development-platform
attrs (empty) → {"answer_summary" => "JavaScript likely survives (too tied to the DOM) but increasingly exists only as a compilation ...
description (empty) → Moderator asks whether JavaScript will die as a development platform, becoming a compilation target for 'better' lang...
short_description (empty) → Panel question on JavaScript becoming merely a compile target.
create What will be the JavaScript developer's dream in a year? question
kind (empty) → question
name (empty) → What will be the JavaScript developer's dream in a year?
slug (empty) → what-will-be-the-javascript-developer-s-dream-in-a-year
attrs (empty) → {"answer_summary" => "TC39 features via Babel, more reactive programming, and a huge rise of PWAs — with Microsoft ch...
description (empty) → Panel answer: TC39 features like the pipeline operator and class modifiers will arrive early via Babel; reactive prog...
short_description (empty) → Panel question about upcoming frameworks and concepts to get excited about.
create JSON API or GraphQL — what do you recommend? question
kind (empty) → question
name (empty) → JSON API or GraphQL — what do you recommend?
slug (empty) → json-api-or-graphql-what-do-you-recommend
attrs (empty) → {"answer_summary" => "Use standards pragmatically: JSON API is OK with exceptions, GraphQL suits other use cases, and...
description (empty) → Panel answer: JSON API is decent but don't follow it religiously — the spec lacks a file-upload standard, and the JSO...
short_description (empty) → Panel question on standardized API formats and when to follow them.
create Have you heard of Stimulus? question
kind (empty) → question
name (empty) → Have you heard of Stimulus?
slug (empty) → have-you-heard-of-stimulus
attrs (empty) → {"answer_summary" => "Recognized as DHH's HTML-from-Rails library, but panelists had no hands-on experience."}
description (empty) → Audience asks whether panelists have heard of or used Stimulus. Panel answer: vaguely — it's the library DHH has prom...
short_description (empty) → Audience question about DHH's Stimulus JavaScript library.
create Would you recommend TypeScript or Flow? question
kind (empty) → question
name (empty) → Would you recommend TypeScript or Flow?
slug (empty) → would-you-recommend-typescript-or-flow
attrs (empty) → {"answer_summary" => "Yes — both strongly recommended; TypeScript especially, given Microsoft's heavy investment."}
description (empty) → Audience asks whether panelists recommend TypeScript or Flow. Panel answer: yes — both are recommended as significant...
short_description (empty) → Audience question on using typed JavaScript supersets.
create What are the biggest advantages of WebAssembly? question
kind (empty) → question
name (empty) → What are the biggest advantages of WebAssembly?
slug (empty) → what-are-the-biggest-advantages-of-webassembly
attrs (empty) → {"answer_summary" => "Streaming compilation + tree-shakable modules = large initial-load performance gains, as shown ...
description (empty) → Panel answer: the ability to run code after loading just the first bytes of a module — streaming compilation — plus t...
short_description (empty) → Audience question on WebAssembly's practical benefits.
create Adopt CSS-in-JS for modern component-based frontends takeaway
kind (empty) → takeaway
name (empty) → Adopt CSS-in-JS for modern component-based frontends
slug (empty) → adopt-css-in-js-for-modern-component-based-frontends
attrs (empty) → {"type" => "recommendation"}
description (empty) → CSS-in-JS has gone from anti-pattern to mainstream; with component-based architecture it eliminates the need to hunt ...
short_description (empty) → Use CSS-in-JS to improve maintainability and reduce bundle size.
create Prefer conventions over custom code takeaway
kind (empty) → takeaway
name (empty) → Prefer conventions over custom code
slug (empty) → prefer-conventions-over-custom-code
attrs (empty) → {"type" => "recommendation"}
description (empty) → Don't bother with custom code when proven standards and conventions work for big players. Convention-driven framework...
short_description (empty) → Follow established standards and framework conventions instead of rolling your own.
create Adopt TypeScript or Flow for maintainability takeaway
kind (empty) → takeaway
name (empty) → Adopt TypeScript or Flow for maintainability
slug (empty) → adopt-typescript-or-flow-for-maintainability
attrs (empty) → {"type" => "recommendation"}
description (empty) → TypeScript and Flow are strongly recommended as a step forward for maintainability, large-scale refactoring, and find...
short_description (empty) → Typed JavaScript catches bugs early and eases refactoring.
create Watch WebAssembly for real performance wins takeaway
kind (empty) → takeaway
name (empty) → Watch WebAssembly for real performance wins
slug (empty) → watch-webassembly-for-real-performance-wins
attrs (empty) → {"type" => "insight"}
description (empty) → WebAssembly enables running code from the first bytes of a module and loading only the parts of a module actually nee...
short_description (empty) → WebAssembly's streaming + tree-shaking will let tools generate ever more wasm output.
create Opal missed its window with Rails takeaway
kind (empty) → takeaway
name (empty) → Opal missed its window with Rails
slug (empty) → opal-missed-its-window-with-rails
attrs (empty) → {"type" => "lesson-learned"}
description (empty) → Opal could have surged in popularity had Rails adopted it as the primary frontend solution for Rails apps. Because Ra...
short_description (empty) → Opal lost traction when Rails adopted Webpacker/ES over Opal.
create Microsoft is becoming a friend of the open web takeaway
kind (empty) → takeaway
name (empty) → Microsoft is becoming a friend of the open web
slug (empty) → microsoft-is-becoming-a-friend-of-the-open-web
attrs (empty) → {"type" => "insight"}
description (empty) → Under current leadership Microsoft has shifted from the web developer's 'bad guy' to a collaborator: heavy TypeScript...
short_description (empty) → Post-Ballmer Microsoft invests in TypeScript, Ember, MobX, and PWAs.

Edges (101)

create JavaScript and Frontend Panel → presented_at → wroclove.rb 2018
context (empty) → Panel/Q&A held at the 2018 edition of wroclove.rb in Wrocław.
relation (empty) → presented_at
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 9243ef2c-21bb-4f23-b450-9ecd87882dfe
create JavaScript and Frontend Panel → about → CSS-in-JS
context (empty) → Panel highlights CSS-in-JS as a pattern that has gained traction.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 57410453-43a5-4df9-8816-f364fe5a9c21
create JavaScript and Frontend Panel → about → Reactive Programming
context (empty) → Panel discusses reactive programming shared by Ember and React+MobX.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → d944acfc-bd46-4c8b-a8d7-0badde0b5597
create JavaScript and Frontend Panel → about → Virtual DOM
context (empty) → Panel explains virtual DOM being derived from observable state.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 81875123-cc60-41f0-8e0e-758f7bdc4c02
create JavaScript and Frontend Panel → about → Convention over Configuration
context (empty) → Panel stresses convention-based frameworks and specs over custom code.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 4b5945b2-8d80-4760-bf83-2b510bc9d4e8
create JavaScript and Frontend Panel → about → Progressive Web Apps
context (empty) → Panel predicts a huge shift toward PWAs across browsers and Windows.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 29ff1dac-418b-42fe-87cc-ecaf594ddcfc
create JavaScript and Frontend Panel → about → WebAssembly
context (empty) → Panel discusses WebAssembly advantages and the LinkedIn/Glimmer experiment.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 2bf5ebe4-f436-4efd-8cf2-959ee1be597a
create JavaScript and Frontend Panel → about → Transpilers
context (empty) → Panel argues transpilers let developers avoid writing JavaScript directly.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 65517ae2-1586-4346-88b1-f63f559928c9
create JavaScript and Frontend Panel → about → TC39
context (empty) → Panel references TC39 proposals (pipeline operator, class modifiers) coming via Babel.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 0d2f40e0-6bac-4a07-8732-e85f1dd04eeb
create JavaScript and Frontend Panel → about → Pipeline Operator
context (empty) → Panel specifically cites the pipeline operator among incoming TC39 features.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 82ca8b9d-556d-4784-8bf8-b4de4cf7b842
create JavaScript and Frontend Panel → about → Ember.js
context (empty) → Ember is recommended as an LTS SPA choice matching a Rails mindset.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 1d7cf6f1-e4d9-4837-83a0-023edbcef4fb
create JavaScript and Frontend Panel → about → Angular
context (empty) → Angular is cited alongside Ember as a long-lived SPA toolkit.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → b00527c6-a888-4b2c-8ab8-5dd6df2b435a
create JavaScript and Frontend Panel → about → React
context (empty) → React with MobX is the panel's canonical reactive-programming example.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 5026a4fc-0c6e-49d7-bb7d-29be23b72b24
create JavaScript and Frontend Panel → about → MobX
context (empty) → MobX paired with React illustrates reactive, state-driven UIs; also used in new Outlook.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → f42c9683-a450-4196-be59-adc74e004e55
create JavaScript and Frontend Panel → about → Preact
context (empty) → LinkedIn rewrote its main page with Preact because benchmarks showed fastest first-load.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 536e3d9b-1e4e-4e3b-b86d-7973a436d8cb
create JavaScript and Frontend Panel → about → Opal
context (empty) → Panel debates whether Opal is production-ready and concludes it missed its Rails window.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → e1fc1bef-292e-4438-b366-e62fbcbd4152
create JavaScript and Frontend Panel → about → TypeScript
context (empty) → Panel recommends TypeScript and notes Microsoft's heavy investment.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 43a67685-cd1a-4515-82f2-37f8f1670634
create JavaScript and Frontend Panel → about → Flow
context (empty) → Panel recommends Flow alongside TypeScript for typed JavaScript.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 44052cd0-2740-4fcd-b641-88a5d53b56e3
create JavaScript and Frontend Panel → about → Babel
context (empty) → Panel credits Babel for shipping TC39 proposals early.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → b571650f-11a8-47cf-b9b6-58d124f1836c
create JavaScript and Frontend Panel → about → Stimulus
context (empty) → Audience asks whether panelists have used Stimulus.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 87cb1332-bd03-4cc9-a0b1-c8c83aae8051
create JavaScript and Frontend Panel → about → Electron
context (empty) → Panel lists Electron as an example of web tech as native apps, a trend shifting to PWAs.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 354880d7-e2dd-4c0e-869a-6c90646384d9
create JavaScript and Frontend Panel → about → Rust
context (empty) → Panel discusses Rust as the source language of the Glimmer WebAssembly rewrite.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 0acb6016-22e1-4a00-a2e9-46695fde3de2
create JavaScript and Frontend Panel → about → Glimmer
context (empty) → Panel describes Yehuda Katz's Rust + WebAssembly rewrite of Ember's Glimmer engine.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 9fdad47b-98a9-45e3-8cd6-f0bc7b9ba8c1
create JavaScript and Frontend Panel → about → JSON API
context (empty) → Panel debates JSON API adherence and its upcoming operations plugin.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 4dbefcd7-9a6e-496b-b790-d94eb3f8d825
create JavaScript and Frontend Panel → about → JSON API Resources
context (empty) → Panel criticizes the JSON API Resources Ruby gem and a rejected pull request.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 1b439d17-63a8-47a9-8a76-5dc53076174b
create JavaScript and Frontend Panel → about → GraphQL
context (empty) → Panel cites GraphQL as better than JSON API for certain use cases.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → c6a1041c-3116-4194-b7f0-eba7cd4a7e64
create JavaScript and Frontend Panel → about → PureScript
context (empty) → PureScript is listed as a compile-to-JS alternative.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 8671a9b4-256e-45b8-a609-a84c2374cdbf
create JavaScript and Frontend Panel → about → Elm
context (empty) → Elm is listed as a compile-to-JS alternative.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 24c97237-b385-4ede-bcca-8194f293713a
create JavaScript and Frontend Panel → about → ClojureScript
context (empty) → ClojureScript is listed as a compile-to-JS alternative.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → cf0f6cf8-dbc2-4f1a-ae8e-be03f30c1f9f
create JavaScript and Frontend Panel → about → .NET
context (empty) → Panel speculates Microsoft pushes PWA/TypeScript partly at .NET's expense.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 6adabc22-a7e5-4b0d-942a-21d5d22737e1
create JavaScript and Frontend Panel → about → Node.js
context (empty) → Panel assesses Node.js's competitive position on the backend.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 9aeec77e-7dee-4054-85fe-541434a0d272
create JavaScript and Frontend Panel → about → Outlook
context (empty) → Panel notes Microsoft uses MobX for the new Outlook.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → d8c0f3bd-19b3-42c3-b51f-403f98636dbf
create JavaScript and Frontend Panel → about → LinkedIn
context (empty) → Extended case study of LinkedIn's rewrite using Preact, Ember, Rust, and WebAssembly.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → cdd1b4e7-8618-4d77-ab00-731c9c168c47
create JavaScript and Frontend Panel → about → Microsoft
context (empty) → Panel discusses Microsoft's shift toward supporting open web technologies.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 9cab775d-274d-473e-a25a-8f97201fcfa0
create JavaScript and Frontend Panel → about → EmberConf
context (empty) → Panel references announcements made at EmberConf five days earlier.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 88c0abec-2734-45dd-a65a-0f7e6ba12acc
create JavaScript and Frontend Panel → about → Yehuda Katz
context (empty) → Panel recounts Yehuda Katz's Rust + WebAssembly Glimmer rewrite for LinkedIn.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 3f09fa14-620f-4ebe-8684-eada1277a522
create JavaScript and Frontend Panel → about → DHH
context (empty) → DHH is mentioned as Stimulus's promoter.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 51ed6191-ce15-4ca5-9eed-d55908e5ab88
create JavaScript and Frontend Panel → about → Steve Ballmer
context (empty) → Panel contrasts current Microsoft leadership with Ballmer's era.
relation (empty) → about
source_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
target_node_id (empty) → 1eac0a8f-fbd7-47ae-abec-973c88c0ef8c
create Ember.js → uses → Glimmer
context (empty) → Glimmer is Ember's rendering engine.
relation (empty) → uses
source_node_id (empty) → 1d7cf6f1-e4d9-4837-83a0-023edbcef4fb
target_node_id (empty) → 9fdad47b-98a9-45e3-8cd6-f0bc7b9ba8c1
create Ember.js → uses → Reactive Programming
context (empty) → Ember employs state-driven reactive programming with a virtual DOM.
relation (empty) → uses
source_node_id (empty) → 1d7cf6f1-e4d9-4837-83a0-023edbcef4fb
target_node_id (empty) → d944acfc-bd46-4c8b-a8d7-0badde0b5597
create React → uses → Virtual DOM
context (empty) → React derives its virtual DOM from component state.
relation (empty) → uses
source_node_id (empty) → 5026a4fc-0c6e-49d7-bb7d-29be23b72b24
target_node_id (empty) → 81875123-cc60-41f0-8e0e-758f7bdc4c02
create React → related_to → MobX
context (empty) → React and MobX are paired in the panel's reactive-programming example.
relation (empty) → related_to
source_node_id (empty) → 5026a4fc-0c6e-49d7-bb7d-29be23b72b24
target_node_id (empty) → f42c9683-a450-4196-be59-adc74e004e55
create Ember.js → uses → Convention over Configuration
context (empty) → Ember borrows conventions from the Rails community.
relation (empty) → uses
source_node_id (empty) → 1d7cf6f1-e4d9-4837-83a0-023edbcef4fb
target_node_id (empty) → 4b5945b2-8d80-4760-bf83-2b510bc9d4e8
create Yehuda Katz → works_on → Ember.js
attrs (empty) → {"role" => "co-creator"}
context (empty) → Co-creator of Ember.js and driver of the Glimmer WebAssembly experiment.
relation (empty) → works_on
source_node_id (empty) → 3f09fa14-620f-4ebe-8684-eada1277a522
target_node_id (empty) → 1d7cf6f1-e4d9-4837-83a0-023edbcef4fb
create Yehuda Katz → works_on → Glimmer
context (empty) → Rewrote Glimmer's core engine in Rust and compiled it to WebAssembly.
relation (empty) → works_on
source_node_id (empty) → 3f09fa14-620f-4ebe-8684-eada1277a522
target_node_id (empty) → 9fdad47b-98a9-45e3-8cd6-f0bc7b9ba8c1
create Yehuda Katz → works_on → LinkedIn
context (empty) → Microsoft asked him to help improve LinkedIn's frontend performance.
relation (empty) → works_on
source_node_id (empty) → 3f09fa14-620f-4ebe-8684-eada1277a522
target_node_id (empty) → cdd1b4e7-8618-4d77-ab00-731c9c168c47
create Yehuda Katz → uses → Rust
context (empty) → Used Rust as the source for his WebAssembly Glimmer rewrite.
relation (empty) → uses
source_node_id (empty) → 3f09fa14-620f-4ebe-8684-eada1277a522
target_node_id (empty) → 0acb6016-22e1-4a00-a2e9-46695fde3de2
create Yehuda Katz → uses → WebAssembly
context (empty) → Compiled the Rust-based Glimmer rewrite to WebAssembly for LinkedIn.
relation (empty) → uses
source_node_id (empty) → 3f09fa14-620f-4ebe-8684-eada1277a522
target_node_id (empty) → 2bf5ebe4-f436-4efd-8cf2-959ee1be597a
create Yehuda Katz → attended → EmberConf
context (empty) → Presented the Rust/WebAssembly experiment on stage at EmberConf.
relation (empty) → attended
source_node_id (empty) → 3f09fa14-620f-4ebe-8684-eada1277a522
target_node_id (empty) → 88c0abec-2734-45dd-a65a-0f7e6ba12acc
create DHH → works_on → Stimulus
context (empty) → Promoter of Stimulus for roughly three years leading up to the panel.
relation (empty) → works_on
source_node_id (empty) → 51ed6191-ce15-4ca5-9eed-d55908e5ab88
target_node_id (empty) → 87cb1332-bd03-4cc9-a0b1-c8c83aae8051
create DHH → works_on → Ruby on Rails
attrs (empty) → {"role" => "creator"}
context (empty) → Creator of Rails, the backdrop for the panel's discussion of Stimulus and the Rails frontend.
relation (empty) → works_on
source_node_id (empty) → 51ed6191-ce15-4ca5-9eed-d55908e5ab88
target_node_id (empty) → 7aac705a-0987-49f2-b665-9d4e08a6acee
create Microsoft → works_on → TypeScript
context (empty) → Microsoft authors and heavily promotes TypeScript.
relation (empty) → works_on
source_node_id (empty) → 9cab775d-274d-473e-a25a-8f97201fcfa0
target_node_id (empty) → 43a67685-cd1a-4515-82f2-37f8f1670634
create Microsoft → related_to → LinkedIn
context (empty) → Microsoft owns LinkedIn and drove the rebuild on Ember.
relation (empty) → related_to
source_node_id (empty) → 9cab775d-274d-473e-a25a-8f97201fcfa0
target_node_id (empty) → cdd1b4e7-8618-4d77-ab00-731c9c168c47
create Microsoft → uses → MobX
context (empty) → Microsoft uses MobX for the new Outlook.
relation (empty) → uses
source_node_id (empty) → 9cab775d-274d-473e-a25a-8f97201fcfa0
target_node_id (empty) → f42c9683-a450-4196-be59-adc74e004e55
create Microsoft → recommends → Progressive Web Apps
context (empty) → Microsoft promises much greater PWA support in the next Windows release.
relation (empty) → recommends
source_node_id (empty) → 9cab775d-274d-473e-a25a-8f97201fcfa0
target_node_id (empty) → 29ff1dac-418b-42fe-87cc-ecaf594ddcfc
create Microsoft → works_on → .NET
context (empty) → .NET is Microsoft's application platform, being partly displaced by TypeScript + PWA.
relation (empty) → works_on
source_node_id (empty) → 9cab775d-274d-473e-a25a-8f97201fcfa0
target_node_id (empty) → 6adabc22-a7e5-4b0d-942a-21d5d22737e1
create Steve Ballmer → works_at → Microsoft
attrs (empty) → {"role" => "former CEO"}
context (empty) → Former Microsoft CEO whose exit panelists credit with Microsoft's shift.
relation (empty) → works_at
source_node_id (empty) → 1eac0a8f-fbd7-47ae-abec-973c88c0ef8c
target_node_id (empty) → 9cab775d-274d-473e-a25a-8f97201fcfa0
create LinkedIn → uses → Preact
context (empty) → LinkedIn's main page was rewritten using Preact for fastest first-time load.
relation (empty) → uses
source_node_id (empty) → cdd1b4e7-8618-4d77-ab00-731c9c168c47
target_node_id (empty) → 536e3d9b-1e4e-4e3b-b86d-7973a436d8cb
create LinkedIn → uses → Ember.js
context (empty) → LinkedIn is being rebuilt on Ember.
relation (empty) → uses
source_node_id (empty) → cdd1b4e7-8618-4d77-ab00-731c9c168c47
target_node_id (empty) → 1d7cf6f1-e4d9-4837-83a0-023edbcef4fb
create LinkedIn → uses → WebAssembly
context (empty) → Experimental WebAssembly build of Glimmer integrated into LinkedIn's load path.
relation (empty) → uses
source_node_id (empty) → cdd1b4e7-8618-4d77-ab00-731c9c168c47
target_node_id (empty) → 2bf5ebe4-f436-4efd-8cf2-959ee1be597a
create TypeScript → related_to → JavaScript and Frontend Panel
context (empty) → Referenced here only as link back from the tool to its panel discussion.
relation (empty) → related_to
source_node_id (empty) → 43a67685-cd1a-4515-82f2-37f8f1670634
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create Babel → related_to → TC39
context (empty) → Babel implements TC39 proposals ahead of native support.
relation (empty) → related_to
source_node_id (empty) → b571650f-11a8-47cf-b9b6-58d124f1836c
target_node_id (empty) → 0d2f40e0-6bac-4a07-8732-e85f1dd04eeb
create Stimulus → related_to → Ruby on Rails
context (empty) → Stimulus pairs with server-generated HTML from Rails.
relation (empty) → related_to
source_node_id (empty) → 87cb1332-bd03-4cc9-a0b1-c8c83aae8051
target_node_id (empty) → 7aac705a-0987-49f2-b665-9d4e08a6acee
create JSON API Resources → related_to → JSON API
context (empty) → JSON API Resources is the Ruby implementation of the JSON API spec.
relation (empty) → related_to
source_node_id (empty) → 1b439d17-63a8-47a9-8a76-5dc53076174b
target_node_id (empty) → 4dbefcd7-9a6e-496b-b790-d94eb3f8d825
create JSON API Resources → related_to → Ruby on Rails
context (empty) → JSON API Resources is the commonly used gem for JSON API in Rails apps.
relation (empty) → related_to
source_node_id (empty) → 1b439d17-63a8-47a9-8a76-5dc53076174b
target_node_id (empty) → 7aac705a-0987-49f2-b665-9d4e08a6acee
create Which JavaScript fads have stood the test of time? → asked_at → JavaScript and Frontend Panel
context (empty) → Moderator question during the panel.
relation (empty) → asked_at
source_node_id (empty) → 348208c6-570e-447a-9d33-9f9a73857b3b
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create Will we all be exclusively JavaScript developers in two years? → asked_at → JavaScript and Frontend Panel
context (empty) → Moderator question during the panel.
relation (empty) → asked_at
source_node_id (empty) → ce1c87b1-5f06-4bf6-8169-36f934407d15
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create Can Opal be treated as a real production technology? → asked_at → JavaScript and Frontend Panel
context (empty) → Moderator follow-up on Opal's viability.
relation (empty) → asked_at
source_node_id (empty) → bea29db6-a6fa-43a8-9fdd-40971ed5ddfc
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create Will JavaScript die as a development platform? → asked_at → JavaScript and Frontend Panel
context (empty) → Moderator question during the panel.
relation (empty) → asked_at
source_node_id (empty) → ac395c36-3d2e-4514-a835-d28daae6e874
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create What will be the JavaScript developer's dream in a year? → asked_at → JavaScript and Frontend Panel
context (empty) → Moderator question during the panel.
relation (empty) → asked_at
source_node_id (empty) → 59de1c02-8159-41e2-8e44-1aeee5a61374
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create JSON API or GraphQL — what do you recommend? → asked_at → JavaScript and Frontend Panel
context (empty) → Moderator question about standardized API formats.
relation (empty) → asked_at
source_node_id (empty) → 443d8eec-30f3-4208-bda9-6758c507b820
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create Have you heard of Stimulus? → asked_at → JavaScript and Frontend Panel
context (empty) → Audience question during the panel.
relation (empty) → asked_at
source_node_id (empty) → ceae7a72-aec8-4a84-870f-69a51f6b9a86
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create Would you recommend TypeScript or Flow? → asked_at → JavaScript and Frontend Panel
context (empty) → Audience question during the panel.
relation (empty) → asked_at
source_node_id (empty) → 8a66753c-e269-4b6e-accf-c7e3efdc9992
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create What are the biggest advantages of WebAssembly? → asked_at → JavaScript and Frontend Panel
context (empty) → Audience question during the panel.
relation (empty) → asked_at
source_node_id (empty) → f6cbc0db-9535-448e-aa90-1d0f76bfeed5
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create Which JavaScript fads have stood the test of time? → about → CSS-in-JS
context (empty) → CSS-in-JS is one of the cited lasting trends.
relation (empty) → about
source_node_id (empty) → 348208c6-570e-447a-9d33-9f9a73857b3b
target_node_id (empty) → 57410453-43a5-4df9-8816-f364fe5a9c21
create Which JavaScript fads have stood the test of time? → about → Reactive Programming
context (empty) → Reactive programming is another cited lasting trend.
relation (empty) → about
source_node_id (empty) → 348208c6-570e-447a-9d33-9f9a73857b3b
target_node_id (empty) → d944acfc-bd46-4c8b-a8d7-0badde0b5597
create Can Opal be treated as a real production technology? → about → Opal
context (empty) → Question is specifically about Opal.
relation (empty) → about
source_node_id (empty) → bea29db6-a6fa-43a8-9fdd-40971ed5ddfc
target_node_id (empty) → e1fc1bef-292e-4438-b366-e62fbcbd4152
create Will JavaScript die as a development platform? → about → Transpilers
context (empty) → Framed in terms of JavaScript becoming a compilation target.
relation (empty) → about
source_node_id (empty) → ac395c36-3d2e-4514-a835-d28daae6e874
target_node_id (empty) → 65517ae2-1586-4346-88b1-f63f559928c9
create What will be the JavaScript developer's dream in a year? → about → Progressive Web Apps
context (empty) → PWAs are cited as the big upcoming shift.
relation (empty) → about
source_node_id (empty) → 59de1c02-8159-41e2-8e44-1aeee5a61374
target_node_id (empty) → 29ff1dac-418b-42fe-87cc-ecaf594ddcfc
create What will be the JavaScript developer's dream in a year? → about → TC39
context (empty) → TC39 features are cited as imminent developer excitement.
relation (empty) → about
source_node_id (empty) → 59de1c02-8159-41e2-8e44-1aeee5a61374
target_node_id (empty) → 0d2f40e0-6bac-4a07-8732-e85f1dd04eeb
create JSON API or GraphQL — what do you recommend? → about → JSON API
context (empty) → Question directly asks about JSON API.
relation (empty) → about
source_node_id (empty) → 443d8eec-30f3-4208-bda9-6758c507b820
target_node_id (empty) → 4dbefcd7-9a6e-496b-b790-d94eb3f8d825
create JSON API or GraphQL — what do you recommend? → about → GraphQL
context (empty) → Question directly asks about GraphQL.
relation (empty) → about
source_node_id (empty) → 443d8eec-30f3-4208-bda9-6758c507b820
target_node_id (empty) → c6a1041c-3116-4194-b7f0-eba7cd4a7e64
create Have you heard of Stimulus? → about → Stimulus
context (empty) → Question directly asks about the Stimulus library.
relation (empty) → about
source_node_id (empty) → ceae7a72-aec8-4a84-870f-69a51f6b9a86
target_node_id (empty) → 87cb1332-bd03-4cc9-a0b1-c8c83aae8051
create Would you recommend TypeScript or Flow? → about → TypeScript
context (empty) → Question asks about TypeScript.
relation (empty) → about
source_node_id (empty) → 8a66753c-e269-4b6e-accf-c7e3efdc9992
target_node_id (empty) → 43a67685-cd1a-4515-82f2-37f8f1670634
create Would you recommend TypeScript or Flow? → about → Flow
context (empty) → Question asks about Flow.
relation (empty) → about
source_node_id (empty) → 8a66753c-e269-4b6e-accf-c7e3efdc9992
target_node_id (empty) → 44052cd0-2740-4fcd-b641-88a5d53b56e3
create What are the biggest advantages of WebAssembly? → about → WebAssembly
context (empty) → Question directly asks about WebAssembly advantages.
relation (empty) → about
source_node_id (empty) → f6cbc0db-9535-448e-aa90-1d0f76bfeed5
target_node_id (empty) → 2bf5ebe4-f436-4efd-8cf2-959ee1be597a
create Adopt CSS-in-JS for modern component-based frontends → from_talk → JavaScript and Frontend Panel
context (empty) → Takeaway drawn from panel discussion.
relation (empty) → from_talk
source_node_id (empty) → c441fcad-a6d4-48a1-af96-e475d63294c5
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create Adopt CSS-in-JS for modern component-based frontends → about → CSS-in-JS
context (empty) → Recommends adopting the CSS-in-JS pattern.
relation (empty) → about
source_node_id (empty) → c441fcad-a6d4-48a1-af96-e475d63294c5
target_node_id (empty) → 57410453-43a5-4df9-8816-f364fe5a9c21
create Prefer conventions over custom code → from_talk → JavaScript and Frontend Panel
context (empty) → Takeaway drawn from panel discussion.
relation (empty) → from_talk
source_node_id (empty) → 06cd45a3-89b1-4899-8f71-dbc821be63a6
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create Prefer conventions over custom code → about → Convention over Configuration
context (empty) → Reinforces the convention-first principle.
relation (empty) → about
source_node_id (empty) → 06cd45a3-89b1-4899-8f71-dbc821be63a6
target_node_id (empty) → 4b5945b2-8d80-4760-bf83-2b510bc9d4e8
create Don't follow JSON API religiously → from_talk → JavaScript and Frontend Panel
context (empty) → Takeaway drawn from panel discussion.
relation (empty) → from_talk
source_node_id (empty) → e7e9df3a-88da-48fc-b762-988dfabeb1c0
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create Don't follow JSON API religiously → about → JSON API
context (empty) → Warns against strict adherence to JSON API.
relation (empty) → about
source_node_id (empty) → e7e9df3a-88da-48fc-b762-988dfabeb1c0
target_node_id (empty) → 4dbefcd7-9a6e-496b-b790-d94eb3f8d825
create Adopt TypeScript or Flow for maintainability → from_talk → JavaScript and Frontend Panel
context (empty) → Takeaway drawn from panel discussion.
relation (empty) → from_talk
source_node_id (empty) → 10bd8c7a-f98c-4eb8-ae39-6c2eea565252
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create Adopt TypeScript or Flow for maintainability → about → TypeScript
context (empty) → Recommends TypeScript.
relation (empty) → about
source_node_id (empty) → 10bd8c7a-f98c-4eb8-ae39-6c2eea565252
target_node_id (empty) → 43a67685-cd1a-4515-82f2-37f8f1670634
create Adopt TypeScript or Flow for maintainability → about → Flow
context (empty) → Recommends Flow.
relation (empty) → about
source_node_id (empty) → 10bd8c7a-f98c-4eb8-ae39-6c2eea565252
target_node_id (empty) → 44052cd0-2740-4fcd-b641-88a5d53b56e3
create Watch WebAssembly for real performance wins → from_talk → JavaScript and Frontend Panel
context (empty) → Takeaway drawn from panel discussion.
relation (empty) → from_talk
source_node_id (empty) → f7693030-0e8a-4c59-ad61-b05807edb982
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create Watch WebAssembly for real performance wins → about → WebAssembly
context (empty) → Insight on WebAssembly's performance model.
relation (empty) → about
source_node_id (empty) → f7693030-0e8a-4c59-ad61-b05807edb982
target_node_id (empty) → 2bf5ebe4-f436-4efd-8cf2-959ee1be597a
create Opal missed its window with Rails → from_talk → JavaScript and Frontend Panel
context (empty) → Takeaway drawn from panel discussion.
relation (empty) → from_talk
source_node_id (empty) → 29ed8de0-2f6d-4087-b54f-423a3a275d0a
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create Opal missed its window with Rails → about → Opal
context (empty) → Lesson learned about Opal's adoption curve.
relation (empty) → about
source_node_id (empty) → 29ed8de0-2f6d-4087-b54f-423a3a275d0a
target_node_id (empty) → e1fc1bef-292e-4438-b366-e62fbcbd4152
create Microsoft is becoming a friend of the open web → from_talk → JavaScript and Frontend Panel
context (empty) → Takeaway drawn from panel discussion.
relation (empty) → from_talk
source_node_id (empty) → 7a289faa-9fa6-4ea3-bdc6-d460055bbf85
target_node_id (empty) → 1911a3d8-9084-4a5f-bc19-4a0bdcd46537
create Microsoft is becoming a friend of the open web → about → Microsoft
context (empty) → Observation about Microsoft's changed stance on the web.
relation (empty) → about
source_node_id (empty) → 7a289faa-9fa6-4ea3-bdc6-d460055bbf85
target_node_id (empty) → 9cab775d-274d-473e-a25a-8f97201fcfa0

Read set

305 nodes

event wroclove.rb 2018 list_nodes_by_kind+search_nodes event wroclove.rb 2019 list_nodes_by_kind+search_nodes event wroclove.rb 2022 list_nodes_by_kind+search_nodes event wroclove.rb 2023 list_nodes_by_kind+search_nodes event wroclove.rb 2024 list_nodes_by_kind event wroclove.rb 2025 list_nodes_by_kind event wroclove.rb 2026 list_nodes_by_kind talk 10 Things You Never Wanted To Know About Reform 3 list_nodes_by_kind talk 18 months of using hotwire and viewcomponent in production list_nodes_by_kind+search_nodes talk Accidentally building a neural network — A Ruby product recommendation journey list_nodes_by_kind talk Adventures in durable execution list_nodes_by_kind talk An Introduction to Test Bench list_nodes_by_kind talk Applying CQRS & Event Sourcing on Rails applications list_nodes_by_kind talk Better WebPerformance with Rails list_nodes_by_kind talk Beyond the current state Time travel to the rescue! list_nodes_by_kind talk Building a Production-Ready AI App: MCP & OAuth on Rails list_nodes_by_kind talk Building Beautiful UIs with Ruby A Rails-Native Approach list_nodes_by_kind+search_nodes talk Building LLM powered applications in Ruby list_nodes_by_kind+search_nodes talk Building on Bluesky's AT Protocol with Ruby list_nodes_by_kind+search_nodes talk Building Rails SPAs in Frontend Ruby with Glimmer DSL for Web list_nodes_by_kind+search_nodes talk Building uls for microservices list_nodes_by_kind talk Business logic in Ruby list_nodes_by_kind talk Cables! Cables! Cables! list_nodes_by_kind talk Component Driven UI with ViewComponent list_nodes_by_kind+search_nodes talk Counterintuitive Rails pt. 1 list_nodes_by_kind talk Counterintuitive Rails pt. 2 list_nodes_by_kind talk Data Management With Ruby list_nodes_by_kind talk Dealing With A Project's Complexity In A Changing Environment list_nodes_by_kind talk Debug like a scientist list_nodes_by_kind talk Developer, Programmer, and AI list_nodes_by_kind+search_nodes talk Development with axioms list_nodes_by_kind talk Devise pitfalls and way to tighten security list_nodes_by_kind talk Doctrine of Useful Objects Separate Fact from Fiction in OOD list_nodes_by_kind talk Enterprise Rails Panel list_nodes_by_kind+search_nodes talk Events events events list_nodes_by_kind talk Event Sourcing and Actor model in Ruby list_nodes_by_kind talk Event Sourcing Anti Patterns and Failures list_nodes_by_kind talk Ever shorter feedback loop list_nodes_by_kind talk Extracting logic from templates with Hanami Views list_nodes_by_kind+search_nodes talk FaaS for Ruby Lightning Talk list_nodes_by_kind talk Fantastic Databases and Where to Find Them list_nodes_by_kind talk Fix Production Bugs 20x Faster list_nodes_by_kind talk Forms Are Dead: Building Agentic Workflows in Ruby list_nodes_by_kind talk From open source to IPO list_nodes_by_kind talk From PostgreSQL to SQLite in Rails list_nodes_by_kind talk Gregorian Calendar list_nodes_by_kind talk Grokking FP For The Practicing Rubyist list_nodes_by_kind talk Handling file uploads for modern developer list_nodes_by_kind talk How (and why) to run SQLite in production list_nodes_by_kind talk How I brought LCP down to under 350 ms list_nodes_by_kind talk How To Ensure Systems Do What We Want And Take Care Of Themselves list_nodes_by_kind talk How to hijack list_nodes_by_kind talk How To Package A Rails Engine Generation To Automation list_nodes_by_kind talk How wroclove.rb impacts developers and companies list_nodes_by_kind+search_nodes talk International cooperation in IT teams list_nodes_by_kind talk Introducing Sorbet into your Ruby codebase list_nodes_by_kind+search_nodes talk Introduction To Event Sourcing How To Use It With Ruby list_nodes_by_kind talk Is the monolith a problem list_nodes_by_kind talk It is not so bad, after all list_nodes_by_kind talk JRuby: Professional-Grade Ruby list_nodes_by_kind+search_nodes talk Kamal is not harder than your PaaS list_nodes_by_kind talk Methods Gem for Ruby Method References list_nodes_by_kind+search_nodes talk Might & Magic of Domain-Driven Design list_nodes_by_kind talk Multi-region data governance in Rails application list_nodes_by_kind talk Mutant on steroids list_nodes_by_kind talk MVCC for Ruby developers list_nodes_by_kind talk My core skill never was the typing list_nodes_by_kind talk Native apps are dead, long live native apps list_nodes_by_kind+search_nodes talk Next Token! list_nodes_by_kind talk Nightmare neighbours caveats of Rails based mutlitenancy list_nodes_by_kind talk No-build Utopia: Modern User Experiences with Rails & Web Standards list_nodes_by_kind+search_nodes talk No 'Pundit' Intended list_nodes_by_kind talk One machine please, make it Turing list_nodes_by_kind talk On the tasteful journey to Yippee list_nodes_by_kind talk Optimistic ul list_nodes_by_kind talk Optimizing performance in Rails apps with GraphQL layer list_nodes_by_kind+search_nodes talk Orchestrating video transcoding in ruby list_nodes_by_kind+search_nodes talk Prevent account sharing list_nodes_by_kind talk Reforging (or rather rebrewing) the support for open-source list_nodes_by_kind talk Removing Code with Breadth-First Search list_nodes_by_kind talk Rewrite with confidence list_nodes_by_kind talk Rubyana Gems and the Ractorous Rubetta Stones! list_nodes_by_kind+search_nodes talk Ruby has literally always had types list_nodes_by_kind talk Ruby on a $4 Computer list_nodes_by_kind+search_nodes talk Ruby Rendezvous Method Call, Proc, and Beyond list_nodes_by_kind talk Securing Rails applications list_nodes_by_kind talk Setup and operation of mutation testing in agentic world list_nodes_by_kind talk Spice up your life with eql list_nodes_by_kind talk SUPER AIN'T SUPER From OOP To FP and Beyond! list_nodes_by_kind talk Testing Randomness list_nodes_by_kind talk The Curse of Service Object list_nodes_by_kind talk The good, the bad and the remote — collaborative domain modeling with EventStorming list_nodes_by_kind talk The pillars of Domain Driven Design list_nodes_by_kind talk Toolbelt of a Seasoned Bug Hunter list_nodes_by_kind talk To Refine or Not to Refine list_nodes_by_kind+search_nodes talk Towards the post framework future list_nodes_by_kind+search_nodes talk Typical DDDomains In Rails Apps list_nodes_by_kind talk Understanding coupling list_nodes_by_kind talk Under The Hood And On The Surface Of Sidekiq list_nodes_by_kind talk UringMachine — High Performance Concurrency for Ruby Using io_uring list_nodes_by_kind talk Webmock unmocked list_nodes_by_kind talk When REST is Not Enough: Implementing Alternative Protocols in Ruby on Rails list_nodes_by_kind+search_nodes talk Working with RailsEventStore in Cashflow Management System list_nodes_by_kind tool Action Cable list_nodes_by_kind+search_nodes tool Active Storage list_nodes_by_kind tool Akamai list_nodes_by_kind tool Apache HTTP Server list_nodes_by_kind tool Apache Kafka list_nodes_by_kind tool BME280 list_nodes_by_kind tool Brotli list_nodes_by_kind+search_nodes tool Cassandra list_nodes_by_kind tool Clojure list_nodes_by_kind tool dry-struct list_nodes_by_kind+search_nodes tool dry-types list_nodes_by_kind+search_nodes tool dry-validation list_nodes_by_kind tool Elasticsearch list_nodes_by_kind tool Elixir list_nodes_by_kind+search_nodes tool Erlang list_nodes_by_kind tool ESP32 list_nodes_by_kind tool ESP-IDF list_nodes_by_kind tool Faker list_nodes_by_kind+search_nodes tool FreeRTOS list_nodes_by_kind tool Go list_nodes_by_kind+search_nodes tool Grafana list_nodes_by_kind+search_nodes tool gRPC list_nodes_by_kind tool gzip list_nodes_by_kind tool Hanami list_nodes_by_kind+search_nodes tool Heroku list_nodes_by_kind+search_nodes tool HTTP/2 list_nodes_by_kind tool Iodine list_nodes_by_kind tool methods gem list_nodes_by_kind tool mruby list_nodes_by_kind+search_nodes tool nginx list_nodes_by_kind tool Phoenix list_nodes_by_kind+search_nodes tool Plezi list_nodes_by_kind+search_nodes tool PostgreSQL list_nodes_by_kind tool Prometheus list_nodes_by_kind tool Protocol Buffers list_nodes_by_kind tool Rails 5.2 list_nodes_by_kind tool rails_event_store list_nodes_by_kind tool RealtimeBoard list_nodes_by_kind+search_nodes tool Redis list_nodes_by_kind tool RSpec list_nodes_by_kind tool Ruby list_nodes_by_kind+search_nodes tool ruby-contracts list_nodes_by_kind tool Ruby Event Store list_nodes_by_kind tool Ruby on Rails list_nodes_by_kind+search_nodes tool Sequel list_nodes_by_kind tool ThingSpeak list_nodes_by_kind tool Trailblazer list_nodes_by_kind+search_nodes tool WebP list_nodes_by_kind+search_nodes tool webpagetest.org list_nodes_by_kind+search_nodes concept Active Record list_nodes_by_kind concept ActiveSupport Core Extensions list_nodes_by_kind concept Aggregate Root list_nodes_by_kind concept Aggregate-Scoped Sequence Number list_nodes_by_kind concept Bounded Context list_nodes_by_kind concept BPMN list_nodes_by_kind concept Breadth-First Search for Code Removal list_nodes_by_kind+search_nodes concept Cache Preheating list_nodes_by_kind concept Command Form list_nodes_by_kind concept Command Query Separation list_nodes_by_kind concept Command UUID Deduplication list_nodes_by_kind concept CQRS list_nodes_by_kind concept Current State list_nodes_by_kind concept Denormalizer / Read Model list_nodes_by_kind concept Developer vs Programmer list_nodes_by_kind+search_nodes concept Distributed Systems list_nodes_by_kind concept Domain-Driven Design list_nodes_by_kind concept Elixir Pipe Operator list_nodes_by_kind concept Event-Driven Architecture list_nodes_by_kind concept Event Handler Error Strategy list_nodes_by_kind concept Event Sourcing list_nodes_by_kind concept Event Store list_nodes_by_kind concept EventStorming list_nodes_by_kind concept Eventual Consistency list_nodes_by_kind concept Event Versioning / Upcasting list_nodes_by_kind concept Fragment Caching list_nodes_by_kind concept Function as a Service list_nodes_by_kind concept Global Interpreter Lock list_nodes_by_kind concept HTTP/2 Server Push list_nodes_by_kind+search_nodes concept HTTP Caching with ETag and Last-Modified list_nodes_by_kind concept Idempotence list_nodes_by_kind concept Idempotent Projectors and Reactors list_nodes_by_kind concept Interface Wrapper for Ruby list_nodes_by_kind concept Majestic Monolith list_nodes_by_kind+search_nodes concept Method References in Ruby list_nodes_by_kind concept Mind Map Knowledge Base for Event Sourcing list_nodes_by_kind concept Nested Aggregates list_nodes_by_kind concept Page Load Time Budget list_nodes_by_kind+search_nodes concept Partitioning list_nodes_by_kind concept Performance Time Budget list_nodes_by_kind concept Policies and Strategies list_nodes_by_kind concept Preloading and Prefetching list_nodes_by_kind+search_nodes concept Process Manager list_nodes_by_kind concept Projector list_nodes_by_kind concept Rails Reload-Safe ES Configuration list_nodes_by_kind concept Reactor list_nodes_by_kind+search_nodes concept Read/Write Disparity list_nodes_by_kind concept Real-time Web Applications list_nodes_by_kind+search_nodes concept Refinements list_nodes_by_kind concept Russian Doll Caching list_nodes_by_kind concept Saga Pattern list_nodes_by_kind concept Saga / Process Manager list_nodes_by_kind concept Serverless list_nodes_by_kind concept Snapshotting list_nodes_by_kind concept Static Page Caching via nginx list_nodes_by_kind concept TCP Slow Start list_nodes_by_kind concept Waterfall Analysis list_nodes_by_kind+search_nodes concept WebSockets list_nodes_by_kind+search_nodes concept yield_self list_nodes_by_kind concept Zero-Disconnect Deployment list_nodes_by_kind+search_nodes person Adam Okoń list_nodes_by_kind+search_nodes person Adam Piotrowski list_nodes_by_kind person Adrian Marin list_nodes_by_kind person Agnieszka Małaszkiewicz list_nodes_by_kind person Akira Matsuda list_nodes_by_kind person Alberto Brandolini list_nodes_by_kind person Amelia Walter-Dzikowska list_nodes_by_kind person Andrei Bondarev list_nodes_by_kind person Andrei Kaleshka list_nodes_by_kind person Andrzej Krzywda list_nodes_by_kind person Andrzej Śliwa list_nodes_by_kind person Andy Maleh list_nodes_by_kind person Anita Jaszewska list_nodes_by_kind person Anton Davydov list_nodes_by_kind person Armin Pašalić list_nodes_by_kind person Arturo Herrero list_nodes_by_kind person Ayush Newatia list_nodes_by_kind person Bartosz Blimke list_nodes_by_kind person Bertrand Meyer list_nodes_by_kind person Caio Almeida list_nodes_by_kind person Charles Nutter list_nodes_by_kind person Chikahiro Tokoro list_nodes_by_kind person Damir Zekić list_nodes_by_kind person David Halasz list_nodes_by_kind person Dimitry Salahutdinov list_nodes_by_kind person Emiliano Della Casa list_nodes_by_kind+search_nodes person Erwin Kroon list_nodes_by_kind person Ethan Garofolo list_nodes_by_kind person Greg Molnar list_nodes_by_kind person Greg Young list_nodes_by_kind person Ismael Celis list_nodes_by_kind person Ivan Nemytchenko list_nodes_by_kind person Jakub Rodzik list_nodes_by_kind person Janko Marohnic list_nodes_by_kind person Joel Drapper list_nodes_by_kind person John Gallagher list_nodes_by_kind person Josef Strzibny list_nodes_by_kind person Julik Tarkhanov list_nodes_by_kind+search_nodes person Karol Szuster list_nodes_by_kind person Koichi Sasada list_nodes_by_kind person Krzysztof Hasiński list_nodes_by_kind person Kuba Suder list_nodes_by_kind person Louis Antonopoulos list_nodes_by_kind person Łukasz Reszke list_nodes_by_kind person Łukasz Szydło list_nodes_by_kind person Maciej Rząsa list_nodes_by_kind person Maciek list_nodes_by_kind person Marco Heimeshoff list_nodes_by_kind person Mariusz Gil list_nodes_by_kind person Markus Schirp list_nodes_by_kind person Martin Gamsjaeger list_nodes_by_kind person Mateusz Nowak list_nodes_by_kind person Matz list_nodes_by_kind person Michal Matyas list_nodes_by_kind person Michał Młoźniak list_nodes_by_kind person Michał Zajączkowski de Mezer list_nodes_by_kind person Miron Marczuk list_nodes_by_kind person Nathan Ladd list_nodes_by_kind person Nick Sutterer list_nodes_by_kind person Nicolò Rebughini list_nodes_by_kind person Norbert Wójtowicz list_nodes_by_kind person Paweł Dąbrowski list_nodes_by_kind person Paweł Pokrywka list_nodes_by_kind person Paweł Strzałkowski list_nodes_by_kind person Radoslav Stankov list_nodes_by_kind person Rafał Cymerys list_nodes_by_kind person Rafał Rothenberger list_nodes_by_kind person Ryan Townsend list_nodes_by_kind person Scott Bellware list_nodes_by_kind person Sebastian Wilgosz list_nodes_by_kind person Sergey Ivanov list_nodes_by_kind person Sergey Sergyenko list_nodes_by_kind person Seth Horsley list_nodes_by_kind person Sharon Rosner list_nodes_by_kind person Shugo Maeda list_nodes_by_kind person Stefan Wintermeyer list_nodes_by_kind person Stephen Margheim list_nodes_by_kind person Szymon Fiedler list_nodes_by_kind person Tomasz Donarski list_nodes_by_kind person Victor Shepelev list_nodes_by_kind person Vladimir Dementyev list_nodes_by_kind person Wojtek Wrona list_nodes_by_kind person Yaroslav Shmarov list_nodes_by_kind person Yatish Mehta list_nodes_by_kind question Is MVC enough for a successful enterprise app? search_nodes resource Rocket Real-Time Benchmark search_nodes project AnyCable search_nodes takeaway Switch on HTTP/2 search_nodes takeaway Sign serverlessforruby.org petition search_nodes takeaway Start with Action Cable, switch when performance hurts search_nodes takeaway Upgrade Ruby version for free speed search_nodes takeaway Time Travel Superpower search_nodes question What is an enterprise Rails application? search_nodes