Testing
Last edited: August 8, 2025How many bugs are in 1,000 lines of code?
- Typical code: 1-10
- Platform code: 0.1-1
- The best—NASA: 0.01-0.1
Never assume your software doesn’t have bugs.
Test-Driven Development
Test before you build!
- Specs are already written
- We know what the expected behavior is
- We can write tests for the expected behavior first
- All tests fail to start
- We know we are done writing code when all tests pass
“NYI” (not-yet implemented)
Text Classification
Last edited: August 8, 2025Take a document \(d\) and assign a fixed set of classes \(\{c_1, c_2, …, c_{j}\}\) to that document. You want to predict \(f(d) = c \in C\).
text normalization
Last edited: August 8, 2025two main parts:
The Unreasonable Effectiveness of Mathematics in the Natural Sciences
Last edited: August 8, 2025The Unreasonable Effectiveness of Mathematics in the Natural Sciences is an article by the famous mathematician Eugene Wigner. (Wigner 1990)
Reflection
What I found most peculiarly interesting is the focus on many mathematical/physics texts on the idea of the “beauty” of the expressions; and, it seems, the clear pleasure that Wigner gets from analyzing the systems with the aforementioned “beauty.”
Setting aside whether or not this beauty is “deserved”/appropriate, I love that my attraction to physics is somewhat similar to what Wigner describes. Under the appropriate conditions, with constraints, it is possible to build a solution to physics problems simply through the evolution of mathematics.
Theory of Computing
Last edited: August 8, 2025Theory of Computing is a science which attempts to identify “what the most efficient way to solve a given computational task?”
“efficient”
…with respect to what resources?
- time
- space/memory
- randomness
- communication / interaction
- quantum-ness (https://theory.stanford.edu/~abouland/)
“most”
study of impossibilities: lower bounds
For instance, we want a result like “SAT cannot be solved in Polynomial Time” (then in which case P != NP)
history of the theory of computing
computability theory
computability theorists consider themselves to deal with the problem of: “what computational tasks can be solved at all?” We know that because of the halting problem, not everything is solvable. (Turing 1936)