← 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 Panelpresented_atwroclove.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 PanelaboutCSS-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 PanelaboutReactive 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 PanelaboutVirtual 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 PanelaboutConvention 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 PanelaboutProgressive 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 PanelaboutWebAssembly
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 PanelaboutTranspilers
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 PanelaboutTC39
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 PanelaboutPipeline 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 PanelaboutEmber.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 PanelaboutAngular
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 PanelaboutReact
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 PanelaboutMobX
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 PanelaboutPreact
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 PanelaboutOpal
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 PanelaboutTypeScript
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 PanelaboutFlow
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 PanelaboutBabel
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 PanelaboutStimulus
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 PanelaboutElectron
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 PanelaboutRust
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 PanelaboutGlimmer
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 PanelaboutJSON 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 PanelaboutJSON 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 PanelaboutGraphQL
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 PanelaboutPureScript
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 PanelaboutElm
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 PanelaboutClojureScript
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 Panelabout.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 PanelaboutNode.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 PanelaboutOutlook
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 PanelaboutLinkedIn
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 PanelaboutMicrosoft
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 PanelaboutEmberConf
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 PanelaboutYehuda 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 PanelaboutDHH
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 PanelaboutSteve 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.jsusesGlimmer
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.jsusesReactive 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 ReactusesVirtual 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 Reactrelated_toMobX
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.jsusesConvention 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 Katzworks_onEmber.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 Katzworks_onGlimmer
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 Katzworks_onLinkedIn
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 KatzusesRust
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 KatzusesWebAssembly
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 KatzattendedEmberConf
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 DHHworks_onStimulus
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 DHHworks_onRuby 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 Microsoftworks_onTypeScript
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 Microsoftrelated_toLinkedIn
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 MicrosoftusesMobX
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 MicrosoftrecommendsProgressive 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 Microsoftworks_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 Ballmerworks_atMicrosoft
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 LinkedInusesPreact
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 LinkedInusesEmber.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 LinkedInusesWebAssembly
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 TypeScriptrelated_toJavaScript 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 Babelrelated_toTC39
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 Stimulusrelated_toRuby 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 Resourcesrelated_toJSON 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 Resourcesrelated_toRuby 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_atJavaScript 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_atJavaScript 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_atJavaScript 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_atJavaScript 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_atJavaScript 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_atJavaScript 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_atJavaScript 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_atJavaScript 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_atJavaScript 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?aboutCSS-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?aboutReactive 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?aboutOpal
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?aboutTranspilers
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?aboutProgressive 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?aboutTC39
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?aboutJSON 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?aboutGraphQL
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?aboutStimulus
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?aboutTypeScript
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?aboutFlow
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?aboutWebAssembly
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 frontendsfrom_talkJavaScript 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 frontendsaboutCSS-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 codefrom_talkJavaScript 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 codeaboutConvention 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 religiouslyfrom_talkJavaScript 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 religiouslyaboutJSON 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 maintainabilityfrom_talkJavaScript 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 maintainabilityaboutTypeScript
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 maintainabilityaboutFlow
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 winsfrom_talkJavaScript 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 winsaboutWebAssembly
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 Railsfrom_talkJavaScript 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 RailsaboutOpal
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 webfrom_talkJavaScript 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 webaboutMicrosoft
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