跳转至

HackerNews AI - 2026-10-09

1. What People Are Talking About

October 9 was smaller than October 8 in raw story count, but much more concentrated at the top of the page. Story volume fell from 103 to 91 and Show HN launches fell from 41 to 32, yet total points jumped from 591 to 993, total comments rose from 342 to 425, and the top score leapt from 94 to 351. Two stories alone accounted for 638 of the day’s 993 points: one about making agents visibly point at the screen, and one about whether frontier-lab safety work can still be done without retaliation.

1.1 Agent UX moved out of the terminal and into visible human-facing surfaces (🡕)

The strongest builder pattern was not a new model. It was a set of attempts to make agents easier for humans to supervise, interrupt, and understand once they leave the chat box. At least four review-set items tackled the same problem from different angles: overlays, inboxes, dashboards, and live review loops.

franze posted Show HN: Let your AI agents paint big arrows, boxes and text on your screen (351 points, 150 comments). The linked README describes a macOS CLI and Claude Code/Codex skill that draws click-through arrows, boxes, and labels above any window, then removes them after the human acts. The distinctive angle was how small and concrete the idea was: not “smarter agents,” just a way for an agent to stop printing “please click Allow” into a terminal and instead visibly point at the exact button.

ramoz posted Show HN: Plannotator Inbox – Decision Making Surface for Agents (3 points, 1 comment). The Inbox page says long-running agents can send blockers, plans, prototypes, and guided reviews into an async inbox on 127.0.0.1, where humans answer later and the response is delivered back as the session’s next turn. That matters because it treats “agent waiting for review” as a product surface of its own rather than a line buried in scrollback.

Firfi posted Realtime semantic advice on coding standards for the agents (8 points, 1 comment). The Hapsland README says it reviews agent edits in real time, gathers semantic context around the changed declaration, and sends findings back before the agent builds more code on a bad assumption. That is the same instinct again: move review closer to the work and make the feedback legible while the agent is still active.

Discussion insight: Readers were split between delight and alarm. hn8726 (score 0) immediately worried that overlays on permission prompts could hide the decline button, while arshxyz (score 0), lbreakjai (score 0), and priyashunt (score 0) saw the same pattern as useful for aging parents, accessibility, and non-technical users. The shared premise was that raw chat is no longer a sufficient surface for agent-human coordination.

Comparison to prior day: October 8’s builders mostly hardened the control plane around agents—cost pacing, memory, durability, and docs grounding. October 9 pulled that same control instinct into the visible UI layer: arrows, inboxes, and live correction loops.

1.2 Coding-agent orchestration became a concrete product and criticism theme (🡕)

The second major conversation was less about whether coding agents can write code and more about why the harnesses around them still waste time, money, and reviewer attention. The theme showed up both as criticism and as competing proposals for how agent work should actually be organized.

mtlynch posted Why Are Coding Agents So Dumb? (50 points, 20 comments). The linked essay argues that models improved while agents remained the bottleneck: they still manage embarrassingly parallel tasks sequentially, do not choose cheaper models for grunt work, and often know less about their own runtime than their users do. The comments were not simple agreement. mstank (score 0) argued frontier setups already delegate well, while Rapzid (score 0) and kgeist (score 0) said the real issue is harness defaults, orchestration patterns, and whether parallel subagents are managed sanely.

rafiss posted Five months treating bugs like patients and coding agents like a medical team (15 points, 3 comments). Cockroach Labs’ write-up claims agents added IBM Db2 support to its migration tool in less than two days for a $4,172 token bill after a planning agent decomposed the problem into dependency-ordered issues, pull requests, reviews, and escalations. The striking claim was not just speed but the workflow shape: a teaching-hospital model where quality gates, send-backs, and human chiefs mattered as much as code generation throughput.

chairmanlee8 posted Show HN: Liquid Inference – auto-routing to competitive LLM marketplace (4 points, 0 comments). The HN selftext says the product routes prompts across competing providers to hit the lowest price for a target quality level and can honor constraints such as region, zero retention, and allowlists. That is almost a direct implementation of the complaint in the mtlynch thread: agents should know when a cheaper or more appropriate model can do the next step.

Discussion insight: Hacker News did not read “agents are dumb” as “models are useless.” It read it as “agent work still needs explicit orchestration.” People repeatedly described custom prompts, subagent hierarchies, review loops, and routing policies as the difference between a capable workflow and a wasteful one.

Comparison to prior day: October 8 emphasized benchmarks and semantic guardrails. October 9 kept the proof burden, but moved one step closer to operations: how tasks are split, who reviews them, and which model should do each piece.

1.3 Local-first AI spread from browser assistants to voice and literacy tools (🡕)

A third theme was the breadth of “local and offline” launches. Instead of treating local AI as a single privacy talking point, builders applied it to browser summarization, speech interfaces, constrained hardware, and family language learning.

zxdc7896 posted Show HN: Apogee: Rebuilding Mozilla's Orbit, fully local and private (52 points, 2 comments). The README says the browser assistant runs fully in-browser with WebGPU or WebAssembly, can optionally talk to local Ollama or llama-server, and summarizes pages, videos, PDFs, documents, and social threads without any hosted backend. Its pitch was explicitly a corrective to Mozilla Orbit’s server-side design.

FlyingSnake posted Voxlocal: A minimal voice agent written in Rust (8 points, 1 comment). The linked post breaks a local macOS voice agent into speech recognition, retrieval, tool routing, and speech synthesis, and emphasizes inspectability over production polish. The point was not that local voice agents are finished, but that builders increasingly want every stage visible and debuggable.

tlack posted Show HN: Babytalk: Offline speech to text and text to speech on ESP32 (2 points, 2 comments). The README says speech-to-text runs on ESP32-S3 or ESP32-P4 hardware with 6 MB of flash and 84.5 KB of internal RAM, while text-to-speech adds 1.9 MB of flash and still avoids cloud services entirely. That pushes the local-AI claim all the way down to cheap screenless devices.

samdung posted Show HN: Coolphabets – Teaching kids to read and write in their mother tongue (3 points, 0 comments). The HN selftext says Coolphabets uses on-device handwriting models to help children in diaspora families learn script literacy without ads, tracking, or cloud roundtrips. Its distinctive angle was cultural rather than productivity-driven: preserving reading and writing in a native script.

Discussion insight: Local-first on October 9 was not a single category. It meant privacy for browsing, inspectability for voice, feasibility on tiny hardware, and offline safety for children. That range suggests “local AI” is becoming a design constraint that cuts across many product types, not just a niche privacy badge.

Comparison to prior day: October 8’s local-tool discussion was still pulled toward creative-suite replacements and desktop apps. October 9 broadened local AI into browser extensions, microcontrollers, voice pipelines, and educational tools.

1.4 OpenAI safety monitorability overshadowed most non-builder discussion (🡕)

The biggest non-builder thread was a governance fight about whether meaningful frontier-model safety work can still happen inside the labs racing to ship. It concentrated discussion around OpenAI, but the surrounding evidence pushed it outward into labor incentives and geopolitics.

trakkstar posted OpenAI fires three safety researchers for "mishandling research information" (287 points, 189 comments). TechCrunch’s report says the researchers denied mishandling, warned of a chilling effect on collaboration with outside evaluators, and tied the dispute to the practical problem of model monitorability. The HN replies split along a precise fault line: Rantenki (score 0) read the firings as punishment for being too candid with auditors, while dudeinhawaii (score 0) argued that safety staff still owe their employer explicit sharing boundaries.

theanonymousone posted Bengio: 'If you prioritize safety, leave frontier AI companies' (4 points, 1 comment). In the linked essay, Bengio argues that frontier labs continue to deprioritize safety relative to shipping pressure and that researchers should honestly ask whether staying helps or legitimizes the race. Even with lower HN engagement, it mattered because it turned the day’s safety argument into a direct labor and conscience appeal.

ilamont posted Beijing Will Not Pace the Frontier: China's Speed-First AI Safety Regime (3 points, 1 comment). The Semianalysis piece argues that China’s official safety rhetoric is stronger on paper than its actual incentives, which still favor deployment speed and application controls over frontier-risk duties. That widened the debate from “what is OpenAI doing?” to “what happens when every major actor says safety matters but keeps optimizing for velocity?”

Discussion insight: The argument was not really about whether safety matters. It was about whether any researcher inside a frontier lab can collaborate externally, speak candidly, or slow down capability work without colliding with competitive and corporate incentives.

Comparison to prior day: October 8’s safety conversation revolved around Anthropic’s policy language and the politics of naming AI. October 9 focused on monitorability, auditors, employee retaliation, and whether “slow down” is compatible with the current race at all.


2. What Frustrates People

Agent harnesses still waste time on sequencing, delegation, and model choice

mtlynch in Why Are Coding Agents So Dumb? (50 points, 20 comments) gave the clearest statement of this frustration: coding agents still run obviously parallel work serially, fail to choose cheaper models for easier steps, and often know less about their own runtime than the user does. chairmanlee8 in Show HN: Liquid Inference – auto-routing to competitive LLM marketplace (4 points, 0 comments) is effectively building around the same pain, while rafiss in Five months treating bugs like patients and coding agents like a medical team (15 points, 3 comments) showed the workaround at enterprise scale: explicit decomposition, routing, review loops, and escalation rules.

The coping pattern is more orchestration, not more faith. Users write better prompts, add subagent hierarchies, introduce routers, or keep humans in the middle to compensate for weak defaults. Severity: High. Worth building for: yes, directly.

Human review still arrives in the wrong place and at the wrong level of detail

franze in Show HN: Let your AI agents paint big arrows, boxes and text on your screen (351 points, 150 comments), ramoz in Show HN: Plannotator Inbox – Decision Making Surface for Agents (3 points, 1 comment), and Firfi in Realtime semantic advice on coding standards for the agents (8 points, 1 comment) all exist because default review surfaces are still too primitive. One tool points at the exact button, one creates an inbox for blockers and guided review, and one injects semantic feedback before a bad change spreads. Even the criticism sharpened the point: hn8726 (score 0) worried about overlays manipulating permission prompts, which is really an argument that review UX now has real security consequences.

The workaround is to bolt on overlays, inboxes, summaries, annotations, and realtime correction. That helps, but it also shows that terminal chat and raw scrollback are still the wrong surface for long-running or high-stakes agent work. Severity: High. Worth building for: yes, directly.

Privacy and cloud dependence still break otherwise simple AI use cases

zxdc7896 in Show HN: Apogee: Rebuilding Mozilla's Orbit, fully local and private (52 points, 2 comments) framed the problem directly: Mozilla Orbit’s server-side design and stored summaries were enough motivation to rebuild the experience around WebGPU, WebAssembly, and local runtimes. tlack in Show HN: Babytalk: Offline speech to text and text to speech on ESP32 (2 points, 2 comments) described the same frustration on tiny devices that cannot justify a cloud roundtrip or a fixed command vocabulary. samdung in Show HN: Coolphabets – Teaching kids to read and write in their mother tongue (3 points, 0 comments) pushed it into a family and education context: kids’ handwriting feedback should work offline, without ads or tracking.

The workaround is local-first rebuilding: browser inference, on-device handwriting models, and microcontroller speech stacks. That is promising, but it confirms that many mainstream AI experiences still assume a cloud boundary users do not actually want. Severity: Medium-High. Worth building for: yes, directly.

Safety work at frontier labs still looks boxed in by secrecy and race pressure

trakkstar in OpenAI fires three safety researchers for "mishandling research information" (287 points, 189 comments) exposed a recurring frustration: the people closest to model risks may still be constrained by unclear sharing rules, corporate secrecy, and the need to move fast. theanonymousone in Bengio: 'If you prioritize safety, leave frontier AI companies' (4 points, 1 comment) escalated that from one company dispute into a direct argument that the race itself corrupts safety work. ilamont in Beijing Will Not Pace the Frontier: China's Speed-First AI Safety Regime (3 points, 1 comment) broadened the complaint further: public safety language is cheap when the real incentive is deployment velocity.

The coping pattern is not obvious. Commenters oscillated between “external collaboration is essential” and “employees still owe strict confidentiality.” That deadlock is exactly the frustration. Severity: High. Worth building for: partially—there is room for better auditability, evaluator access, and monitorability tooling, but much of the problem is institutional rather than product-only.


3. What People Wish Existed

An inbox and review surface built for long-running agents

ramoz in Show HN: Plannotator Inbox – Decision Making Surface for Agents (3 points, 1 comment), franze in Show HN: Let your AI agents paint big arrows, boxes and text on your screen (351 points, 150 comments), and Firfi in Realtime semantic advice on coding standards for the agents (8 points, 1 comment) all point to the same practical need: when agents run asynchronously, their blockers, plans, and review requests need to land somewhere better than terminal scrollback. The urgency is high because users are already improvising around the gap with overlays, inboxes, guided reviews, and live lint-like correction. Partial answers exist, but the surface is fragmented across many small tools. Opportunity: direct.

Default orchestration that chooses the right model, the right task split, and the right quality gate

mtlynch in Why Are Coding Agents So Dumb? (50 points, 20 comments) stated the need in complaint form: agents should know when work is parallel, when a cheaper model is sufficient, and when a smarter model is required. chairmanlee8 in Show HN: Liquid Inference – auto-routing to competitive LLM marketplace (4 points, 0 comments) and rafiss in Five months treating bugs like patients and coding agents like a medical team (15 points, 3 comments) show that people are already building pieces of that stack—routing, decomposition, escalation, review—but not as a settled default. This is a highly practical need with immediate budget and productivity consequences. Opportunity: direct.

Recommendation systems that learn taste rather than just search history

kartless in Can an AI learn what you like, rather than just what you've searched for? (2 points, 3 comments) described an explicit unmet need: a persistent preference profile built from extended conversation so recommendations reflect humor, plot structure, style, and other deeper signals rather than only title overlap or click history. The post also raised privacy as part of the requirement, suggesting the profile and conversations could live locally or in storage the user controls. kidnoodle (score 0) pointed to a similar books-focused product direction, while warning that LLMs tend to collapse nuanced taste into overly simple theories. The need is practical, but still early and interpretation-heavy. Opportunity: direct.

Private, local AI that works for ordinary families and constrained devices

zxdc7896 in Show HN: Apogee: Rebuilding Mozilla's Orbit, fully local and private (52 points, 2 comments), samdung in Show HN: Coolphabets – Teaching kids to read and write in their mother tongue (3 points, 0 comments), and tlack in Show HN: Babytalk: Offline speech to text and text to speech on ESP32 (2 points, 2 comments) all point toward the same desire: AI that stays close to the user, keeps data on device, and still works when the hardware is cheap or the user is a child or a non-expert. The big-arrow thread added an emotional variant of the same need when lbreakjai (score 0) and priyashunt (score 0) said they would pay for guided interfaces that help aging parents complete real tasks. Partial answers exist, but they are still narrow and early. Opportunity: competitive.


4. Tools and Methods in Use

Tool Category Sentiment Strengths Limitations
Big Arrow on the Screen Agent UI (+/-) Exact visual handoff for human clicks; click-through overlays; no daemon or telemetry macOS-specific; can feel gimmicky; commenters raised abuse and confusing-permission risks
Plannotator Inbox Review surface (+) Async inbox for blockers, plans, prototypes, and guided review; local storage; explicit human checkpoints Early and low-volume; adds another surface users must adopt
Hapsland Realtime code review (+) Semantic context around diffs; immediate feedback to agents; scoped data sharing Depends on external classifier backends; limited to supported edit/runtime flows
Liquid Inference Model routing (+/-) Price/quality auto-routing; region and retention controls; designed to slot into existing harnesses Public evidence is thin; marketplace quality depends on provider mix
MOLT Sinai hospital workflow Agent orchestration method (+) Dependency-aware task splitting, review loops, escalation, and real production evidence Operationally heavy; more method than turnkey product
Apogee Local browser assistant (+) Fully local summarization across web pages, videos, PDFs, and social threads; WebGPU/WASM; no account Early project; local model downloads and browser constraints still matter
Edi Life OS Personal dashboard / MCP server (+/-) Self-hosted personal data layer with ten workspaces and 15 MCP tools HN feedback questioned code quality and differentiation versus simpler note or template tools
Voxlocal Local voice agent (+) Inspectable Rust pipeline; local speech recognition, retrieval, tools, and TTS Narrow domain; macOS-only experiment; intentionally not production-ready
BabyTalk Edge speech stack (+) Offline STT/TTS on ESP32; explicit resource budgets; private voice input on tiny hardware English-only; accuracy and hardware limits remain real constraints
Coolphabets / CoolphaSense Education / on-device AI (+) Offline handwriting feedback, no ads or tracking, concrete family use case Narrow launch scope; limited evidence beyond the founder’s description so far

Overall satisfaction was highest for narrow wrappers around a specific pain point: point at the button, review the diff sooner, route the prompt cheaper, keep the audio on device. The common workaround pattern was to add a thin control layer around existing models rather than wait for general agents to become reliable by default. Migration patterns ran in three directions at once: from cloud to local runtimes, from raw chat to dedicated review surfaces, and from single-agent optimism to governed multi-step workflows. The competitive dynamic was fragmented but clear: almost every seam around agent operation—routing, review, overlays, local inference, personal context, and embedded speech—now has point-solution builders attacking it.


5. What People Are Building

Project Who built it What it does Problem it solves Stack Stage Links
Big Arrow on the Screen franze Draws arrows, boxes, and labels over desktop UI so an agent can guide a human click Agents can detect when a human action is needed, but chat text is a poor way to direct attention to the exact button Swift, macOS CLI, Claude Code/Codex skill Shipped repo · post
Apogee zxdc7896 Rebuilds browser summarization as a fully local assistant for pages, videos, PDFs, and threads Cloud browser assistants upload too much user data and fail offline WebGPU, WebAssembly, Transformers.js, Ollama, llama.cpp Beta repo · post
Plannotator Inbox ramoz Gives long-running agents an async inbox for blockers, plans, prototypes, and guided review Humans need a review-native surface outside scrollback for asynchronous agent runs Local browser UI, file-backed storage, Claude Code/OpenCode integrations Beta site · post
Hapsland Firfi Reviews agent edits semantically and sends immediate feedback while the agent is still coding Autonomous coding agents make style and type mistakes that static instructions catch too late Semantic diff review, Jev or Cloudflare Clef backends, Codex CLI/Claude Code integrations Beta repo · post
Edi Life OS edris0077 Combines habits, goals, notes, finances, calendar, and Kanban into a self-hosted dashboard with MCP tools Personal data is scattered across apps that agents cannot reason over as one system PHP, MySQL, MCP server Beta repo · post
Liquid Inference chairmanlee8 Routes prompts across a provider marketplace to hit a target quality at the lowest cost Users still hand-pick expensive models because harnesses do not route intelligently LLM provider marketplace, auto-router, policy constraints Beta site · post
Voxlocal FlyingSnake Implements a narrow fully local voice agent to expose each stage of the pipeline Voice agents are usually opaque cloud systems, which makes them hard to inspect or trust Rust, Whisper, Piper, local retrieval and tools Alpha post · HN
BabyTalk tlack Runs offline speech-to-text and text-to-speech on ESP32 boards Tiny devices with microphones need flexible speech without cloud dependence ESP32-S3/P4, 4-bit STT/TTS models, C, MicroPython, AtomVM Alpha repo · post
Coolphabets samdung Teaches children to read and write their mother tongue using on-device handwriting feedback Script literacy is hard to preserve in diaspora families, and generic language apps focus on speaking instead Mobile apps, on-device handwriting models, offline-first UX Shipped site · post

Big Arrow, Plannotator Inbox, Hapsland, and Liquid Inference all share the same product instinct: do not replace the agent, shape its operating environment. One makes the handoff visible, one gives the handoff a queue, one critiques the work in progress, and one decides which model should do the next step. The build pattern is modular and pragmatic rather than grand.

Apogee, Voxlocal, BabyTalk, and Coolphabets show a second pattern: local AI is becoming a distribution choice for many different surfaces, not a single privacy niche. Browser reading, voice interaction, embedded speech, and children’s handwriting feedback all appeared on the same day, which suggests builders now see “runs on your device” as a general product property. Even the enterprise-scale example of the day—Cockroach Labs’ “hospital code” workflow in Five months treating bugs like patients and coding agents like a medical team—fit the same broader pattern of adding process, boundaries, and review around existing models instead of betting on raw autonomy.


6. New and Notable

Tiny agent affordances suddenly mattered more than giant agent claims

franze in Show HN: Let your AI agents paint big arrows, boxes and text on your screen (351 points, 150 comments) produced the day’s runaway winner with a tool that does not make the model smarter at all. It just makes the handoff visible. That is notable because it suggests the next competitive frontier may be small interaction affordances that help humans and agents coordinate, not only larger model launches.

“How do we run agents well?” beat “Can agents code?” as the stronger question

mtlynch in Why Are Coding Agents So Dumb? (50 points, 20 comments), rafiss in Five months treating bugs like patients and coding agents like a medical team (15 points, 3 comments), and chairmanlee8 in Show HN: Liquid Inference – auto-routing to competitive LLM marketplace (4 points, 0 comments) all pointed at the same shift. The interesting work is moving toward orchestration, routing, review, and escalation rather than simple debates about whether an agent can generate code at all.

Safety and monitorability became an employment and accountability story

trakkstar in OpenAI fires three safety researchers for "mishandling research information" (287 points, 189 comments) and theanonymousone in Bengio: 'If you prioritize safety, leave frontier AI companies' (4 points, 1 comment) made the day’s safety discourse feel less abstract than usual. The notable shift was from talking about safety principles to arguing about who can speak to outside evaluators, who decides what counts as acceptable disclosure, and whether serious safety work is structurally compatible with the shipping race.

Local AI kept expanding into more ordinary and constrained surfaces

zxdc7896 in Show HN: Apogee: Rebuilding Mozilla's Orbit, fully local and private (52 points, 2 comments), FlyingSnake in Voxlocal: A minimal voice agent written in Rust (8 points, 1 comment), tlack in Show HN: Babytalk: Offline speech to text and text to speech on ESP32 (2 points, 2 comments), and samdung in Show HN: Coolphabets – Teaching kids to read and write in their mother tongue (3 points, 0 comments) showed how broad the local-first instinct has become. The notable point is not just privacy; it is that builders now expect AI to run in browsers, on macOS laptops, on microcontrollers, and in children’s educational apps without defaulting to a hosted service.


7. Where the Opportunities Are

[+++] Review-native control planes for agent work — Evidence runs through sections 1, 2, 4, 5, and 6: Big Arrow, Plannotator Inbox, Hapsland, and Cockroach’s hospital-code workflow all point to the same gap. Agents can already do meaningful work, but the human checkpoints still need better surfaces for attention, review, annotation, and escalation.

[+++] Cost-aware orchestration and model routing — The mtlynch complaint, Liquid Inference’s auto-router, and Cockroach’s decomposition-heavy workflow all support this. The opportunity is strong because the pain is immediate: users do not want to manually decide which model, which subagent, or which quality gate should apply to every subtask.

[++] Local-first AI for everyday workflows — Apogee, Voxlocal, BabyTalk, and Coolphabets show demand for AI that runs near the user across browsing, voice, education, and constrained devices. This is a solid opportunity because the builders are solving real privacy and reliability problems, but the products are still early and fragmented.

[++] Safety monitorability and evaluator-access infrastructure — The OpenAI firing thread, Bengio’s essay, and the China safety analysis all suggest that “safety” is increasingly a question of monitorability, external review, and governed disclosure rather than slogans alone. That creates room for tools and processes that make third-party evaluation easier without collapsing corporate boundaries entirely.

[+] Preference memory and taste-based discovery — The “Can an AI learn what you like?” thread showed a real but still emerging need for recommendation systems that model taste rather than just behavioral history. The signal is early, but it points toward products where user-owned memory and nuanced preference modeling are the value.


8. Takeaways

  1. October 9’s breakout builder story was about coordination, not intelligence. The top-scoring submission was a utility that lets agents point at the right button on screen, which says a lot about where users still feel the real friction. (source)
  2. Hacker News increasingly treats coding-agent quality as an orchestration problem. The strongest complaints and the strongest solutions both focused on task splitting, model routing, review loops, and escalation rather than on raw model capability. (sources, 2, 3)
  3. Local-first AI is broadening into a real product cluster. On one day, the feed produced a local browser assistant, a local voice-agent experiment, offline speech on ESP32 hardware, and an offline handwriting tutor for children. (sources, 2, 3, 4)
  4. The day’s safety debate was about institutional incentives more than safety rhetoric. The OpenAI firing thread, Bengio’s appeal to leave frontier labs, and the China analysis all converged on the same concern: public safety language is easy to say, but much harder to align with shipping incentives and external accountability. (sources, 2, 3)
  5. There is still a meaningful opening for AI products that understand personal context without centralizing personal data. The recommendation-memory idea, the self-hosted Life OS dashboard, and the family-oriented accessibility and literacy use cases all point toward systems that are more personal without becoming more extractive. (sources, 2, 3)