← Extractions

Reforging the support for open-source (wroclove.rb 2023)

Tomasz Donarski's wroclove.rb 2023 talk on the broken incentives of open-source funding, using Homebrew, log4j, core-js, left-pad, colors.js/Faker.js and event-stream as case studies, and proposing tea — Max Howell's new package manager + proof-of-stake rewards system — as a way to automatically compensate maintainers and all dependencies in the graph.

Model
claude-opus-4-7
Ingestion
cf82a501
Input tokens
424,256
fresh
313,474
cached
99,045
cache write
11,737
Output tokens
13,028
Duration
204.2s
Roundtrips
7
Tool calls
21
Cost
$0.00
Nodes/edges extracted
27 / 44
Read set (nodes/edges)
246 / 2

Nodes (27)

create core-js tool
kind (empty) tool
name (empty) core-js
slug (empty) core-js
attrs (empty) {"category" => "library", "language" => "JavaScript"}
description (empty) JavaScript polyfill library downloaded roughly 30 million times a week and present in 99% of websites or apps. Despit...
short_description (empty) Foundational JavaScript polyfill library downloaded ~30M times per week.
update Tomasz Donarski person
attrs (empty) {"role" => "Ruby developer / OSS enthusiast", "employer" => "Upside"}
description Conference speaker. Ruby developer and open-source enthusiast. At the time of wroclove.rb 2023 he was helping Upside develop Spree Commer...
short_description Conference speaker. Ruby developer and open-source enthusiast; contributor to Spree at Upside.
update Reforging (or rather rebrewing) the support for open-source talk
attrs {"type" => "talk"} {"date" => "2023-03-31", "type" => "talk"}
description Talk at wroclove.rb 2023. Tomasz Donarski's wroclove.rb 2023 talk, structured in two parts. Part one catalogs the pollutants of the open-source...
short_description Talk at wroclove.rb 2023. wroclove.rb 2023 talk on broken OSS funding incentives and Max Howell's tea project.
create tea project
kind (empty) project
name (empty) tea
slug (empty) tea
attrs (empty) {"status" => "active", "license" => "open-source", "category" => "package manager / blockchain"}
description (empty) Work-in-progress project by Max Howell (creator of Homebrew). A package manager positioned as Homebrew's successor, b...
short_description (empty) Max Howell's package manager and proof-of-stake rewards system for funding open source.
create Max Howell person
kind (empty) person
name (empty) Max Howell
slug (empty) max-howell
description (empty) Creator of Homebrew, the macOS package manager with the largest contributor base of any open-source project (a viral ...
short_description (empty) Creator of Homebrew; founder of the tea open-source rewards project.
create Homebrew tool
kind (empty) tool
name (empty) Homebrew
slug (empty) homebrew
attrs (empty) {"category" => "package manager"}
description (empty) macOS package manager created by Max Howell. Designed to be viral: easy to contribute to, so it attracted the biggest...
short_description (empty) Popular macOS package manager created by Max Howell.
create log4j tool
kind (empty) tool
name (empty) log4j
slug (empty) log4j
attrs (empty) {"category" => "library", "language" => "Java"}
description (empty) Java logging library widely adopted across commercial, enterprise, and critical governmental systems. A severe securi...
short_description (empty) Widely-used Java logging library; subject of a severe 2021 security vulnerability.
create curl tool
kind (empty) tool
name (empty) curl
slug (empty) curl
attrs (empty) {"category" => "library"}
description (empty) Ubiquitous data-transfer library and command-line tool. Cited at wroclove.rb 2023 as a victim of industry ignorance a...
short_description (empty) Ubiquitous data-transfer library/CLI maintained by a small volunteer team.
create left-pad tool
kind (empty) tool
name (empty) left-pad
slug (empty) left-pad
attrs (empty) {"category" => "library"}
description (empty) Small npm package. Its maintainer lost an npm trademark dispute when npm hijacked one of his other libraries and tran...
short_description (empty) Tiny npm package whose 2016 yanking broke CI pipelines worldwide.
create colors.js tool
kind (empty) tool
name (empty) colors.js
slug (empty) colors-js
attrs (empty) {"category" => "library"}
description (empty) Popular npm terminal-styling library. In protest over persistent lack of sponsorship from unicorn companies and other...
short_description (empty) Popular npm terminal-styling package deliberately sabotaged by its author.
create Faker.js tool
kind (empty) tool
name (empty) Faker.js
slug (empty) faker-js
attrs (empty) {"category" => "library"}
description (empty) npm fake-data library. Same maintainer as colors.js; deliberately broken to protest unpaid labor, contributing to bro...
short_description (empty) npm fake-data library sabotaged by its maintainer over lack of funding.
update Event Stream concept
attrs {"category" => "pattern"} {"category" => "library"}
description The most important kind of stream in event sourcing: it contains every event that has happened for an entity (e.g. 'o... npm package targeted by a social-engineering supply-chain attack: the attacker gained the maintainer's trust by contr...
short_description Stream containing all events produced for a particular entity instance. npm package compromised via social-engineering backdoor that stole Bitcoins.
create Peter Solnica person
kind (empty) person
name (empty) Peter Solnica
slug (empty) peter-solnica
attrs (empty) {"role" => "OSS maintainer"}
description (empty) Ruby open-source maintainer associated with the dry-rb ecosystem. Cited in Donarski's wroclove.rb 2023 talk: his GitH...
short_description (empty) Ruby OSS maintainer (dry-rb); example of chronically underfunded OSS work.
create Nate Berkopec person
kind (empty) person
name (empty) Nate Berkopec
slug (empty) nate-berkopec
attrs (empty) {"role" => "Puma maintainer, Rails consultant"}
description (empty) Maintainer of the Puma Ruby web server. Also runs a Rails consultancy agency which effectively funds his Puma work. A...
short_description (empty) Puma maintainer; runs a Rails consultancy agency.
create xkcd Dependency / Nebraska Problem concept
kind (empty) concept
name (empty) xkcd Dependency / Nebraska Problem
slug (empty) xkcd-dependency-nebraska-problem
attrs (empty) {"category" => "practice"}
description (empty) Reference to xkcd's 'Dependency' comic, also dubbed 'the Nebraska problem': the entire stack of modern digital infras...
short_description (empty) Famous xkcd comic depicting modern infrastructure balanced on one unpaid maintainer.
create Steeping concept
kind (empty) concept
name (empty) Steeping
slug (empty) steeping
attrs (empty) {"category" => "pattern"}
description (empty) Mechanism specific to the tea project (distinct from generic proof-of-stake 'staking'): the action of locking tokens ...
short_description (empty) tea mechanism: staking tokens against a library to back a claim and earn rewards.
create Proof of Stake concept
kind (empty) concept
name (empty) Proof of Stake
slug (empty) proof-of-stake
attrs (empty) {"category" => "architecture"}
description (empty) Blockchain consensus mechanism in which participants lock tokens to secure the network. Used by the tea project as th...
short_description (empty) Blockchain consensus mechanism requiring validators to lock tokens as stake.
create Tea Taster concept
kind (empty) concept
name (empty) Tea Taster
slug (empty) tea-taster
attrs (empty) {"category" => "pattern"}
description (empty) Role in the tea ecosystem (a pun on tea tasting and software testing). Third-party code reviewers who validate new re...
short_description (empty) tea role that validates new package releases by staking tokens on review outcomes.
create Stack Overflow Podcast Episode with Max Howell on tea resource
kind (empty) resource
name (empty) Stack Overflow Podcast Episode with Max Howell on tea
slug (empty) stack-overflow-podcast-episode-with-max-howell-on-tea
attrs (empty) {"type" => "article"}
description (empty) Episode of the Stack Overflow Podcast (aired ~2022) in which host interviews Max Howell about Homebrew and the design...
short_description (empty) Podcast conversation with Max Howell detailing the design and ambitions of tea.
create tea White Paper resource
kind (empty) resource
name (empty) tea White Paper
slug (empty) tea-white-paper
attrs (empty) {"type" => "documentation"}
description (empty) White paper of the tea project describing the package manager, registry, reputation system, and proof-of-stake reward...
short_description (empty) tea project white paper detailing the rewards, staking and registry design.
create npm tool
kind (empty) tool
name (empty) npm
slug (empty) npm
attrs (empty) {"category" => "service"}
description (empty) JavaScript package registry and manager. Cited repeatedly in Donarski's wroclove.rb 2023 talk: the left-pad author's ...
short_description (empty) JavaScript/Node package registry and manager.
create Hacktoberfest event
kind (empty) event
name (empty) Hacktoberfest
slug (empty) hacktoberfest
attrs (empty) {"format" => "remote"}
description (empty) Annual October event (transcribed 'Oktoberfest') encouraging developers to start contributing to open source. The 11t...
short_description (empty) Annual October event encouraging people to start contributing to open source.
create Pay the open-source maintainers you depend on takeaway
kind (empty) takeaway
name (empty) Pay the open-source maintainers you depend on
slug (empty) pay-the-open-source-maintainers-you-depend-on
attrs (empty) {"type" => "recommendation"}
description (empty) Nate Berkopec's recommendation, cited by Donarski at wroclove.rb 2023: the way to fix unpaid OSS heroes is for depend...
short_description (empty) As OSS customers, dependents should financially support the maintainers of their dependencies.
create OSS support needs automation, not goodwill takeaway
kind (empty) takeaway
name (empty) OSS support needs automation, not goodwill
slug (empty) oss-support-needs-automation-not-goodwill
attrs (empty) {"type" => "insight"}
description (empty) Core argument of Donarski's wroclove.rb 2023 talk. Current sponsorship reaches only the most visible packages (Rails,...
short_description (empty) Without automated, graph-wide support, leaf dependencies and mid-tier gems go unfunded.
create 17% of OSS bugs are planted deliberately takeaway
kind (empty) takeaway
name (empty) 17% of OSS bugs are planted deliberately
slug (empty) 17-of-oss-bugs-are-planted-deliberately
attrs (empty) {"type" => "warning"}
description (empty) Figure cited by Donarski at wroclove.rb 2023 from GitHub: roughly 17% of all bugs in open source are planted delibera...
short_description (empty) GitHub estimates 17% of open-source bugs are planted as exploits, largely unaddressed.
create How does tea's token scheme monetize? question
kind (empty) question
name (empty) How does tea's token scheme monetize?
slug (empty) how-does-tea-s-token-scheme-monetize
attrs (empty) {"answer_summary" => "Unclear and community-driven; supply is finite like Ethereum; worst case tea still yields a usa...
description (empty) Audience question about tea's monetization scheme, voiced by a skeptic of web3/NFTs: where does real money come from,...
short_description (empty) Given tea's talk of blockchain/web3/NFTs and tokens, how do tokens translate to real money?
create Should OSS developers learn sales and marketing instead? question
kind (empty) question
name (empty) Should OSS developers learn sales and marketing instead?
slug (empty) should-oss-developers-learn-sales-and-marketing-instead
attrs (empty) {"answer_summary" => "Developer sales/marketing skills would help; some maintainers still prefer pure OSS, so tea may...
description (empty) Audience comment during Q&A at wroclove.rb 2023: an alternative developers tend to reject is learning sales and marke...
short_description (empty) Audience comment: developers reject sales/marketing as a profession; Sidekiq-style monetization is possible.

Edges (44)

update Tomasz DonarskiauthoredReforging (or rather rebrewing) the support for open-source
context (empty) Donarski delivered the talk at wroclove.rb 2023.
update Reforging (or rather rebrewing) the support for open-sourcepresented_atwroclove.rb 2023
context (empty) Presented during the wroclove.rb 2023 single-track program on 2023-03-31.
create Tomasz Donarskiworks_atUpside
attrs (empty) {"role" => "Ruby developer helping with Spree"}
context (empty) Donarski introduces himself as currently helping Upside develop Spree Commerce.
relation (empty) works_at
source_node_id (empty) 307a6428-a50f-4a2f-8608-38352609f96f
target_node_id (empty) c99a9df4-e84c-47ae-a936-91e092184ff0
create Tomasz Donarskiworks_onSpree
context (empty) Helping Upside develop Spree Commerce as of wroclove.rb 2023.
relation (empty) works_on
source_node_id (empty) 307a6428-a50f-4a2f-8608-38352609f96f
target_node_id (empty) bb8d5927-6044-47cf-b709-85ad5a42d86e
create Reforging (or rather rebrewing) the support for open-sourceabouttea
context (empty) The second half of the talk explores tea's design and how it addresses OSS funding problems.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) 3ff4c728-ab5f-4a65-b91d-b527c30815ac
create Reforging (or rather rebrewing) the support for open-sourceaboutHomebrew
context (empty) Opening fictional-then-true story of Max Howell cycling between day jobs and maintaining Homebrew.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) 661a09e0-1309-411c-8109-76f7e4cc1d56
create Reforging (or rather rebrewing) the support for open-sourceaboutlog4j
context (empty) Used as an example of maintainers abused after a severe vulnerability and then forgotten once patched.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) c707264f-8da2-4dd2-993c-2cbe35685a92
create Reforging (or rather rebrewing) the support for open-sourceaboutcurl
context (empty) Cited as an example of a Fortune-500 company demanding a 24-hour security response with no SLA.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) c24eebf8-1c00-4d2a-bdc0-28eddc3eb4d1
create Reforging (or rather rebrewing) the support for open-sourceaboutcore-js
context (empty) Used as an example of an underfunded leaf-node dependency present in ~99% of websites.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) e55d28d6-e4d2-47e1-8a7b-487f2af7705e
create Reforging (or rather rebrewing) the support for open-sourceaboutleft-pad
context (empty) Cited as a sabotage/yanking case that broke CI pipelines globally after an npm dispute.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) 391382af-5f9d-42eb-904a-0868c1436500
create Reforging (or rather rebrewing) the support for open-sourceaboutcolors.js
context (empty) Cited as an example of deliberate sabotage in protest over lack of sponsorship.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) 69a3d7e4-296a-41c2-8005-7c43384d8337
create Reforging (or rather rebrewing) the support for open-sourceaboutFaker.js
context (empty) Cited alongside colors.js as deliberate package sabotage over lack of funding.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) 3e27987f-70ee-400e-8238-7fdd6214898b
create Reforging (or rather rebrewing) the support for open-sourceaboutEvent Stream
context (empty) Cited as a social-engineering malware attack stealing Bitcoins.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) 8c314bcf-2bbd-4b0d-b2aa-5cdc649e632d
create Reforging (or rather rebrewing) the support for open-sourceaboutMax Howell
context (empty) Donarski's fictional developer story is revealed to be about Max Howell, and Howell is the creator of tea.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) 9646c5f6-eff2-4d52-be22-2db45aee3f2a
create Reforging (or rather rebrewing) the support for open-sourceaboutPeter Solnica
context (empty) His GitHub sponsorship page and progress bar are shown as an example of an underfunded Ruby maintainer.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) 29178205-e6bf-4baa-bd82-f726ffa681ba
create Reforging (or rather rebrewing) the support for open-sourceaboutNate Berkopec
context (empty) Donarski references Berkopec's RubyConf EU argument that customers should pay the OSS maintainers they use.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) 5ae06655-4eb0-4f8d-afad-c29f6e0945cd
create Reforging (or rather rebrewing) the support for open-sourceaboutxkcd Dependency / Nebraska Problem
context (empty) Donarski shows the xkcd comic to frame the fragility of OSS dependencies.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) c0c713d3-a43a-4c22-b1e3-afbb6d62a613
create Reforging (or rather rebrewing) the support for open-sourceaboutSteeping
context (empty) Steeping is explained as tea's primary mechanism for supporting OSS contributors.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) 7011a071-3e4d-445c-9e4c-90b047190a02
create Reforging (or rather rebrewing) the support for open-sourceaboutTea Taster
context (empty) The tea-taster role is presented as a third-party reviewer role staking tokens on release quality.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) 7be64c83-8da4-4e45-8512-8085a515b183
create Reforging (or rather rebrewing) the support for open-sourceaboutProof of Stake
context (empty) tea's rewards are distributed as tokens on a proof-of-stake blockchain.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) 9a32c066-51b4-45e6-9081-bbc3bbcce4f7
create Reforging (or rather rebrewing) the support for open-sourceaboutnpm
context (empty) npm appears in the left-pad story and in typosquatting malware examples.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) 49f1ad82-d33e-4615-8a25-21780126c972
create Reforging (or rather rebrewing) the support for open-sourceaboutVictor Shepelev
context (empty) Donarski dedicates the talk to Victor Shepelev, who is fighting for Ukraine's freedom and could not attend.
relation (empty) about
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) 3bef231a-c5d0-4622-bc53-1a9567a0a906
create Max Howellworks_onHomebrew
attrs (empty) {"role" => "creator"}
context (empty) Max Howell is the original creator and long-time maintainer of Homebrew.
relation (empty) works_on
source_node_id (empty) 9646c5f6-eff2-4d52-be22-2db45aee3f2a
target_node_id (empty) 661a09e0-1309-411c-8109-76f7e4cc1d56
create Max Howellworks_ontea
attrs (empty) {"role" => "founder"}
context (empty) Max Howell is the founder and driver of the tea project.
relation (empty) works_on
source_node_id (empty) 9646c5f6-eff2-4d52-be22-2db45aee3f2a
target_node_id (empty) 3ff4c728-ab5f-4a65-b91d-b527c30815ac
create teausesProof of Stake
context (empty) tea distributes rewards as tokens on a proof-of-stake blockchain.
relation (empty) uses
source_node_id (empty) 3ff4c728-ab5f-4a65-b91d-b527c30815ac
target_node_id (empty) 9a32c066-51b4-45e6-9081-bbc3bbcce4f7
create teausesSteeping
context (empty) Steeping is tea's primary mechanism for supporting a package and its dependencies.
relation (empty) uses
source_node_id (empty) 3ff4c728-ab5f-4a65-b91d-b527c30815ac
target_node_id (empty) 7011a071-3e4d-445c-9e4c-90b047190a02
create Nate Berkopecworks_onPuma
attrs (empty) {"role" => "maintainer"}
context (empty) Berkopec is the Puma maintainer.
relation (empty) works_on
source_node_id (empty) 5ae06655-4eb0-4f8d-afad-c29f6e0945cd
target_node_id (empty) 39300066-39d4-4bb3-b15b-0fb67a3d3867
create Peter Solnicarelated_toPay the open-source maintainers you depend on
context (empty) Solnica's sponsorship page argues OSS is unsustainable without support — the same thesis as this takeaway.
relation (empty) related_to
source_node_id (empty) 29178205-e6bf-4baa-bd82-f726ffa681ba
target_node_id (empty) 5fbd0971-9707-4569-badb-884b0482e30b
create Pay the open-source maintainers you depend onfrom_talkReforging (or rather rebrewing) the support for open-source
context (empty) Donarski endorses and extends Berkopec's 'pay maintainers' message in the talk.
relation (empty) from_talk
source_node_id (empty) 5fbd0971-9707-4569-badb-884b0482e30b
target_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
create OSS support needs automation, not goodwillfrom_talkReforging (or rather rebrewing) the support for open-source
context (empty) Central argument of the talk and motivation for tea.
relation (empty) from_talk
source_node_id (empty) 3f20bc6f-b2bd-42fd-b335-861e6360beae
target_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
create 17% of OSS bugs are planted deliberatelyfrom_talkReforging (or rather rebrewing) the support for open-source
context (empty) Cited by Donarski as the unaddressed need that tea's taster role is designed to fix.
relation (empty) from_talk
source_node_id (empty) 61e9f2b1-5876-4942-be08-6cebd5f6ba89
target_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
create Tomasz Donarskirecommendstea
context (empty) Donarski dedicates half the talk to endorsing tea's vision as a promising fix for OSS incentives, while disclosing no...
relation (empty) recommends
source_node_id (empty) 307a6428-a50f-4a2f-8608-38352609f96f
target_node_id (empty) 3ff4c728-ab5f-4a65-b91d-b527c30815ac
create Tomasz Donarskirecommendstea White Paper
context (empty) Recommends reading the tea white paper for the full detail not covered in the talk.
relation (empty) recommends
source_node_id (empty) 307a6428-a50f-4a2f-8608-38352609f96f
target_node_id (empty) 435663d6-81e2-4b18-90fd-2be8f4aa202b
create Tomasz DonarskirecommendsStack Overflow Podcast Episode with Max Howell on tea
context (empty) Recommends the podcast where Max Howell discusses tea's design; this is how Donarski learned about it.
relation (empty) recommends
source_node_id (empty) 307a6428-a50f-4a2f-8608-38352609f96f
target_node_id (empty) 8ebd3d4d-c799-4773-b87e-8f970fa2012c
create Stack Overflow Podcast Episode with Max Howell on teaabouttea
context (empty) The podcast episode is a conversation with Max Howell about the tea project.
relation (empty) about
source_node_id (empty) 8ebd3d4d-c799-4773-b87e-8f970fa2012c
target_node_id (empty) 3ff4c728-ab5f-4a65-b91d-b527c30815ac
create tea White Paperabouttea
context (empty) The white paper details the tea project's design and mechanics.
relation (empty) about
source_node_id (empty) 435663d6-81e2-4b18-90fd-2be8f4aa202b
target_node_id (empty) 3ff4c728-ab5f-4a65-b91d-b527c30815ac
create How does tea's token scheme monetize?asked_atReforging (or rather rebrewing) the support for open-source
context (empty) Audience Q&A at the end of the wroclove.rb 2023 talk.
relation (empty) asked_at
source_node_id (empty) 8af95f6f-23fd-4be5-adc6-e5ba919fbd9c
target_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
create How does tea's token scheme monetize?abouttea
context (empty) Question targets tea's token economics and real-money convertibility.
relation (empty) about
source_node_id (empty) 8af95f6f-23fd-4be5-adc6-e5ba919fbd9c
target_node_id (empty) 3ff4c728-ab5f-4a65-b91d-b527c30815ac
create Should OSS developers learn sales and marketing instead?asked_atReforging (or rather rebrewing) the support for open-source
context (empty) Audience comment during the Q&A proposing an alternative to tea.
relation (empty) asked_at
source_node_id (empty) 5840a9f3-4828-41e0-b18d-42ac21924c95
target_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
create Should OSS developers learn sales and marketing instead?aboutSidekiq
context (empty) Cites Sidekiq as a successful example of a developer monetizing open-source work through paid tiers.
relation (empty) about
source_node_id (empty) 5840a9f3-4828-41e0-b18d-42ac21924c95
target_node_id (empty) 2365c22d-c83e-4553-b865-ec22d0b5b225
create Should OSS developers learn sales and marketing instead?aboutMike Perham
context (empty) Audience member references an article by the Sidekiq maintainer about monetizing open source.
relation (empty) about
source_node_id (empty) 5840a9f3-4828-41e0-b18d-42ac21924c95
target_node_id (empty) d72c57bc-0d08-47cf-a54a-8fea4105eee6
create Hacktoberfestrelated_toReforging (or rather rebrewing) the support for open-source
context (empty) Q&A at the talk noted that Hacktoberfest's 11th edition was starting next month as a way to begin contributing to OSS.
relation (empty) related_to
source_node_id (empty) a5694bdf-0d13-4bd2-95cf-de6a57cc8450
target_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
create Reforging (or rather rebrewing) the support for open-sourcerelated_toDevise pitfalls and way to tighten security
context (empty) Donarski cites Rafał Rothenberger's 2022 Devise disclosure as the model for how tea tasters would handle negative rev...
relation (empty) related_to
source_node_id (empty) afec6a76-36bd-405d-a57c-b70867d361f8
target_node_id (empty) e6de36cb-0179-45f5-a1c3-164fe0066ca4
create Tomasz Donarskiattendedwroclove.rb 2023
context (empty) Spoke at the conference on 2023-03-31.
relation (empty) attended
source_node_id (empty) 307a6428-a50f-4a2f-8608-38352609f96f
target_node_id (empty) f1adcf6d-780c-4418-8a81-c88da8b4e631

Read set

246 nodes

talk Building Beautiful UIs with Ruby A Rails-Native Approach list_nodes_by_kind talk Building Rails SPAs in Frontend Ruby with Glimmer DSL for Web list_nodes_by_kind 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 Chess for Programmers Lightning Talk list_nodes_by_kind talk Code Golfing in Ruby Lightning Talk list_nodes_by_kind talk Component Driven UI with ViewComponent list_nodes_by_kind talk Configuration Again Lightning Talk list_nodes_by_kind takeaway Publish a roadmap to align contributors search_nodes takeaway Be kind and build useful things search_nodes resource awesome-ddd search_nodes tool Release Drafter search_nodes takeaway Sign serverlessforruby.org petition search_nodes question Should enterprise libraries be paid or free? search_nodes tool Codecov search_nodes tool GitHub Releases search_nodes tool reviewdog search_nodes takeaway Buy Faster Hardware search_nodes tool iTerm2 search_nodes tool ruby/setup-ruby search_nodes takeaway Use Ruby Packer for Single-Binary CLIs search_nodes concept Build Gems in Docker Isolation search_nodes concept GitHub Self-Hosted Runner search_nodes tool fish shell search_nodes talk Build Your Own Internal CLI Tools Lightning Talk search_nodes+list_nodes_by_kind tool bump gem search_nodes tool Ruby Packer search_nodes tool Spree search_nodes talk Scaling an Open Source E-Commerce Framework search_nodes+list_nodes_by_kind tool Solidus search_nodes tool Klaviyo search_nodes project rails_event_store/ecommerce search_nodes question Why haven't you introduced events into Spree? search_nodes company Shopify search_nodes question Should 'add item' be split into add-new and increase-existing? search_nodes tool Jumpstart Pro search_nodes tool Active Admin search_nodes talk Ethereum Smart Contracts Lightning Talk search_nodes+list_nodes_by_kind resource Rocket Real-Time Benchmark search_nodes resource ethereum.org tutorials search_nodes concept Data Tokenization search_nodes concept Initial Coin Offering search_nodes talk Building on Bluesky's AT Protocol with Ruby search_nodes+list_nodes_by_kind event wroclove.rb 2023 search_nodes event wroclove.rb 2022 search_nodes event wroclove.rb 2024 search_nodes event wroclove.rb 2019 search_nodes event wroclove.rb 2018 search_nodes event wroclove.rb 2025 search_nodes event wroclove.rb 2026 search_nodes talk Building LLM powered applications in Ruby search_nodes+list_nodes_by_kind talk How wroclove.rb impacts developers and companies search_nodes+list_nodes_by_kind talk Towards the post framework future search_nodes+list_nodes_by_kind company Upside search_nodes company SpaceX search_nodes person Rafael Zamaris search_nodes tool knapsack_pro search_nodes talk Offline Sandwich Focus Workflow search_nodes+list_nodes_by_kind takeaway Name Things To Find Their Properties search_nodes tool ChatGPT search_nodes takeaway Spoken Test Feedback with say + iTerm Triggers search_nodes tool Puma search_nodes project BBC Sport App search_nodes project Petri Nets Performance Prediction Gem search_nodes tool Sidekiq search_nodes person Mike Perham search_nodes question Scaling Sidekiq Elastically search_nodes concept Sidekiq Middleware search_nodes talk Under The Hood And On The Surface Of Sidekiq search_nodes+list_nodes_by_kind takeaway Prefer Small Sidekiq Jobs search_nodes concept Sidekiq Batches search_nodes takeaway Keep Sidekiq Job Parameters Simple search_nodes talk Sidekiq Batches Lightning Talk search_nodes+list_nodes_by_kind question Application-Level Back Pressure For Sidekiq search_nodes question Protecting against ffmpeg vulnerabilities search_nodes takeaway Isolate ffmpeg due to its vulnerability history search_nodes concept Logux Proxy search_nodes concept Timing-Based Enumeration search_nodes concept Unique Per-Site Email Leak Detection search_nodes question DDoS risk of on-the-fly processing search_nodes takeaway Replay-Based Debugging search_nodes question Was debugging dev-environment performance worth it vs. ditching Spring/Guard? search_nodes takeaway Silver Bullet Anti-Pattern search_nodes project logux-rails search_nodes takeaway Stop delegating decisions to popular library authors search_nodes talk Lightning Talk on Email Leaks and Senior Developer Titles search_nodes+list_nodes_by_kind takeaway Pad Your Estimates search_nodes talk Ever shorter feedback loop search_nodes+list_nodes_by_kind takeaway Don't kill dependencies — use backoff search_nodes person Victor Shepelev search_nodes talk Scientific Ruby Lightning Talk search_nodes+list_nodes_by_kind project Ruby Romania search_nodes person Julik Tarkhanov search_nodes project Ruby News search_nodes tool TruffleRuby search_nodes talk Rubyana Gems and the Ractorous Rubetta Stones! search_nodes+list_nodes_by_kind project Scientific Ruby Community search_nodes person Adam Okoń search_nodes resource Short Ruby Newsletter search_nodes tool Dependency search_nodes concept Dependency Injection search_nodes tool RealtimeBoard search_nodes concept DNS geolocation routing search_nodes tool GraphQL search_nodes concept Tethered Cat Fallacy search_nodes talk Devise pitfalls and way to tighten security search_nodes+list_nodes_by_kind tool Devise search_nodes talk Securing Rails applications search_nodes+list_nodes_by_kind concept Enumeration Attack search_nodes resource OWASP search_nodes tool devise_token_auth search_nodes tool Babel search_nodes tool PureScript search_nodes tool esbuild search_nodes concept WebAssembly search_nodes tool Preact search_nodes concept Custom Elements search_nodes tool Uppy search_nodes concept Pipeline Operator search_nodes concept CSS-in-JS search_nodes tool Elm search_nodes tool PR Labeler search_nodes tool GitHub Actions search_nodes tool actions/upload-artifact search_nodes tool actions/checkout search_nodes tool RubyGems search_nodes tool Browserslist search_nodes concept esbuild Pipeline search_nodes tool curses search_nodes tool Brotli search_nodes tool htmx search_nodes tool nginx search_nodes concept tus protocol search_nodes takeaway Switch on HTTP/2 search_nodes tool HTTP/2 search_nodes tool SQLite search_nodes tool libvips search_nodes takeaway Upgrade Ruby version for free speed search_nodes takeaway Mentorship Grows Both Sides search_nodes takeaway Look outside Ruby for better patterns search_nodes 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 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 ActiveRecord IRB Output Gem Lightning Talk 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 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 talk Development with axioms 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 talk Event-Driven Rails Discussion Panel list_nodes_by_kind 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 Extracting logic from templates with Hanami Views list_nodes_by_kind 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 Functional Programming as Naming Lightning Talk list_nodes_by_kind talk Game Hunter JRuby Roguelike Lightning Talk list_nodes_by_kind talk Gaming With Ruby and VMs Lightning Talk 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 Be Top 10% in Ruby Lightning Talk 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 International cooperation in IT teams list_nodes_by_kind talk Introducing Sorbet into your Ruby codebase list_nodes_by_kind 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 iTerm Triggers and say Command Lightning Talk list_nodes_by_kind talk It is not so bad, after all list_nodes_by_kind talk JavaScript and Frontend Panel list_nodes_by_kind talk JRuby: Professional-Grade Ruby list_nodes_by_kind talk Kamal is not harder than your PaaS list_nodes_by_kind talk LATERAL Joins Rails Performance Lightning Talk list_nodes_by_kind talk Mentoring the Rails World Website Lightning Talk list_nodes_by_kind talk Message Bus Decoupling Lightning Talk list_nodes_by_kind talk Methods Gem for Ruby Method References list_nodes_by_kind 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 Mutation testing workshop wroclove.rb 2019 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 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 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 talk Orchestrating video transcoding in ruby list_nodes_by_kind talk Outdated Browser Detection list_nodes_by_kind talk Performance of Distributed Applications list_nodes_by_kind talk Phantom Migrations Gem Lightning Talk list_nodes_by_kind talk Prevent account sharing list_nodes_by_kind talk Procrastination and Fish Shell Aliases Lightning Talk list_nodes_by_kind talk Reforging (or rather rebrewing) the support for open-source list_nodes_by_kind+get_node_edges talk Removing Code with Breadth-First Search list_nodes_by_kind talk Rewrite with confidence list_nodes_by_kind talk Ruby Archaeology list_nodes_by_kind talk Ruby has literally always had types list_nodes_by_kind talk Ruby on a $4 Computer list_nodes_by_kind talk Ruby Packer Lightning Talk list_nodes_by_kind talk Ruby Rendezvous Method Call, Proc, and Beyond list_nodes_by_kind talk Ruby Standard Library Hidden Gems Lightning Talk list_nodes_by_kind talk Setup and operation of mutation testing in agentic world list_nodes_by_kind talk Sonic Pi Music Performance list_nodes_by_kind talk Spice up your life with eql list_nodes_by_kind talk Strategic Domain Event Design Lightning Talk 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 talk Typical DDDomains In Rails Apps list_nodes_by_kind talk Understanding coupling 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 talk Why I Like Mentoring Lightning Talk list_nodes_by_kind talk Working with RailsEventStore in Cashflow Management System list_nodes_by_kind talk Write a Blog Lightning Talk list_nodes_by_kind talk Writing a Game in Ruby on Rails Lightning Talk list_nodes_by_kind

2 edges