Recent submissions

Comment · 2 years ago
I agree that mocks are brittle and nearly useless.

If you follow SOLID principles to the extreme, you'll find that your code is separated into logic code that is pure and easy to unit test, and IO code that is very simple and can be tested by a relatively few number of integration tests.

Comment · 10 years ago
ASP.NET MVC, because:

- ASP.NET MVC makes it much easier to keep your domain logic decoupled from the framework. This is in contrast to frameworks like Django who expect you to use their ORM, and to derive your model classes from a framework provided base class.

- It's C#. I know it well, it is common in industry, and it is statically typed. For programs of any real complexity, I find statically typed languages to be much more efficient and pleasant to work with.

Eventually I want to move more in the direction of stronger type systems, but it doesn't seem like there are many jobs out there for Haskell programmers who aren't programming demi-gods.

Comment · 11 years ago
Have you mastered algebra and trig? If not, do it. Khan Academy is great for this. Watch the videos and do lots and lots of problems. In learning math, there is no substitute for working through lots of problems.

After this, I suggest learning some discrete math and proof techniques. The book How To Prove It is great. It will teach you logic, set theory, how to write proofs, and how to invent proofs. Learning this first will help you actually understand calculus when you study it next.

For calculus, MIT's OCW course is really good. Pick up a standard book like Stewart, do a lot of problems, and try to understand the proofs of all the theorems. Or if you'd really like a challenge and some more theory, pick up Spivak's book.

Comment · 11 years ago
Or just let the market handle it.

If people stop tipping, restaurants would be forced to increase wages, because nobody is going to work for $3/hour.

Comment · 12 years ago
"because stereotyping necessarily subordinates individual identity to group identity"

No it doesn't. Many stereotypes are useful when you have very little information about a person. You're only subordinating individual identity to group identity if you refuse to update your beliefs about a person after receiving new evidence about him.

Comment · 12 years ago
Comment · 12 years ago
Imagine a Beowulf cluster of HNs?
Comment · 12 years ago
Also a missile's range and effectiveness depend upon both aircrafts' altitudes and velocities. Even if the predator could fire an AMRAAM, I don't think it would stand much of a chance of winning an engagement against a fighter that can fly twice as high and ten times as fast.
Comment · 12 years ago
Even in math "infinity" often means "unbounded". For example, in real analysis if we have a sequence x_n, we write lim x_n = ∞ to mean "given any real number alpha, we can find a natural number K, such that x_n >= alpha for all n > K".
Comment · 13 years ago
Haskell: Programmers aren't disciplined enough to to isolate side effects by themselves.
Comment · 13 years ago
Those aren't data structures.
Comment · 13 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton