HackerTube 中文?
Explore / Thematic readings

Thematic readings

Follow a question across talks, compare explanations and replay the original passages.

Subject map

Choose a subject, or select a plus on a connection to compare the evidence.

5 subjects · 5 readings · 9 source videos
Design and Testing connection · 1 citations Design and Data connection · 1 citations Testing and Learning connection · 1 citations Testing and Evaluation connection · 1 citations Evaluation and Learning connection · 1 citations Testing Design Data Evaluation Learning

Each line connects two readings through cited passages.

Subject

Testing

Why do tests pass when the program is wrong? →

Gary Bernhardt’s isolated tests and Andrej Karpathy’s neural network both deliver good news when the code is wrong.

Source videos (2)Gary Bernhardt · Boundaries · ▶ 4:14Andrej Karpathy · Building micrograd · ▶ 2:13:44

Connected subjects

Subject

Design

Why does testing a business rule need a database? →

Separate who qualifies for a reminder from whether the reminder can be delivered.

Source videos (2)Gary Bernhardt · Boundaries · ▶ 15:28Rich Hickey · Simple Made Easy · ▶ 37:13

Connected subjects

Subject

Data

Can today’s record explain yesterday’s decision? →

Keep the value a decision actually used so that later changes do not erase its explanation.

Source videos (2)Rich Hickey · The Value of Values · ▶ 22:20Rich Hickey · Are We There Yet? · ▶ 40:03

Connected subjects

Subject

Evaluation

Will the leaderboard winner solve your problem? →

A public score can shortlist models. A new version of your own task can reveal what the score misses.

Source videos (2)Jeremy Howard · A Hackers’ Guide to Language Models · ▶ 59:39Sébastien Bubeck · Sparks of AGI · ▶ 17:35

Connected subjects

Subject

Learning

Connected subjects

Across subjects

Design ↔ Testing

Isolate the decision

A mock can share the caller’s misunderstanding. Separating the expiry rule lets you test the rule and its real inputs independently.

Compare the original excerpts
the expired users class makes all the decisions and the sweeper class has all the dependencies.
Gary Bernhardt · Boundaries · ▶ 15:28
if you don't stub the boundary correctly, your test will pass and your production system will be wrong.
Gary Bernhardt · Boundaries · ▶ 4:14
Across subjects

Design ↔ Data

Data and interfaces

Historical versions preserve inputs. Pure interfaces preserve the meaning of running the same computation again. Replaying a decision requires both.

Compare the original excerpts
a true functional interface, same input, same output.
Rich Hickey · Simple Made Easy · ▶ 37:13
the next version of the value shares a lot of structure with the prior version
Rich Hickey · Are We There Yet? · ▶ 40:03
Across subjects

Testing ↔ Learning

Two misleading signals

A wrong gradient happens to lower loss; optimizing preference scores can yield worse answers. Check the implementation in the first case and the scoring rule in the second.

Compare the original excerpts
you may have lots of bugs in the code and uh your network might actually work
Andrej Karpathy · Building micrograd · ▶ 2:13:44
optimization will start to game it and you basically crop it
Andrej Karpathy · Deep Dive into LLMs like ChatGPT · ▶ 3:04:45
Across subjects

Testing ↔ Evaluation

What a score misses

Familiar questions can mask a lack of generalization; an easy training set can mask a gradient bug. The symptoms resemble each other but the causes differ.

Compare the original excerpts
you may have lots of bugs in the code and uh your network might actually work
Andrej Karpathy · Building micrograd · ▶ 2:13:44
we don't know what gpt4 was trained on I don't know what gpt4 was trained on
Sébastien Bubeck · Sparks of AGI · ▶ 17:35
Across subjects

Evaluation ↔ Learning

Selecting versus optimizing

A benchmark can reward skills unrelated to the job. Training against a similar metric can also teach the system to exploit it.

Compare the original excerpts
these metrics are not particularly well aligned with real life usage
Jeremy Howard · A Hackers’ Guide to Language Models · ▶ 59:39
optimization will start to game it and you basically crop it
Andrej Karpathy · Deep Dive into LLMs like ChatGPT · ▶ 3:04:45

Caption comparisons · 83

Can a network evolve its own wiring? →First follow activations through a fixed network. In MarI/O, selection changes the connections themselves. Following a signal and searching for a useful topology are different operations.What makes an object useful? →Compare refactoring a pricing rule into small objects with the cost of coordinating objects that carry mutable state. A class boundary alone says little about how its users interact.What can images teach without labels? →Unsupervised learning looks for structure in observations. Learning features from image patches shows what that structure can look like before labels enter the task.Where does the learning signal come from? →Finding patterns in unlabeled data and choosing actions from rewards both dispense with a teacher giving the right answer. Only the latter must account for the consequences of a decision.From predicting a token to using a language model →Building a predictor makes its training target concrete. Using a trained model shows how context and instructions put that predictor to work.Small objects or small interfaces? →One talk breaks code into smaller responsibilities. The other limits what callers must learn. Count the decisions exposed to callers as well as the objects inside the implementation.What disappears inside a national average? →Countries can improve on average while wealth remains concentrated within one country. Compare the unit of observation before comparing the trends. Wealth shares and life expectancy measure different things.Can creators see the effect of an edit? →A notation tool and a programming environment both make an edit visible. Look for the precise gap each closes between an action and the result its author can inspect.Does concise array notation make a language easy to extend? →Array operations can express a great deal in a few symbols. Integrating a new operation into the language raises a separate question about its rules and conventions.What must happen before work can run in parallel? →Follow the point where workers have to wait. Adding workers helps only after the serial activity that feeds them can keep up.When does a module boundary freeze a decision? →An interface can shelter callers from a changing implementation. Once clients depend on its behavior, changing the interface itself becomes more expensive.Does hiding mutation remove coordination costs? →An object can conceal its state and still require callers to coordinate operations. Examine what happens when independently safe operations must work together.Where does the kernel's job end? →Compare the kernel's responsibilities with the work of keeping services running as hardware and software change. Starting a process is just one part of managing its life.Can you isolate side effects in the language you already use? →Separate a decision from the code that reads a database or sends mail. The boundary depends on how data flows, and can be introduced within an existing language.What if the model has already seen the test? →A public score becomes harder to interpret when the training corpus is unknown. Novel questions probe a different failure mode, without proving what the original corpus contained.What can a formal check actually verify? →A tool needs a precise property to check. Translating what someone intended into a formal statement is itself a source of error.Can changing representation reveal a solution? →A different representation makes certain relationships directly visible. Compare which calculation each representation makes easier and which information it preserves.What does dropout do inside a GPT training loop? →The subnetworks interpretation explains why units are omitted during training. The implementation shows where the random masking happens in an actual model.Can anonymous functions recurse and still guarantee termination? →Weirich derives a fixed-point combinator so a function can recur without a name. Wadler approaches the same operator from the other direction. Adding unrestricted recursion gives up the termination guarantee of the simply typed calculus.How does cheaper automation become a deployment race? →One account considers incentives to replace costly work. The other asks how competition changes the decision to release a technology whose capabilities are still emerging.Where does an error in precision matter? →An approximation has to be judged at the output where it will be used. Compare how the two demonstrations distinguish useful accuracy from unnecessary precision.How quickly can a programmer see a mistake? →Running tests on every file change shortens one feedback loop. Showing the changing behavior beside the edit shortens another. The signals tell the programmer different things.What does explaining an answer to a peer reveal? →Collaborative learning gains a concrete mechanism when students have to explain their reasoning to one another. Agreement on an answer alone tells the teacher less.Why do experts miss the step a beginner needs? →Familiarity can hide prerequisites. Compare the techniques each speaker uses to expose the gap between what a presenter assumes and what a learner can reconstruct.What do the numbers in a vector describe? →Translate between an arrow and a list of coordinates. Each representation makes a different aspect of the same object easier to inspect.Can a service survive a local failure? →Compare containing an exceptional condition with isolating a failing process. In each case ask which healthy work can still proceed.Do separate layers really separate concerns? →Placing code in different layers leaves the underlying concepts free to depend on each other. Trace which changes still require coordinated edits.Did the game agent see too little or optimize the wrong thing? →A limited input can hide distinctions needed for a decision. A misleading objective can reward a bad move even when the state is visible.When is a typo a valid program? →Features can interact so that an unintended expression still parses. The language accepts it, leaving the programmer to discover the changed meaning.Can two versions coexist under the same name? →A module name can force a choice between versions. Identifying content by its hash gives each version a separate address.When does an implementation detail become a promise? →Callers can depend on observable behavior that was never documented. Changing an interpreter or a library then becomes a compatibility decision.Can libraries grow a language? →If libraries can express new abstractions in ordinary code, the core language can grow through its users. Compare the facilities needed to make those extensions feel native.Can presentation slides perform general computation? →Compare a deliberately minimal interpreter with a surprising construction inside slides. The decisive question is which operations the system can express.When does an expressive format become an attack surface? →A format can admit computation its designer did not anticipate. That changes what it means to process input supplied by someone else.Does running a model explain its decision? →Executing a model yields an answer. Explaining why that answer followed, or predicting its behavior under a new input, requires further evidence.Where should untrusted input stop? →Compare an instruction embedded in model input with data entering a parser. Both examples ask who gets to decide what is treated as an instruction.Can you reconstruct the area formula? →A formula is easier to transfer when a learner can rebuild the reasoning that produced it. Compare a memorized answer with a representation that makes the derivation visible.What does multiplying a vector mean? →Scaling one vector and combining two vectors are different operations. Check the operands and the type of result before interpreting the notation.What is geometric about a word embedding? →Coordinates describe a vector relative to a basis. Embeddings use learned vectors whose directions can capture relationships among words.How can columns explain a matrix equation? →Translate coordinates into a geometric picture. The columns of a matrix then show which combinations of vectors can reach the desired output.How does a network change after a wrong answer? →Forward propagation computes a prediction. In micrograd, a loss and its gradients connect that prediction to the next parameter update.What does attention add to layered activations? →A feedforward network propagates activations through its layers. Causal attention lets each position combine information from earlier tokens.Where does AlphaGo get experience? →Describe the task, experience and performance measure before examining the algorithm. AlphaGo provides distinct examples of experience from human games and self-play.Reward and fitness both give feedback. What changes? →In reinforcement learning, rewards inform action choices. MarI/O uses a fitness score to select entire networks across generations.A better network or a longer look ahead? →Evolving a network changes its structure. Looking farther ahead changes how an agent evaluates future moves. Each addresses a different limitation.How do game agents improve beyond their starting point? →AlphaGo imitates games and then plays against itself. MarI/O selects and reproduces networks according to game progress.What does a visualization let you notice? →A color map controls how differences reach the eye. Moving bubbles can expose patterns over time. In both cases the encoding influences what viewers can detect.Which frequencies are present, and how was the signal recorded? →A Fourier transform describes a signal by frequency. Sampling and quantization describe how a signal is measured and encoded. They answer different questions.Which choices should an API leave out? →Removing an uncertain feature reduces what clients must learn. Separating tangled concerns reduces how many choices they must consider together.What if feedback arrived with the edit? →One talk traces a search for shorter feedback loops. The other shows what creators can discover when the result is continuously visible.Where do side effects belong? →Overwatch concentrates side effects on one side of an interaction. A functional core similarly leaves database access and email to its surrounding shell.How far can one bottleneck spread? →Process isolation contains certain runtime failures. Decoupling services can contain a capacity problem. Identify what is still shared before relying on either boundary.Is removing duplication worth another abstraction? →Metz weighs the cost of a wrong abstraction against repeated code. Ousterhout asks how much capability a module hides behind a simple interface.What did the record say at the time? →Access patterns determine how to organize a store. Retaining historical facts determines which past questions it will ever be able to answer.How much can a small interface hide? →A small API reduces the concepts callers must learn. A deep module makes that small surface useful by hiding substantial implementation behind it.Can small components still be tightly coupled? →Changing component size and changing how components communicate are separate decisions. Passing a value can remove a dependency on a synchronous call.Who manages a service after startup? →A service manager responds to change across a system. Isolated processes contain failures inside a running application. Each boundary protects different work.Who coordinates access to the same record? →Designing a table around queries addresses how data is laid out. Routing operations to one process addresses how simultaneous work on a record is coordinated.Why shift a matrix before looking for an eigenvector? →A zero determinant signals collapse into a lower dimension. Applying that test to the shifted matrix explains how a nonzero vector can lie in its null space.Which equations survive a collapse in dimension? →Once a transformation flattens space, reachable outputs lie in its image. A target inside that image and one outside it lead to different answers.How do rotations change in four dimensions? →Compare a fixed axis in three dimensions with planes of rotation in four. The familiar axis description does not carry over unchanged.Should a parser repair invalid input? →Correcting an input can make a system convenient, but another component may interpret the correction differently. Rejection makes that boundary explicit.Why does shared mutable state tangle a program? →One talk separates identity from its successive values. The other shows how state couples parts of a system through time. Read them together to identify what a caller must know about earlier operations.What does a snapshot promise its reader? →Stable snapshots let observers read a particular version. Treating information as values explains why that version can be passed on without changing its meaning.Can a later update invalidate an earlier fact? →State makes an answer depend on when you ask. Recording time with a fact lets two different answers describe different moments without contradicting each other.Must we choose between reflection and instant feedback? →Thinking away from the keyboard helps frame the problem. A responsive medium helps inspect an idea once expressed. The two techniques address different moments in the work.Where should a business rule end? →Separating independent concerns becomes concrete in a functional core: compute the decision from values, then let another layer carry out its effects.When is it time to stop coding and rethink the problem? →Look for concerns that have become intertwined. Stepping away to reconsider the problem can reveal which of those dependencies really belong together.What should cross a module boundary? →Values have meanings that callers can inspect independently. A boundary that passes values makes decisions easier to exercise without setting up the surrounding infrastructure.How can an environment make time visible? →One demonstration makes behavior visible while editing on a screen. Another brings that feedback into a physical workspace. Compare what the maker can inspect in each setting.What is the same in a diagram and a column calculation? →Switch between geometric motion and coordinate arithmetic to see one linear operation from two angles. Strang’s column combination is a worked example; neither representation is best for every task.Which outputs disappear when a transformation collapses space? →Some target vectors fall outside the image after a collapse. In the eigenvalue example it is A minus lambda times the identity that becomes singular; this does not make every system unsolvable.What can you stop imagining once an edit is visible? →Two programming environments and a notation editor let their users inspect the effect of an edit. Feedback reduces mental simulation without guaranteeing conceptual understanding.Why don’t two locked objects make a safe transaction? →Compare what each lock protects with what the combined operation requires. This is a cost of coordinating shared mutable state, not a claim that every lock is wrong.When does an implementation detail become a promise? →Interpreter behavior, hash tables and public APIs illustrate how callers come to rely on what they can observe. Observable behavior need not have been formally guaranteed.What does a repeated microbenchmark leave out? →Compare the costs visible in an isolated hash-table operation with the effect of workload and cache behavior. Microbenchmarks help answer a narrower question than end-to-end measurements.How can many subnetworks share one set of weights? →Dropping units during training can be viewed as training different subnetworks with shared parameters. The test-time prediction is not necessarily their exact arithmetic mean.When does a text predictor become an assistant? →Next-token prediction teaches continuation. Compare how later training shapes responses to a user; the distinction does not prescribe a single post-training algorithm.Why can’t a policy classify each move in isolation? →An action changes the next situation and thus the choices and rewards still available. The dependence is temporal even when the delay is short.Where do strategies absent from demonstrations come from? →Compare self-play in Go with exploration in language-model problem solving. Trial and error can find new strategies when feedback distinguishes useful attempts.What cannot be recovered from the current observation? →Ask which distinctions the input representation discards. Earlier observations, feedback or prior knowledge may change what can be inferred.Can healthy work continue when one component fails? →Process isolation and decoupling services address failure at different scales. Both limit propagation, but shared resources can still carry failure across a boundary.Does getting the answer mean understanding the concept? →Concept questions in physics and geometric intuition in linear algebra reveal gaps that procedural success can hide. Neither approach rules out calculation practice.