Why math is painful to read - <AUTHOR> http://www.matusiak.eu/numerodix/blog/2012/12/2/math-explained/ <comment><USER3> I could not disagree more with that post. Mathematical notation is to Python what English would be to Assembly Language: it is a high-level notation, designed see the forest rather than getting lost in the trees.

Take Maxwell's equations for example. After learning vector calculus and becoming familiar with its notation, you notice how much meaning you can extract at a quick glance from the four Maxwell's equations expressed in differential form. The purpose is not to obfuscate the meaning (like the author implies when he mentions the Obfuscated C contest) but rather to reveal/encapsulate as much information as possible in a way that is easy to understand at a glance. You want to know what would happen if magnetic monopoles existed? Easy to do by just adding a few extra terms that are obvious by symmetry of the equations.

And, if you go beyond vector calculus, you can see an even clearer picture by writing

        F = dA   (equivalent to the usual two homogeneous Maxwell Equations)
        d*F = *J  (equivalent to the remaining two)

<comment><USER4> > Mathematical notation is to Python what English would be to Assembly > Language

Which is often the problem, it looks specific, but it really isn't; it's full of implicit assumptions about what the reader should know. It's not executable, because it's a language designed for being written by hand rather than executed by a computer.

However, the teaching of math would greatly benefit from an explicit executable form that makes no assumptions, i.e. a programming language. Gerry Sussman makes this case, he's pretty convincing.

<comment><USER5> > However, the teaching of math would greatly benefit from an explicit > executable form that makes no assumptions

I'm skeptical of this logic. I think nobody would be able to learn mathematics if they had to keep it all in their head at once. "Unobfuscated" maths, i.e. maths that has every single logical deduction written out from first principles so that you can (to use your words) "execute it", would be impossible to understand because, fundamentally, we are not computers.

Instead we learn some, we internalise it, and then we can appreciate the new notation that encapsulates what we have learnt before without exposing us to the underlying complexity that we simply don't need to solve higher problems.

Mathematics is beautiful. If anything, it's programming languages that have the catching up to do.

Edit: more generally, the blog post seems to be a case of "when all you have is a hammer, everything looks like a nail" -- if you spend all day programming, then it might make sense to try and relate mathematics back to something you're more comfortable with. That doesn't mean that it's the most sensible way for everyone else to learn mathematics.

<comment><USER4> > I'm skeptical of this logic. I think nobody would be able to learn > mathematics if they had to keep it all in their head at once.

That's what functions are for.

> Instead we learn some, we internalise it, and then we can appreciate the new > notation

Those new notations are functions, simplified abstractions of more complex processes that allow us to think in larger concepts and not sweat the details.

> Mathematics is beautiful. If anything, it's programming languages that have > the catching up to do.

Perhaps, perhaps not.

</comment></comment></comment></comment><comment><USER6> No, that's not why math is painful to read. The reason math is painful to read is because it's either obvious, in which case it's _not_ painful to read, or because it contains new ideas that you need to work hard on before you can grok them.

There is no short cut. You can't write math like a novel, you can't read math like a novel. There are ideas that are deep and difficult, and unless you actually spend time working on the material you simply won't "get it."

Time and again I have explained to people something that's comparatively simple, and easily within their grasp. I've tried different approaches, different formulations, different arcs through the material, and time and time again the person has followed every step in detail, and just not "got it." There is no enlightenment, there is no sense of what's happening. It's only after they've invested the time that they have come to a sense of what's happening, and then the light dawns. Occasionally they say things like "Why didn't you explain it like that in the first place?" Then I point out that I did, but at that stage, they weren't ready for it.

It's like following a SatNav. You get to your destination having followed the turn-by-turn instructions, and yet, in truth, you really have no idea where you are. You have traveled from one local pocket to another local pocket, with no understanding of the space through which you've been.

Math is painful to read because you're trying to follow the turn-by-turn directions, instead of taking control of your own understanding and working to gain knowledge and insight, scope and intuition.

You won't understanding it without doing the work, and complaining that it's badly written is the smallest part of the problem.

<comment><USER7> > The reason math is painful to read is because it's either obvious, in which > case it's not painful to read, or because it contains new ideas that you > need to work hard on before you can grok them.

The same could be said for code that uses only single letter variables and functions.

It'd be a lot easier with readable variable names.

<comment><USER6> _Apologies in advance, but I don't have time to write this as clearly and effectively as I want to, but I felt I had to express an opinion here, and raise some points. Pascal misquoted: long letter, I lack the time to write a short one._

A difference is that when you're reading someone else's code you're usually doing it to try to fix a problem in a specific part of the code, and specifically not trying to understand the full setting, the full architecture, and the grand idea(s).

I could give you an example of a proof, explained in detail, easy to follow every step, and at the end you still wouldn't have gained any understanding of the field, the area, the ideas, or the underlying reasons why things are true. You will have been helped in your small scale specific task in getting control of one tiny aspect, but without working on it for yourself, gaining the insights for yourself, doing the work for yourself, you won't get the bigger picture.

When I work with code, especially someone else's code, I almost invariably end up replacing the long, descriptive variable names with single letter names within the scope of a page. It's easier to read a short line than a long line that's trying to describe, again, the meaning and purpose of every variable. Being able to keep definitions and meanings of variables over a page or two of scope is trivial, especially when you have an IDE that can remind you if necessary. Personally, I don't use one, but I've seen them used to good effect.

When working intensively on a piece of code, keeping track of what "v" means comes naturally, it's repeated often enough that you have effectively used spaced repetition and have learned it. Having constantly to skim over the full_description_of_the_entire variable_encoded_in_the_name becomes a chore.

And no, I don't check back in the version with the single letter names, because others don't share my style, ability, or point of view, and they insist on having verbose code that reads like a novel. That's fine for fixing small errors in local code, but that's not what math is about.

I find it interesting that every mathematician I've discussed this with says that coding and math are fundamentally different activities. Almost every coder I know seems to think somehow they are the same, even though they haven't done any really advanced math.

</comment></comment></comment><comment><USER8> Frankly, there are 2 kinds of programmers.

People who do this:

         val result = directProduct(cyclicGroupOfDegree3, finiteAbelianGroupOfDegree7)

and the second kind, people like me, who do this:

         // Compute the direct product of 2 cyclic groups
         val z = dP( cg1, cg2 )

You can easily guess that the 2nd kind are math majors. If my math professor started writing everything out in plain English like the first example, he'd never be able to cover a theorem per class. He'd still be writing the first lemma and the hour would be up.

So he resorts to 1-character symbols, precise notations, and terse comments. The idea is - if the reader doesn't grok direct products or cyclic groups, he's fucked anyways, so why bother ? And if he does grok them, why impose cognitive overload by spelling it all out in great detail, just use 1-character symbols and move on.

Now both these styles are in direct conflict with each other, and in the Fortran/C/C++ community during the 80s-90s ( when every respectable programmer had a copy of Numerical Recipes on their desk ), you would emulate the 2nd kind.

In the 2000s & later, people got rid of their Numerical Recipes & exchanged them for "14 days to EJB" and "Learn Python in 21 days" and "Master Ruby in 7 days" and the like...the community started becoming a lot less math-y and a lot more verbose, and style 1 is back in vogue. Nowadays I get pulled up constantly in code review for using single character names....but I think this too will pass :)

<comment><USER9> _The idea is - if the reader doesn't grok direct products or cyclic groups, he's fucked anyways, so why bother ? And if he does grok them, why impose cognitive overload by spelling it all out in great detail, just use 1-character symbols and move on._

This case analysis works if you only consider people who've been sitting in on the class the whole time, but someone who appears mid-way through the semester (or analogously, starts looking at some project's code without having been involved in its development) may understand group theory and still have trouble following the lecture.

 _// Compute the direct product of 2 cyclic groups_

I would much rather give the function a name that describes its purpose (and give a full description in a comment at the function's definition) than annotate every use of the function.

<comment><USER8> Notation is what it is because it serves our ( ie. mathematicians') interest so well. If every one of us started writing Integral Of Quadratic Polynomial = Cubic Polynomial plus constant _maybe_ we would increase the size of the audience a tad bit....but the downside would be, we'd move at a glacial pace & never make progress.

Things like direct product and cyclic groups are basic....almost trivial even.

If a non-programmer asks you "Why do you guys say int x = 10; float y = 0.2 Why not x is an whole number who value is 10 y is a fraction whose value is one fifth.

you can sit down & reason with him for a while....but if he insists that everything be spelled down in such great verbose detail, you will at some point, pick up your starbucks coffee and say "Dude, this programming thing, its not for you. The average program is like 10s of 1000s of LOC and if I start writing everything out in plain English, I'm going to get writers cramp & file for disability insurance."

Trust me, math gets immensely complicated very, very fast. The only way to have even a fighting chance of keeping up is terse notation ( and frequent breaks ).

One reason for this schism is the lack of rigor. eg. When a programmer says "function", he is order of magnitude less rigorous than what a mathematician means by that word. You ask a programmer what probability is, and he will say "you know, whether something will happen or not, how likely it is to happen, so if it doesn't happen we say 0, if it is sure to happen we say 1, otherwise its some number between 0 & 1\. Then you have Bayes rule, random variable, distribution, blah blah...I can google it :))"

You ask a mathematician what probability is...even the most basic definition would be something like "a function from the sample space to the closed interval [0,1] ". Note how incredibly precise that is. By the word "function", the mathematician has told you that if you take the cross product of the domain ie. a Set of unique outcomes of your experiment, with the range, which is the closed interval [0,1], you'll get a shit-ton of tuples, and if you then filter out those tuples so that that every outcome from the domain has exactly one image in the range, then that is what we call "probability". And this is just the beginning...the more advanced the mathematician is, the more precise he'll get. I've seen hardcore hackers who've designed major systems that use numerical libraries walk out of a measure theory class on day 1, simply because they overestimate how little they know. Calling APIs is very, very different from doing math. The professor is like the compiler - he isn't going to care if you know or not what measure is or what a topological space is...its a given that you've done the work that's laid out in the pre-reqs, and if you haven't, go write an API or something, don't bother the mathematician....atleast that's the general attitude in most American universities I've seen. If you tell him "describe its purpose and give a full description" he will look at you as if you are from Mars, and then tell you to enroll in the undergraduate section of Real Analysis 101 :)

<comment><USER9> _If a non-programmer asks you "Why do you guys say int x = 10; float y = 0.2 Why not x is an whole number who value is 10 y is a fraction whose value is one fifth._

Knowing what language we're working in is enough to know that's exactly what that code says. This is not the case in mathematical notation. C × A could be the direct product of two groups, or maybe the tensor product of two graphs, or perhaps the product of two lattices, or it could be one of who knows how many other things. The issue here is not high precision, but the opposite: heavy reliance on convention and context in order to be unambiguous.

<comment><USER10> Knowing what language we're working in is enough to know that's exactly what that _math_ says, too.

You don't expect to understand Java after learning PHP, and you don't expect to understand a Topology paper after learning Algebra.

"C x A" is a combination of C and A. C, x, and A are defined once somewhere at the beginning of the paper/book.

<comment><USER9> _"C x A" is a combination of C and A. C, x, and A are defined once somewhere at the beginning of the paper/book._

Should I take this (which doesn't actually hold in the general case) to mean that every document uses its own language? That isn't exactly good for readability. We certainly don't consider every software project to be written in its own language (and no, the semantics of C does not tell us what the dP function does).

</comment></comment></comment></comment></comment></comment><comment><USER11> The problem with math isn't symbology or notation per se, it's that it's not evolved to take advantage of modern technology. It's an artifact of pencil- and-paper being the medium of choice for expressing ideas. We can do much better.

When you are looking at an equation, you are looking at the purest distillation of an idea. Underneath that equation sits countless layers of abstraction and reasoning. Why can't I peel back these layers and see them on my computer or iPad? The equation is the iceberg tip peeking out of the water onto the paper, I want to see underneath. Let me feel around and slowly and confidently fill in the places where my understanding is fuzzy. Prevent me from moving back up to the final equation until everything underneath is fleshed out and solid in my mind. And if bits start to fade, let me quickly react to snap them back into focus.

This is what we are doing mentally anyway when we flip back and forth in a math text referencing previous proofs and equations. Math needs it's "hyperlink."

Anything I say here has been said better and more convincingly by Bret Victor:

<http://worrydream.com/KillMath/> <http://worrydream.com/LadderOfAbstraction/>

Though I will argue that at least in his Kill Math writings he's throwing the baby out with the bath water in a certain sense. Let's keep the symbology as a optimal way to encapsulate our knowledge for the amazing mental leverage it gives us, but give us a way to move up and down the ladder of abstraction in order to facilitate understanding.

<comment><USER10> Math's hyperlink: <http://mathworld.wolfram.com/Angle.html>

<comment><USER11> not following?

</comment></comment></comment><comment><USER12> Math is such a big field that there tends to be much re-use of symbols, and the limited number of Greek letters doesn't help (no one likes multiple-Greek- letter variable names).

To a mathematician reading the technical literature from his own field, there's no issue with math notation. Problems sometimes come up when a specialist in one field tries to read literature from a different specialty -- but that's true in computer programming too.

This may come as a surprise, but math notation is much more uniform than computer-science notation, including all the efforts to create generic program listings. Mathematicians are reluctant to invent new symbols, but it's sometimes necessary.

When I read computer program source code, I often wish the programmer had summarized the meaning of the code using math notation. I guess that puts me in a position precisely opposite that of the author.

<comment><USER13> _To a mathematician reading the technical literature from his own field, there's no issue with math notation._

Let me guess. You haven't learned much differential geometry?

Constants vary by 2 pi depending on which definition you use. Functions might come before or after their arguments. And, of course, you leave everything that is "unambiguous" out of the notation. (Proving that it truly is unambiguous is sometimes nontrivial for the novice.) Guessing what notation a particular author is using has been known to be daunting, even for other differential geometers.

In grad school I remember sitting down with homework sets and spending longer working out what the question said than I did in solving it once understood.

That said, if you tried to actually write everything out explicitly, it would be impossible to read anything. Compact notation is a necessary evil - <USER2> it your brain simply can't think certain things. With it, it is hard for anyone else to figure out what you just said.

<comment><USER14> There's something to be said for the notion of a glossary or legend... have these been considered at all? Or a notational standards body of some kind, perhaps?

<comment><USER10> How many standards would you like? :-) [http://mathoverflow.net/questions/33152/is-there-a- reference...](http://mathoverflow.net/questions/33152/is-there-a-reference- containing-standard-mathematical-notations)

<comment><USER14> Enough that (1) someone tells me about it in 5th grade and (2) people stop complaining.

I mean, seriously. The top answer is, "Wikipedia".

</comment></comment></comment></comment></comment><comment><USER15> The real reason math is hard to read is that it's the distillation of a thousand winding ideas and failed attempts that took hundreds of hours of thinking and hundreds of pages of scribbling, all condensed into the most concise possible three pages of unmotivated line-by-line proof with no context or explanation.

In other words, math is a language for formalizing intuition which, when finally written, unfortunately removes all traces of intuition and leaves only the end result of the thinking, not the path that it took to arrive at the critical insight.

<comment><USER16> That about sums it up. It's made worse by professors who have been trained to teach things in an unmotivated fashion.

I had a graduate probability teacher who said (paraphrased) "one of the beautiful things about math is that you start with a definition, and you prove some very simple things with the definition... so simple that you feel you're just using circular reasoning. Then you find that your definition is equivalent to a useful property!"

Actually, what happened when the stuff was developed is that someone wanted the useful property, and managed to rationalize a definition which fit. (example: group theory was done for hundreds of years before we had a definition of group. Noether noticed that a lot of folks were writing the same sorts of things in different contexts, so she distilled it down to three axioms.)

For a really concrete example, consider ordered pairs. A person being coy about their intent would say that "we define an ordered pair (x,y) on a set S as a set of the form {{x},{x,y}}, where x and y are in S."

It's safe to say that no one thinks of an ordered pair in that fashion. The intent was to have two ordered pairs be equal if and only if each of the two coordinates are equal. You can prove this from the above definition, but it's far more helpful to tell the audience in advance that we really want a structure with this property.

</comment></comment><comment><USER17> Math researcher here. I agree with the basic idea of this article, but not the specifics.

So: notation is a wonderful thing. If someone can improve on it, then great, but modern math notation is what makes math doable. It's true that there is poor notation and poorly used notation; these things need to be fixed.

Regardless, I agree that math is hard to read. I read a lot of math. It's hard. Part of this is because it involves abstract, complicated stuff that often must be understood _exactly_. But part is because we are not very good at writing it. Or perhaps we don't put as much effort into making it readable as we should.

Being someone who knows a fair amount about programming (or so I like to think) and also writes math research papers, I've found that some of the concepts used to manage complexity in software are also applicable to math.

In particular, I must agree about scope. I've made an effort in my recent writing to be careful about this issue. Another helpful idea involves how to write good comments in code. Too many mathematical proofs perform some operation without telling the reader why or giving any kind of overview. There is nothing wrong with saying, "Here's what we're going to do," and then doing it, and then saying, "Here's what we just did."

</comment><comment><USER18> Really good point. That always annoys me with most formulas. I have to dig back several paragraphs (with no scope/indexing tool) to figure out what the individual variables mean.

And a lot of papers do not even bother to explain some variable but just assume the reader already knows it. One of the earlier commenters made this mistake very prominently enthusing over Maxwell's equations.

Yes of course the formula looks better shorter when you already know what it means. But that completely misses the point that it was written down to explain it to someone who doesn't already know what it means. If you already do you're the wrong target audience.

Longer variable names would help. Or for online paper just have a tooltip that opens the paragraph that explains what the variable mans when you hover over it would also help a lot.

Or maybe some color coding to easily find it (there was a recent link here recent explaining FFT which used this trick very successfully)

But I guess most Mathematicians don't bother because they only write for a small circle of colleagues anyways.

<comment><USER19> Maxwell's equations were not "written down to explain it to someone who doesn't already know what it means". They, quite simply were written down to express relationships between the motion of charge, and the behavior of electric and magnetic fields as a consequence.

You have to understand the physics behind the equations (what's charge? what's an electric field) as well as the mathematical structure (what's a vector space? what's a line integral?) in order to make use of them. They are equations used to answer questions like "What happens to the strength of this magnetic field if I increase the velocity of this charged particle responsible for generating it"? They aren't meant to be explanatory (but have the beautiful side-effect of explaining how light propagates in a vacuum.)

</comment></comment><comment><USER20> The article "How to Write Mathematics"

<http://www.math.uga.edu/~azoff/courses/halmos.pdf>

by the late Paul Halmos, a mathematician famous for his clarity of writing, suggests procedures for making mathematical papers less painful to read.

<comment><USER21> Really enjoyed some of that. Thanks.

</comment></comment><comment><USER22> It seems to me like the author approaches math looking for a concise & elegant programming language, but instead just finds...math.

The notion of scope as an integral part of mathematics is a particularly interesting suggestion. Mathematics is the study of abstract, quantitative truths (and falsehoods), and these truths, being universal, have universal scope (although you can constrain some truths as special cases of more general truths, but I doubt this is what the author had in mind). To consider this a problem indicates that the author is searching for a tool rather than a way of thinking.

"Math is such a cognitive overload of operators" because it succinctly describes a great deal of action. A program in a conventional language like C might take a hundred lines to describe what could be described in a handful, using some mathematical notation. If you want a programming example, just look at the average length of an APL program vs the average length of a Javascript or C program.

Math is inherently hard. So is programming. Not many people can do either very well. Even fewer can do both very well. The notations of math are meant to be flexible because math is a tool for discovering new ideas and analyzing their properties. Programs are meant to accomplish some real world task. Criticizing the language of one solely from the perspective of the other is not a useful activity.

<comment><USER23> Completely agree with you, but from your experience, how many fewer do both very well? I have always been interested in both and I can't imagine having one tool without the other, as they both enhance the way that I think about things. Programming makes the concepts of variables and sigma notation even easier to understand, while math makes it far easier to solve problems. Do people actually get by in programming without math?

<comment><USER4> How much math do you think it took to program this website?

</comment></comment></comment><comment><USER24> > But are mathematicians too embroiled in some misguided quest for Huffman > coding?

I think that yes, they are: for centuries, mathematics has been written by hand. It's much easier to write 'f' than 'force'. on a blackboard. Moreover, when writing on paper, with ink that you have to make or buy, with a pen that wears out as you write with it, it makes sense that early mathematicians would embrace a compressed notation. Scribes even did it, so it shouldn't surprise us that mathematicians would.

The compression is based on domain knowledge, and this is only problematic for people who are not intimately familiar with the domain at hand. Physics is similar. Decoding the rocket equation is only possible when you know what m1 and m0 are, or ve, and many properties, constants, and even operations are symbolized with a single greek letter. (Gradients, for example)

This is very powerful, because (as others have mentioned) it allows you to easily write more-complex things, and often times you (as a mathematician or physicist) prefer to think at a higher level of abstraction. It also makes it tremendously arcane for those of us who don't even know the names of the greek letters, let alone have a sound backing in that particular field of math or physics.

<comment><USER25> The compressed notation is not just about saving paper and ink.

It's all about the amount of mental power and work you have to exert. If I'm filling a few pages with equations, if I have to write 'force' instead of 'f' all over the place, it's going to take me about 5 times longer. I'm going to only fit 1/5 of the content on each line and page, (OK, 1/5 might be excessive, but the principle holds I feel).

Programming languages have similar properties. Why don't we always write integer instead of int, loop_variable instead of i, and have no compact way of writing unnamed lambda functions?

</comment></comment><comment><USER26> So this article is just the author complaining that he has no practice in reading mathematics. Would you be surprised if someone who never written a computer program before couldn't understand a complicated dynamic programming algorithm? Of course not, they have no practice or background!

And for the record, computer programming is much more precise than mathematics. Most people here don't do mathematics, so they don't realize how many implicit identifications we make between objects which are very very different. In programs, correct types are tantamount to the success of a program. In mathematics, we will readily identify rings with topological spaces and never think twice. Moreover, we need to readily be able to change the rules by which we consider two different things to be identical on the fly. It is simply a different way of thinking that programmers aren't used to.

</comment><comment><USER27> Meyer's matrix analysis has an excellent, and relevant, quote:

The great French mathematician Pierre-Simon Laplace (1749–1827) said that, "Such is the advantage of a well-constructed language that its simplified notation often becomes the source of profound theories.""

</comment><comment><USER3> If we ignore the cosmological constant contribution, for each of the 10 non- zero components of the Ricci curvature tensor, the sum of the component of the Ricci curvature tensor minus half of the corresponding component of the metric tensor multiplied by the Ricci scalar is equal to four times the ratio of the circumference of an arbitrary circle divided by its radius, multiplied by Newton's gravitational constant divided by the fourth power of the speed of light in vacuum and multiplied by the corresponding component of the stress- energy tensor.

Would this be clearer than the original [<http://en.wikipedia.org/wiki/Einstein_field_equations>]? After all, I don't use any weird symbols and avoid greek letters... Surely the author of that blog post would be satisfied by this ... Perhaps, I should include what I mean by Ricci curvature tensor ... but first define what I mean by a tensor, including the metric tensor, and explain other words like stress-energy tensor; it should not take more than a few lines of text for it to be completely clear, right?

</comment><comment><USER28> Richard Feynman in one of his quantum physics lectures explains that he is going to abbreviate a few things because they are a pain to write out longhand on the chalkboard.

I think this is the main reason everything is so abbreviated, it comes from the era when doing lots of manual calculations by hand called for efficiency in notation over clarity.

</comment><comment><USER29> This is an old chestnut. Mathematical notation is terse because mathematics doesn't consist entirely of notation! Look at any book or research paper; you'll find a great deal of text surrounding equations. Comparing this to code is nonsensical. Unless you're reading something in WEB, you are much more likely to encounter code than comments. There are certainly some unfortunate conventions and cruft in mathematics, but every generation of mathematicians rewrites in part what it inherited from its forebears.

</comment><comment><USER30> The main reason it's hard to read math papers is because they contain complex, difficult ideas. Even professional mathematicians take a long time to read papers, and they usually won't be able to understand papers outside of their own specific field of math. I agree with the author that math papers could borrow some ideas from programming - explicitly defining all variables/functions, scoping, etc - but acquainting yourself with the conventions of the field alleviate most of those problems.

</comment><comment><USER31> No doubt about it, mathematical notation can be difficult to read. It's terse, conceptually dense, operators are commonly overloaded, etc., etc.

But that's not why it's hard to read. Math is hard to read, I think, because math is hard:

(1) Some core mathematical concepts are fundamentally difficult. Notions like infinity (and different kinds of infinity!) are entirely foreign to our daily experience.

(2) In addition, mathematics is more abstract than most programming. Tim Gowers, in his lovely little book _Mathematics: A Very Short Introduction_ , writes:

        What is the black king in chess? This is a strange question, and the most satis-
        factory way to deal with it seems to be to sidestep it slightly. What more can one
        do than point to a chessboard and explain the rules of the game, perhaps paying
        particular attention to the black king as one does so? What matters about the
        black king is not its existence, or its intrinsic nature, but the role that it
        plays in the game.

        The abstract method in mathematics, as it is sometimes called, is what results
        when one takes a similar attitude to mathematical objects.

This sort of abstraction is, I think, abhorred by many programmers. But it's the reason single-letter variable names are common in mathematics. There's no way to describe what a mathematical object _is_ with a name relating it to some real-world, concrete, familiar thing, as programmers often try to do. You can only describe what it _does_ by writing down some rules it obeys.*

(3) In math, concepts are inherently more hierarchical than is common in programming. As programmers, we're all familiar with building higher-level things from lower-level pieces. And we try, and often succeed, in building them up in ways that let other people use them without needing to know much of anything about the lower-level pieces. In math, there's a similar accretive process, but because the concepts are so much more abstract, it's often impossible to understand how a high-level concept behaves without understanding how its lower-level constituents behave. Mathematical concepts are _conceptually_ hierarchical, whereas pieces of programs are often _structurally_ hierarchical, but conceptually (nearly) orthogonal.

* — (A controversial aside.) An object-oriented mindset can exacerbate the problem by _demanding_ that we reify concepts into objects that represent what they "are". This is often impossible, hence the inscrutable object names we've all laughed and despaired at.

Phil Karlton's well known witticism comes to mind:

        There are only two hard things in computer science: cache invalidation and naming
        things.

Naming things is hard because, just like in math, we sometimes lack a familiar semantic reference for the concepts we deal with as programmers.

Conversely, in functional languages, there's less need to think about what something "is", because the natural way of programming is to define relations (functions) on a small number of core data structures. Interestingly, single- letter variable names are also common in some functional languages, like Haskell, because it generally doesn't matter what the data _is_ so long as you know what you can do with it. And that information is embodied in its type, expressed in its type signature, and enforced by the type-checker at compile time.

<comment><USER11> To your point on naming, the core of Hungarian Notation's thesis is that you can _never_ get a name right, due to the creeping in of unfounded assumptions due to past experiences with that name, so you're doing more damage by trying. So, create a unique 3/4 letter nonsense tag (and define it), and get on with your life. Once you do this, it's crystal clear where the gaps in your understanding are, since if it looks like gibberish, there's a gap. And when you understand it, believe it or not, it doesn't look like gibberish. (Hungarian as originally defined, ie Apps Hungarian, not the horrible Systems Hungarian that came out of Programming Windows.)

It's a powerful yet under-appreciated idea. Of course the proof of the pudding is in the eating and so it does seem Hungarian takes it too far due to it's lack of success stories. But I can't help but think if that thread of an idea were not squished so resolutely that we'd be in a better place than we are now with the problem of naming.

</comment></comment><comment><USER23> Hungarian notation for formulas would be terrible. It would make it that much harder to memorize, as well as increase the difficulty of seeing patterns between various formulas.

The real problem here is trying to force programming notation into mathematics notation. Programming variables emphasize what you're working with while mathematics variables emphasize ideas and relationships.

</comment><comment><USER32> Math notation was't so much designed as accreted, and it shows in how awkward it can get. Dijkstra indirectly makes this point (among others) in "The notational conventions I adopted, and why" at <http://www.cs.utexas.edu/~EWD/ewd13xx/EWD1300.PDF>

</comment><comment><USER33> It's hard to understand any programming language if you haven't taken the time to learn its syntax.

Unlike teaching programming, the problem I see in teaching math is that the syntax is slipped into the lessons without making a conscious effort teaching it.

</comment><comment><USER34> If someone were awesome (maybe somebody like John Resig), they could come up with a math notation framework that started terse but could expand to more detailed definitions with a click. E.g., Starts with (capital sigma) but expands to 'Sum(1..n)' and then expands again to 1 + 2 + 3 + ...n. Clicking the + changes it to 'add' which maybe links off to Wikipedia or Khan Academy. Clicking the numbers might change them to a pictograph of a group of widgets, etc.

<comment><USER35> A math IDE. I think Wolfram Alpha may do just that, then again dealing with formal maths is not my thing.

An IDE makes sense if it can encapsulate the symbols and terms you're conveying. How many programmers sit down with notepad or vi and write huge programs? Yes, some do (and I have), but it's far easier with the IDE.

</comment></comment><comment><USER36> I never posted before but this article made me so mad I had to jump into the comments!

I am so glad to find everyone pointing out all the reasons the article is wrong, actually there is a highly relevant link on math.stackexchange about this particular issue:

[http://math.stackexchange.com/questions/24241/why-do- mathema...](http://math.stackexchange.com/questions/24241/why-do- mathematicians-use-single-letter-variables/24246#24246)

</comment><comment><USER37> Mathematics is only hard to read if it has been written badly or if you do not understand all the concepts involved.

Source: I am a Mathematics student.

</comment><comment><USER38> I agree. I always felt that if math theorems were presented in a programming language, they would be way more understandable (especially if the good practices are respected: meaningful variable names, etc).

Mathematicians love to talk about rigor, but when it comes down to write their ideas, they often have little enough of it.

<comment><USER9> _I always felt that if math theorems were presented in a programming language, they would be way more understandable …._

Find out empirically! Look at theorems in some formal methods/programming languages papers and their corresponding mechanizations and see which you find more understandable. (Actually, it might be better to start with something like Software Foundations to get a gentler introduction to a programming language used for this sort of thing -- <http://www.cis.upenn.edu/~bcpierce/sf/> )

<comment><USER38> Hard to do, the one you will look at second will always be at an advantage. So you'd have to select two theorems of "equivalent difficulty", which is not easy. Also you need to select hard to understand theorems, else you'll understand both the representations easily anyway.

</comment></comment></comment><comment><USER39> The author has some preconceived notion of how math is supposed to be read, deduces that math is hard to read.

See: How to avoid "compliation errors" when reading math. [https://profiles.google.com/114134834346472219368/buzz/GPQDR...](https://profiles.google.com/114134834346472219368/buzz/GPQDR3gHsYr)

</comment><comment><USER40> People seem to be pretty critical of this post, but can anyone give me a good reason why math notation shouldn't have some concept of scope? I can't see any downsides. It would certainly help me puzzle out my professor's notes when he has used f to mean three different things in as many lines.

<comment><USER16> There is some concept of scope in math. At a fairly early level, a student learns sums and integrals. The variable of integration/summation's scope is just within the integral/sum.

At a higher level, some things have scope equal to a subfield of mathematics. A gothic p, for example, represents a prime ideal in algebraic number theory. It represents a parabolic Lie algebra in Lie theory. (Actually this causes problems when you're doing Lie theory and number theory at the same time.)

</comment></comment><comment><USER41> I think for many, the problem is pacing. When you're reading text, your eyes are moving down a line at least once a second. But reading an equation takes much longer. You have to stop your eyes and ponder every piece of it. It can help to copy it down on paper.

</comment><comment><USER42> It may not be coincidental that code written by mathematicians tends to be ... terse.

</comment><comment><USER43> > People criticize c++ because you can overload the operators to mean anything > you want

By the same people who struggle to read math, I guess.

</comment><comment><USER44> Math is the most psychedelic thing ever. It's short so you don't have to read a novel for its powerful effects to kick in.

</comment><comment><USER45> Disagree strongly. _Math_ is often the easiest and simplest thing that works for the class of problems it exists to solve.

Imagine trying to explain singular value decomposition _without_ the notion of a matrix. No group theory, no well-formed concept of a _linear transformation_ or _function_. You wouldn't be able to do it. No one even had such ideas before generations of mathematical machinery had been built.

I've come to the conclusion that there are lifer languages (/frameworks/technologies) and start-today languages. C, Lisp, Scala, and Haskell are lifer languages. (Now q, for those who've worked in finance, is even more of a hardcore lifer language.) You'll probably find them painful when you start out, but enjoy them a lot more once you really _get_ them. Python, on the other hand, is much more of a start-today language. It's more modular, you can get up to speed quickly, and it's good enough the vast majority of the time. Also a start-today language is Java, with an IDE. PHP is a start-today language. This also applies to tools. Emacs or vi (both being keyboard-driven) are lifer tools. Unix is a lifer tool. IDEs are start-today tools.

This isn't about "better" or "worse". It's about tradeoffs: with a lifer language, it takes at least a few months before you get it (you start off hating it, because it feels weird and limited) but it becomes immensely powerful once you understand it in a deep way. Start-today languages give you a lot of power to start, but then the learning curve flattens. What's better is unclear. The lifer languages have a lot of benefits and depth, but in fast- moving disciplines like web programming I'd prefer that the frameworks be start-today rather than lifer-oriented.

Math is an extreme lifer language.

<comment><USER46> I think you make a really good point about the power of mathematical notation and conventions.

However, I completely agree with the article.

Do mathematical formulas _have_ to use Greek letters rather than useful variable names like "distance" or "speed"?

Does C's syntax actually allow you to express something you can't in Python? Or is it more terse for historical reasons? (And never mind that it's a good idea to use descriptive variables and function names in either language!)

I think the keyboard-driven vs GUI tool analogy is very apt. vi is very powerful. Would the average user like it much if we made vi the interface for all text forms in browsers? I think sometimes it's desirable to present a friendlier form of a thing. (You obviously agree regarding web programming.)

So I think the complaint is this: why is math _always_ expressed in the tersest form? Is it really necessary?

Why does math have to be restricted to the lifers!?

<comment><USER26> Mathematical formulas with real-world interpretations can use those variable names. The problem occurs when the thing you're trying to express has no analogue in the real world. What variable name should I give to a reduced Noetherian subscheme of an arbitrary scheme? If you think "reducedNoethereianSubscheme" is a better variable name than X, then you'll love writing the notation for a function on it:

f: reducedNoethereianSubscheme -> reducedNoethereianSubscheme

It's surprising how everyone thinks they can make math better, but nobody even knows about what it's like to begin with.

<comment><USER10> That's totally unreadable. What is 'f'? Did you mean reducedNoethereianSubschemeTransformer?

</comment></comment></comment></comment><comment><USER47> Consider the solution to the quadratic equation

x = (-b ± sqrt(b^2-4ac))/(2a)

What is x? What is a? The wonderful thing about math is that it doesn't matter. x could be length, dollars, area, volume, mass, potatoes, lines of code, chickens, or electron-volts. But in the general case, it represents a number. Why would anyone consider it an improvement to write

Given that number1 answer^2 + number2 answer + number3 = 0, answer = (-number2 ± sqrt(number2^2-4 number1 number3))/(2 number1).

The extra characters convey no additional semantics. Even when presented with an equation where things have specific units, you can usually mentally figure out the units of everything else, due to conventions, previous definitions, and mental dimensional analysis.

In my experience, the notation isn't so much of an issue as knowing definitions, closely followed by being able to translate those definitions into intuition. You must be able to remember them exactly, otherwise nothing makes any sense, and you must have an intuition for what they mean, otherwise you'll never get anything done. Consider some terms from a recent talk I attended that was outside my immediate areas of expertise: "solvable Lie group", "left-invariant metric", "upstairs", "double cover". I was able to understand the main idea of the talk, but my full understanding of the talk was sunk by not knowing the definition of left-invariance [1].

Since math is inherently abstract, it is hard, and there is no substitute for the hard work necessary to acquire an intuition for it. When doing high-level math, it is necessary to have a rigorous intuition for the subject, where you are able to intuitively see a path to a proof, and then are able to translate that intuition into a suitably rigorous argument.

[1] To illustrate my point that knowing definitions precisely is one of the keys to understanding math, here's the definition of a left-invariant metric. Let G be a Lie group with metric <,>, L_g be left multiplication, and L_g^* denote the pullback of L_g. The metric is said to be left-invariant if L_g^* <u,v> = <u,v> for all u,v in G. It makes no sense unless you know what metrics, Lie groups, left multiplication, and pullbacks are, and you'll only shoot yourself in the foot if you can't define them precisely.</comment>


You should Heroku - <AUTHOR> http://pydanny.github.com/you-should-heroku.html <comment><USER2> This is the main reason I chose Heroku. I noticed that at previous jobs I'd spend at least a few hours every week maintaining hardware.

In the end the ease and reliability are what sold me.

</comment><comment><USER3> Good reading for anyone who's doing a startup and spending a lot of time maintaining servers.</comment>


Why Do Men Fight?: An Interview with Thomas Page McBee - <AUTHOR> https://longreads.com/2018/08/22/why-do-men-fight-an-interview-with-thomas-page-mcbee/ <comment><USER2> Women fight too though</comment>


Ask HN: Upon startup acquisition, can exercised equity be re-vested? - <AUTHOR> Hi
For people who have gone through a successful startup acquisition, has it ever happened that the acquirer company made you re-vest the equity that you already vested and exercised? And, if they did that, how did it work with employees who exercised their equity and then left the startup before the acquisition happened, bringing the equity with them? Were they subject to a new vesting schedule even if they were outside the company? Because that doesn't make a lot of sense.
Intuitively I would say that all the vested and exercised equity should be paid immediately shortly after the acquisition (regardless of whether one is inside or outside the company), and the unvested portion might get a new vesting schedule?
For this example I am assuming that the startup is selling at a price significantly above the last valuation, so all preferred shares convert to common and the terms were clean: 1X liquidation preferences, non-participating, and there was never emission of debt.
To be more specific, I happen to be an ex very early startup employee who left with a significant amount of equity. I was able to offload some of my equity to investors who contacted me privately, but I held on to the majority, and it looks like the startup might soon get acquired, and from the rumors I heard the rest of my pot might be worth a significant amount (low-mid 7 figures).
I will of course look for legal advice, but some tips one can get from experienced HN folks are invaluable as well.
Thanks <comment><USER2> If you already own x% of the company it sounds like they are wanting to make installments on the purchase of the company via 're-vesting'. I.e., rather than pay 100% to own your shares, they want to own 100% of your shares, then pay you a portion of X over time. I assume this means they will be paying interest on the loan you are giving them.

<comment><AUTHOR> To be clear, I'm not assuming the acquiring company will do any of this. I just want to gather collective wisdom as to what are the ways through which acquirers can impose additional handcuffs to existing and former employees, in order to delay their ability to liquidate their vested shares.</comment></comment>


How Hospitals Coddle the Rich - <AUTHOR> http://www.nytimes.com/2015/10/26/opinion/hospitals-red-blanket-problem.html?_r=1 <comment><USER2> Sounds like this is actually a pretty reasonable practice. You know that the NY Times would be hammering any sort of unethical results of this practice but this is the worst that the author can come up with:

> [Rich patient to author:] "Doctor, I'd feel more comfortable if we stayed > [at the hospital] another night, just to be safe."

> Although there was no medical reason for him to stay, I smiled politely and > said, "Yes, that's absolutely fine."

Interesting story overall. I get the sense that the NY Times desperately wants there to be a class warfare angle here but seems pretty well handled by the doctors and the hospital.

</comment><comment><USER3> You can see this trend even outside the hospital, for example in primary care, with some doctors choosing to open concierge practices. In return for a few hundred dollar annual fee, you have a doctor responsible for perhaps 1/3rd the total number of patients. Meaning he or she can spend 3 times more time with you. For every MD/DO who reduces their patient panel, it's likely that a mid- level provider (nurse, np, or pa) picks up the slack. I would expect this trend to continue in the future.

<comment><USER4> You start describing a very positive situation where a Dr. is able to spend more time with a patient, but then immediately turn it into a zero sum situation where people have to be relegated to lesser care.

How about having more doctors in general and overall better standards of care? I'd gladly pay a few hundred a year to be able to get the care my family needs. Following the changes from affordable care act (aka obamacare), the main medical group in our city turned into something akin to cattle processing facility. Doctors are encourage to spend less than 15 minutes per patient! When we needed an urgent appointment for something that wasn't bad enough for a 911 call, but certainly had the potential to turn in to one if neglected for a few days, all we were offered was a slot 2 MONTHS from the date of the call!

I eventually escalated and escalated, but it turns out the supervisor I talked with simply double-booked our doctor...

If we can add money to the system that allows for better doctor/patient ratio, why is it a bad thing? Sure, the economics have to make sense and the real price of this "luxury" should be charged.

<comment><USER3> It's zero sum in that there are a fixed number of doctors today. We could train more, but the focus in health care is on decreasing costs, not increasing them. I can also tell you from experience that unless you are called to primary care in a near spiritual way, it's just not a very appealing job (work hours, environment, and compensation after many years in school).

</comment></comment></comment><comment><USER5> Interesting. Health care is a problem in capitalism, and this is another variable.

I wonder if there should be a distinction between how the hospital is funded, just like how public schools cannot have a religious affiliation. But I don't know enough about hospital/health care funding to form an opinion here.

<comment><USER3> I think capitalism just reflects how the red blankets are allocated in this case but the underlying story is about subtle inequalities that have always existed since the big bang. Presumably there would be red blankets in every system, e.g. in Cuba or Soviet Russia the party members had red blankets too. If you make the hospital completely independent of any outside influences and mandate no favoritism of any kind, there are still 'friends and family' of employees and so forth. Ultimately our best hope for narrowing inequality seems to come from technology and technology enabled processes that are simply unable to discriminate. If a future MRI machine is invented that can read its own scans as well as a top 10% radiologist, then every patient benefits and the subtle discriminatory tendencies inherent in human nature are rendered obsolete.

</comment></comment><comment><USER6> Not sure why anyone would be surprised by this. Providing health care costs money and is run by human beings. I don't see why health care would somehow be immune to basic economics and incentives. People who pay more get better service, no matter how distasteful that may be. Trying to make administration of health-care more "fair" often just means making private health care illegal, which doesn't really benefit anyone.

</comment><comment><USER7> Hospitals are trying to make good business. I see some of them are building hotel like structures for the rich, really great interior, luxurious and patients are treated a total VIP. Money Matters.</comment>


Founders: Do Not Waste Money on TechCrunch Disrupt's Startup Alley - <AUTHOR> http://calacanis.com/2016/03/24/founders-do-not-waste-money-on-techcrunch-disrupts-startup-alley/ <comment><USER2> I love the we select on merit part.

Isn't success the only measure of merit for a company?

If they have not succeeded yet they have none. It they are ready to share their income with someone else, they lose benefits hence it is admitting they partially failed.

If they cannot find investment, it means the bank already refuses them an interesting credit, or banks are not doing their jobs? Oh yes they are, they invest in companies investing, that invest as a proxy. With every level of indirection there is loss.

QE are puting a lot of money on the market, companies are sprouting like mushrooms, and then like NSA chocking on too much data, investors are losing efficiency in searching a needle in a haystack. Hence more money is lost in the process.

Not enough competition result in a bad state of the market. Too much result in an unsustainable market, especially when it is biased. Investor's money can make a company hold a market while losing money for enough time to kill the competition while having no merit other than the ability to have investments. Even the market of VC is showing signs of inefficiency.

Well, welcome to our world where "Free" market is failing even the top of the economical pyramid.

When our believes result in constant failures, we should stop believing in old fantasies. Free market and "laissez faire" do not self regulate itself in a virtuous way anymore. I suggest we try to understand how we failed and how to come back to the conditions in which it was working.

</comment><comment><USER3> It depends. Pied piper did fairly well.

</comment><comment><USER4> It's a compelling argument he makes. Why would you spend $4k for an event to raise money instead of pitching normally and investing in your fledgling business?

</comment><comment><USER5> I went to the Disrupt thing as a volunteer. It's not bad value if you pay nothing and you still get to chat to people.

<comment><USER6> Well, everything for which you pay nothing is "not bad value."

<comment><USER7> It still costs time...

<comment><USER5> I felt it was time reasonably well spent.

</comment></comment></comment></comment><comment><USER8> "Don't fall for their ripoff. Fall for _my_ ripoff!"

<comment><USER9> You mean my ripoff where I give 250 startups tables for free and 15,000 founders free tickets to the event? :-p

</comment></comment><comment><USER10> Founders should avoid many of such events. It is waste time and money. I agree that founders should spend every extra dollar for marketing and customer acquisition.

<comment><USER11> it has been said before but it bears repeating: founders would do well to have a few hundred thousand dollars of their own money. If you don't have this money, you should be making money from day one doing something else. airbnb sold cereal.

Let me repeat this: in order to get cold, hard, cash, to create airbnb, airbnb founders _sold cereal._ A fast-moving consumer good.

Get money.

<comment><USER12> Down-voted because people find it romantic living on cereal and a friends couch, all while having employees completely satisfied being paid in equity and high fives.

</comment></comment></comment><comment><USER13> Tech who?

</comment><comment><USER14> Internet engineers: target TechCrunch and set BGP routes to stun, i mean, to the nearest black hole.</comment>


There's a new report on SLS rocket management, and it's pretty brutal - <AUTHOR> https://arstechnica.com/science/2018/10/theres-a-new-report-on-sls-rocket-management-and-its-pretty-brutal/ <comment><USER2> I think of how in the 1980s they considered all kinds of plans to make new rockets out of space shuttle parts, enough to convince anyone that you couldn't possibly save money that way.</comment>


Better is better than worse: a week with Hy - <AUTHOR> https://0bin.net/paste/xmJWIlIv+Ws+Fbjs#zCyc4Yc4T+YISv3MHwMTwScu0as4xzqjns9YKaw1v1k <comment><AUTHOR> I caught this last night on HN in a bout of insomnia and thought it deserved another shot at exposure, particularly since I'm beginning to use Hy myself (thankfully not in such a high pressure environment).

I wanted to DM dang first to ask about reposting rules. I hope he won't mind flagging it down if it runs afoul of them.</comment>


#ifdef Considered Harmful [pdf] - <AUTHOR> http://www.chris-lott.org/resources/cstyle/ifdefs.pdf

<comment><USER2> Please add (1992) to title (that's the year it is from). Things haven't changed that much since, but ... it's good to put things in context.

<comment><AUTHOR> Sorry, but too much time has passed since the submission for HN's interface to let me edit the title any more.</comment></comment>


Agile Physics Research (Parody) - <AUTHOR> http://involution.com/2008/09/25/agile-physics-research

<comment><USER2> It's remarkable how ridiculous "agile" is when applied to any other field. In fact what's remarkable is that this ridiculousness isn't immediately obvious to otherwise-intelligent programmers.

<comment><USER3> Is it the programmers that push for it, though, usually? I think management (at least mine) likes the fine-grained control + reporting (and the /name/!), and the rest is catch as catch can.

<comment><USER4> Programmers tend to push for more testing, continuous integration, lots of short iterations, quiet time and space.

Management tends to push for more meetings, more things you can track and measure and more tracking and measuring and ways to lover cost.

None of this is bad, what's bad is that where ever there is turmoil, good ideas and crap ideas get mixed up.

Like pair programming and/or co-location vs. private quiet offices.

</comment></comment></comment><comment><USER5> Wow, that went totally over my head.</comment>


Standing Up to a Dangerous New Breed of Patent Troll - <AUTHOR> https://blog.cloudflare.com/standing-up-to-a-dangerous-new-breed-of-patent-troll/ <comment><USER2> Cloudflare says that it is willing to spend up to $50,000 to award people who dig up prior art that invalidates Blackbird's patents ($20,000 for prior art related to the lawsuit and $30,000 for prior art related to Blackbird's other patents).

BUT (and it's a big but, Sir Mix-a-Lot) ...

> These opportunities remain open as long as Blackbird's case against > Cloudflare is still active.

So, what will likely happen is that as soon as Blackbird spots this blog post and realize that Cloudflare has no intention of settling, they withdraw their suit, and that means Cloudflare doesn't have to pay anybody a prior-art bounty.

That would actually be in keeping with a patent troll's M.O. They don't want to waste their time actually pursuing lawsuits against companies that are willing to push back. Instead, it's much more lucrative for them to shake down easy targets and reach a quick settlement.

<comment><USER3> For smaller companies and orgs, or individual software developers, I wonder if it now makes sense to pay into some sort of common "patent troll insurance pool" (I'm sure someone's suggested this already). If any member of the pool gets sued, the pool puts out patent invalidation bounties on the troll's entire portfolio and (for an additional premium) covers part of the legal defense in case there's a trial.

a) it can be structured like a credit union or something and owned by its members (reduces incentives for it to grow beyond what's necessary)

b) make it retroactive i.e. you don't have to already be a member to get protection. you can choose to buy in after you've been sent a letter

c) a protection pool of sufficient size and resources might do enough to invalidate so many patents that trolling simply becomes unprofitable. EDIT: Especially if suing a pool member poses an existential threat to the troll in the form of invalidating their entire portfolio. As Cloudflare have shown, you only need one party to stand up for themselves and contest the patents. In that case, premiums go down long-term

This is obviously different from patent pooling and cross-licensing agreements companies use to defend themselves against other practicing entities.

<comment><USER4> > make it retroactive i.e. you don't have to already be a member to get > protection. you can choose to buy in after you've been sent a letter

So why would anyone buy in before they get a letter, or maintain their membership once they're no longer in court?

<comment><USER3> > So why would anyone buy in before they get a letter,

Plenty of people have already gotten a letter; if they all pooled their resources they'd have a decent defense fund already.

> , or maintain their membership once they're no longer in court?

This one, I agree, is harder. Best I can propose is a minimum 5 year membership once you've been sued. Or tweak it some other way so that membership is slightly cheaper, or about as much as, settling.

<comment><USER5> Or, incentivize membership by having the group own a bunch of patents, and then sue people who don't pay their membership!

The ultimate protection racket! "You've got a nice product here, shame if a lawsuit happened to it..."

Wouldn't you know, it already exists: [https://en.wikipedia.org/wiki/MPEG_LA](https://en.wikipedia.org/wiki/MPEG_LA)

<comment><USER3> Yeah it's a fine line between "insurance" and "protection".

The key distinguishing factor here is the protection pool actively seeks to invalidate bad patents. It could also lobby for patent reform. By doing so, it makes patent trolling less profitable and thereby, reduces the need for itself in the future. It's like a health insurance company funding research into perfect health and immortality (but more achievable).

</comment></comment></comment></comment></comment></comment><comment><USER6> Woah, looks like this patent troll picked the wrong company to sue. Cloudflare is going after them _hard_:

> Step 1 — Cloudflare will fight this case in the courts

> Step 2 — Cloudflare will fund a crowdsourced effort to find evidence to > invalidate Blackbird's patents… all of them

> Step 3 — Cloudflare will investigate Blackbird's operations to develop facts > that support our arguments in the litigation and expose how patent trolls > really operate

> Step 4 — File complaints against Blackbird attorneys by bar association > disciplinary counsel in Massachusetts and Illinois

<comment><USER7> Step #4 is going right for the throat: their ability to practice law _at all_. That's a big "and fuck you too" on top of the other stuff which is only meant to shut down Blackbird's operations as a patent troll.

I have no sympathy for patent trolls any more than I do other extortionists - whether "technically it is legal" or not.

<comment><USER8> If they can truly bar them from practicing that would be the ultimate win. It would also send a message to new wanna be trolls that life is a troll isn't lalaland.

</comment></comment></comment><comment><USER5> The "new breed" is described as:

"""Blackbird combines both a law firm and intellectual property rights holder into a single entity. In doing so, they remove legal fees from their cost structure and can bring lawsuits of potentially dubious merit without having to bear any meaningful cost. """

Prenda Law already patented that breed. Expect infringement suit shortly.

<comment><USER9> Prenda Law were copyright trolls, not patent trolls.

(Also, Prenda Law were actively inducing the infringement that thhey were prosecuting, and inventing shell companies as fake clients to conceal their own interest in the litigation.)

<comment><USER5> Your effort at being pedantic falls rather flat, as the "new breed" was described as "combines both a law firm and intellectual property rights holder into a single entity". The description did not specify patents.

Clearly, the Prenda-Structure patent reads on this infringing Blackbird organization.

(Also, it was a joke.)

</comment></comment></comment><comment><USER10> We need more companies to do this. Hopefully Cloudflare and Newegg will set an example for other companies . But, what we really need is proper reforms to the patent system .

<comment><USER11> Yes and yes! Mitigations like these are completely impossible to go through if you do not have a _really good_ amount of money lying around (and that you'll never have it back), and even individuals (not only big corps) are subject to trolls. I remember a guy posting videos explaining how he was being sued for infringement because he downloaded something from the app store which was an infringement within his state (I don't remember exactly which one, but my guess is Texas).

Really hope these new tech companies can "disrupt" this kind of practice, but they do have to get together and agree on some sort of action. Newegg and cloudflare fighting back is great, but if facebook, Netflix, Apple, Microsoft & co join the cause, I'm sure trolls will have a good reason to, well, not troll.

</comment></comment><comment><USER12> _Blackbird combines both a law firm and intellectual property rights holder into a single entity. In doing so, they remove legal fees from their cost structure and can bring lawsuits of potentially dubious merit without having to bear any meaningful cost._

If there is a place where government regulation can do some good, this might be it. The combination of these two kinds of company represents a moral hazard. There is a precedent for this kind of regulation, which mandates the separation of certain kinds of companies:

[https://en.wikipedia.org/wiki/Separation_of_investment_and_r...](https://en.wikipedia.org/wiki/Separation_of_investment_and_retail_banking)

EDIT:

 _increasingly in the world of software or tech patents, the trolls rely on the broadest possible interpretation of vague or generalized patents to sow as much uncertainty as possible._

I've run across people involved with patent law here and on reddit, and they seem to get triggered by laypeople ridiculing the vague and abstruse nature of patents. (Really, go and read some! Try searches for video on the Internet!) I find that also weird, in the same way that a lot of legal stuff is weird.

 _And about 70% of all patent infringement claims are filed by patent trolls, a share that has more than doubled in recent years. It is estimated that litigation initiated by patent trolls in U.S. courts cost companies as much as $30 billion in direct costs, a number that has increased more than four-fold over the last ten years._

Interesting statistic. If the preponderance of patent claims run counter to the original intent of the mechanism, then something is clearly wrong.

<comment><USER13> Without addressing the validity of patents or the appropriateness of NPE suits, which is being covered elsehwere in the thread...

Are "legal fees" that much more expensive than the cost of actually doing the legal work required?

A lot of companies have in-house lawyers, what's the difference between a NPE with in-house laywers to file patent suits, and a law firm that acquires patents to file patent suits? Or even, the difference between that and an NPE hiring an outside law firm which charges a very low margin (possibly with a contingency fee as well)?

</comment></comment><comment><USER14> Most patents are probably not valid, and most patents used in licensing offers / threats are probably not strong enough to avoid being invalidated or found not infringed if litigated, but the would-be licensor / troll counts on the threatened party to settle rather than pay millions of dollars for litigation.

While there aren't any easy tactical solutions and a policy fix is a dim hope, we should be able to at least partly solve the problem by training an AI to do automated and thorough prior art search and analysis relevant to a patent, so a lot of the legwork of a patent litigation threat becomes orders of magnitude faster and cheaper, and it becomes vastly easier and less intimidating for a trolling target to respond to a patent threat like this, and quickly get their focus and resources back to developing their technology. Software eats patent attorneys, and reduces the burden of patents on the technology community.

(disclaimers: I am a patent attorney and I'm currently working full-time on coding a patent search & analysis AI service, this is not legal advice, etc.)

<comment><USER15> Seems to me, the same technology could be used by the NPEs too, though, to find new troll targets.

<comment><USER14> Patent owners could use it too, but overall it would make invalidating patents and resolving patent disputes faster, easier, and cheaper.

</comment></comment></comment><comment><USER16> 1\. Everyone who gets sued by a patent troll is going to complain about the validity of the patent. Even when the patent is, in fact, completely valid.

2\. Patent troll + Law firm is not a "dangerous new breed". This has been happening for a long while now.

3\. It seems strange to complain about the being sued for patent infringement while owning '150' patents. Do you agree with patents or not? If you agree, then being sued for patent infringement is part of it. If you disagree, why invest so much? I understand the argument of patents being defensive, but, does that really help in a world of patent trolls? More likely, a company eventually goes under and the patents are acquired on the cheap - by a troll.

4\. I think the "we will pay you a bounty to help make our problem go away" approach is interesting and I hope it works. ...but it's very self serving. Maybe just pay a law firm $50,000 to invalidate the patent rather than making a contest out of it.

To be fair, I really don't understand the concept of a software patent. If I can implement it then it is fair game.

<comment><USER17> 1\. That is another issue, the USPTO issuing patents that shouldn't be issued.

3\. They don't seem to be against patents, just against non-practicing entities. Did you even read the article?

<comment><USER18> I hate patent trolls with a passion, but these non-practicing entities are are just another negative by-product of what has devolved to be a negative system. Patents originally existed to protect inventors. Today, like in other legal systems, they have very little to do with justice and a lot to do with "whoever has the gold makes the rules". As such, while I definitely side with CloudFlare, it does seem like a complaint of "not fair, they are manipulating the rotten system better than us"

</comment></comment></comment><comment><USER19> > As explained later in this blog post, we plan to (i) contest the patent > lawsuit vigorously, (ii) fund an award for a crowdsourced search for prior > art that can be used to invalidate Blackbird patents, and (iii) ask the > relevant bar associations to investigate what we consider to be violations > of the rules of professional conduct by Blackbird and its attorneys.

Interesting. Seems to be more of a long term solution than just "We'll stand up for ourselves because we can"

</comment><comment><USER20> If patents help society, then patent trolling is not always a destructive process. In fact it's how things ought to work, if you accept the premise (which I don't). And if it's sometimes a good thing, actually it's not illegitimate to hold in an otherwise unproductive company. It's just like owning a bar of gold: does nothing for anyone, but it's an asset for the owner.

<comment><USER21> But it's not like gold. Gold is physical - it requires that you do something to obtain it somehow, and it's (generally) clear who rightfully possess that particular piece of gold at any given time.

Patents are ideas. Two (or more) people can independently come up with exactly the same idea, sometimes in very different contexts. The patent system rewards the person who files a patent for it first, and in fact, for the patent troll, it's particularly lucrative when _other_ people execute successfully (which generally means they've actually contributed something of value to society).

<comment><USER20> Well, yes. I did mention that I don't believe in the premise.

</comment></comment></comment><comment><USER22> Just want to provide a contrarian view here: patent assertion and 'trolling' is not necessarily a bad thing in theory. It can create a secondary monetization route for inventors, instead of asserting it themselves. Now, that's all predicated on the validity of the patent and the degree of infringement, but it's not always a bad thing.

<comment><USER23> Can you cite an example of a firm operating along Blackbird's structural business model -- except adhering to a policy of asserting only patents that carry a plausible claim to validity?

</comment></comment><comment><USER11> Man, if I were a millionaire I'd gladly spend a good chunk of my money and time to fight back those trolls. (Maybe someday :)

In all seriousness, good move on fighting back and actually standing against those bullies. Naming the individuals and companies involved could maybe get you in legal trouble? Anyway, surely you've already discussed this internally and decided to name them. Honestly, I like it. It's probably the only way to stop patent trolls: Get their names dirty on the Internet, which never forgets.

I wonder if moves like this are known to people outside legal and tech. My guess is the public in general has no idea of these practices, which makes it harder to fight against because there is almost no reaction / backlash. (I'm not from the US, maybe people do know about them).

</comment><comment><USER24> It may be small potatoes, but I'm voting with my wallet by upgrading my Cloudflare account from free to paid. Not because I need the additional features, but to support this fight.

</comment><comment><USER25> Many (most?) patent troll suits are on contingency anyway, so this isn't really particularly "dangerous."

</comment><comment><USER26> About the claim that the patenterrorists here have offered a contingency to the previous patent holder in addition to $1, wouldn't it be much more plausible that they threatened said holder with a patent lawsuit which they would not bring if they paid their extortion fee, in the form of the rights to the patent?

<comment><USER27> That wouldn't be "extortion" in the legal sense, which (typically) requires the thread to be something illegal, or otherwise unusually damaging to the victim. Simply saying "give me X or I will sue you" is just how it works.

</comment></comment><comment><USER28> I submitted a few different examples of (what I think is) prior art for the 335 patent. My favorite is this one, a multi-user shared annotation system based on an HTTP proxy:

[http://web.archive.org/web/19970606225031/http://www.osf.org...](http://web.archive.org/web/19970606225031/http://www.osf.org:80/www/waiba/papers/grpannot/grpannot.html)

Basically, you could submit annotations to be placed at any point in the document, and you and other users of the annotation server would see them (literally inserted into the HTML file). It was a crude and slow system, but the authors planned to replace it with a Java applet in the future. According to them, "since it is expected that the Java run-time system will be an integral part of all future web clients, this remains a pan-browser solution."

So many failed dreams… not just Java, but the whole idea of a user's browsing experience being theirs to command and design, with the server's response only a suggestion. Maybe I'm being overdramatic. Browser extensions, custom CSS, user scripts, etc. can do the same things today – and of course they're far more capable, in terms of the range of functionality exposed, and indeed far more popular – but I still feel like there's something missing. Semanticity, maybe. So many pages these days are just blobs of minified JS and CSS that (intentionally or not) prevent you from understanding the structure of the document without extensive reverse engineering.

…anyway, I'm getting off topic. I think it's prior art because it satisfies all the conditions of at least some of the claims:

 _1\. A method for providing an internet third party data channel, said third party data channel being established within an existing data channel between an internet server and an internet client, said third party data channel connecting a data source distinct from said internet server to said internet client, said method including the steps of:_

existing data channel: the HTTP connection

internet server: original website; internet client: user's browser

data source: annotation server's repository of data

third party data channel: connection between proxy and annotation server

 _a) using a processing device distinct from said internet server for monitoring said existing data channel for a data communication having a predetermined property, said data communication having an intended recipient of one of said internet server and said internet client,_

processing device: HTTP proxy (in the paper, it's separate from the annotation server, one of those trivial details that can make a big different w.r.t. patents)

data communication: HTTP response

predetermined property: various; probably it checks the HTTP status code, though I haven't checked the implementation

 _b) upon detection of said data communication, performing:_

 _b1) the step of accessing said data source to obtain third party data,_

(querying the annotation server)

 _b2) a step selected from the group consisting of the step of modifying said data communication in response to said third party data and the step of replacing said data communication in response to said third party data to obtain a resultant data communication, and_

(modifying the response to add annotations)

 _b3) the step of sending said resultant data communication to said intended recipient._

(returning it to the user)

Though, while writing this up, I realized there's one potential problem. At a literal level, the proxy does not "monitor" packets waiting for a HTTP response to the browser. Rather, it receives requests and makes its own request to the server; arguably that is not an "existing data channel", and arguably the site's response is directed towards _the proxy_ , not the browser.

Luckily, the patent's description seems to explicitly disclaim this interpretation:

 _For example, a proxy can be thought of as an application level router, not contributing to the data stream being transported through it. This logical transparency of a proxy is maintained even if the proxy, in fact, forwards cached copies of requested objects to a client._

</comment><comment><USER29> > Of course, the patent troll system attempts to shield Mr. Kaufmann and his > companies' operations from the lawsuit by having Blackbird become the owner > of the patent — even if Mr. Kaufmann maintains an interest in the > litigation.

Can't Cloudflare still have their lawyers go look at the original patentees for possible infringement and file a suit against them?

</comment><comment><USER30> >Make no mistake, Cloudflare is a strong supporter of the patent system.

Well this is pretty rich.</comment>


Show HN: Work Hard Anywhere – The best laptop-friendly cafes and workspaces - <AUTHOR> http://workhardanywhere.com <comment><USER2> > Proudly collected 2544 workspaces across 632 cities from 57 countries.

I do a lot of travel and work. These numbers do not sound like a lot, as I assume a strong focus on the US and I live in Europe.

If I could search on your website and have surprising results (more then expected || new places || unexpected details), that might have convinced me to install the app. Now you didn't.

<comment><USER3> I'm not 100% sure, but I believe those are only spots that have been reviewed by WHA users. The app itself still has tons and tons of spots (I think from Foursquare data?) that are pinned on the map but needing some feedback from users. It looks like the creators are watching these comments, so please correct me if I'm wrong.

<comment><AUTHOR> You're 100% right, the numbers are spots that are reviewed by WHA users. The Foursquare spots are still on the map, but aren't counted because we don't have the work-related attributes yet.

</comment></comment></comment><comment><USER4> Is that just a copy of [https://workfrom.co/](https://workfrom.co/) ?

<comment><AUTHOR> Love what workfrom is doing. We're both in the same space in empowering remote workers, but Work Hard Anywhere focuses on mobile, for on-the-go folks. And more than that, we'd like to encourage our users to build their own coffice community by sharing what they're working on, so people who are in the same space can find ways to network and collaborate with each other.

<comment><USER2> I like the idea to know who else is 'in da house'. Its not clear (enough) from the website.

<comment><AUTHOR> Cool, that sounds great! We'll make it more prominent on the website. Thanks again.

<comment><USER2> It might be a way to better promotion if you can turn this (or something else) into a selling point to the individual workspaces. To get them involved into 'selling' your app.

Because I really think its difficult (actually almost impossible) to sell to all individuals like me. You are not tre first and not the last offering this kind of 'directory'. You need critical mass. By offering something unique and/or promote differently. If there is a benefit (added value) for the workspaces then they might be compelled to do the selling for you. Much easier ;-)</comment></comment></comment></comment></comment>


Why does Russia,146M people,have fewer coronavirus cases than Luxembourg? - <AUTHOR> https://www.cnn.com/2020/03/21/europe/putin-coronavirus-russia-intl/index.html <comment><USER2> There's a saying in business and science - "If's it's not documented, it didn't happen."

Similarly in disease outbreaks. If you don't test, and keep testing, you have no idea whatsoever how widespread the disease really is, and how well your prevention and treatments are doing.</comment>


Ask HN: Best way to get started freelancing? - <AUTHOR> How did you or someone you know get started? Why did you choose freelancing (so I can see if I'm doing it for the right reasons)? If you could go back would you pick that career path again? <comment><USER2> I got started on Freenode IRC channels - someone had a question and it turned into a couple of years of freelance work. I went through marketplaces, but even 10 years ago, the race to the bottom made them an unprofitable channel.

Freelancing lets you build up a portfolio of work, build relationships with people who can give you work or referrals, solve problems in different domains with different tech stacks, and test yourself as a sole proprietor. It helped me get a lot of experience in a short time.

Times change and these days I would only recommend freelancing for people starting their careers or for people who need some income quick. There are a few issues: you usually won't be trusted to work on mission critical parts of the business, clients care less about quality than you do, sometimes you have to take work that's incompatible with your career goals, and price-sensitive clients can be difficult to deal with when it comes to payment. Looking back, I'd likely do it again, though I'd charge more and be more selective about projects.

<comment><AUTHOR> > solve problems in different domains with different tech stacks

I find this aspect most appealing.

> build relationships with people who can give you work or referrals > I'd > charge more and be more selective about projects

These are probably harder to do when just starting I assume. I have near 0 tech network other than old employers. But maybe that's a good place to start though.

Thanks for the comment. It gave me some new things to think about.

</comment></comment><comment><USER3> One way to go about it is to:

\- Start a company

\- Contract with enterprise clients as a company

\- Charge appropriately

The money you can charge as a "freelancer" vs as a company is not the same. You will be able to build a brand around that company in a way that's different than a physical person, who may be unstable, disappear, etc.

If you go that route, please have an attorney write your contract drafts and never sign anything without your attorney looking at it.</comment>


How to Remember Anything Forever-ish - <AUTHOR> https://ncase.me/remember/ <comment><USER2> I can't recommend anki enough for people interested in this.

</comment><comment><USER3> Other relevant spaced repetition discussions on HN:

[0][https://news.ycombinator.com/item?id=17706776](https://news.ycombinator.com/item?id=17706776)

[1][https://news.ycombinator.com/item?id=17846356](https://news.ycombinator.com/item?id=17846356)

[2][https://news.ycombinator.com/item?id=13151790](https://news.ycombinator.com/item?id=13151790)

[3][https://news.ycombinator.com/item?id=6461936](https://news.ycombinator.com/item?id=6461936)

[4][https://news.ycombinator.com/item?id=14155074](https://news.ycombinator.com/item?id=14155074)

[5][https://news.ycombinator.com/item?id=11408447](https://news.ycombinator.com/item?id=11408447)

[6][https://news.ycombinator.com/item?id=17460513](https://news.ycombinator.com/item?id=17460513)

etc.

TL;DR: You learn better if you revisit the material in exponentially- increasing time intervals. This can be automated.

SuperMemo is the original software (by the inventor of the technique). Anki is the recommended free alternative.

</comment><comment><USER4> So... I am curious. I used Anki a lot for learning languges, but I never used it for programming.

Can anyone recommend it for learning syntax?

I am going to give it a try

Edit: Googling on hackernews actually gives some previous discussions. One of those: [https://news.ycombinator.com/item?id=10247471](https://news.ycombinator.com/item?id=10247471)

</comment><comment><USER5> Nice article, for tho's who wants to know more about the art of memory, there is a nice video that explains clearly that in TED [https://www.youtube.com/watch?v=VQKt58kuEnk](https://www.youtube.com/watch?v=VQKt58kuEnk)

</comment><comment><USER6> That is awesome! Very engaging, informative and useful!

<comment><USER7> I agree. I find an article like this very useful. Glad I saw it!</comment></comment>


The Impact of Zoning on Housing Affordability (2002) - <AUTHOR> http://www.nber.org/papers/w8835 <comment><AUTHOR> If you care about places like Silicon Valley or New York, or if you care about social justice across (and within) generations, it's time to research and understand why housing is becoming increasingly unaffordable in the most dynamic areas of the world. It's not due to lack of land.

In California, we have a chance to fix things. SB-827 is a new bill that prevents local governments from banning density near public transit. It is the _most radical_ housing bill in decades, because it rebalances zoning control from the local to the state level. It could result in 3 million new units being created in California, a state that builds <100k per year.

[https://standupcalifornia.com](https://standupcalifornia.com) (this is a website i set up to support this issue, which i see as the most important political issue for myself and my friends, and our ability to stay in our communities)

<comment><USER2> If you care about the rest of the country you should ask why the fire hose of investment money is directed at SF and New York and not elsewhere. Instead of asking what's wrong with San Francisco. Why not ask what's wrong with the rest of the US?

Sure I can name a bunch of reasons why little housing is built in California, we can start with the Libertarian wet dream that is Prop 13. Prop 13 does two things, removes any incentive for muni's to approve new housing. And starves the government of funding to pay for public goods like schools and mass transit. The zoning restrictions Libertarians bitch about are partly the direct result of that.

Okay fine. But then still the question is, even if we admit California has issues, why is it that corporations which are totally free to locate elsewhere aren't doing so? You would think with a large cost differential corporations would move. Why not?

Because neoliberal conservative dominated governments in the rest of the US means that VC's, engineers, and mangers don't want to live in those places at all. So they and their companies are paying a large premium not to.

No workers don't want to work in 'right to work state' They don't want to send their kids to schools that teach creationism and abstinence only sex education. They don't want to live in communities with bad family planning.

<comment><USER3> I don't really follow what message you're trying to convey, but it sounds a lot like that you're starting the problem is with the demand for real estate in Silicon Valley, not the supply.

This isn't the case. Silicon Valley, Seattle, etc. are just on the leading edge of a larger tend towards greater urbanization. It's a pattern that's also happening in Austin, Portland, and more cities just to less extreme degrees. The simple fact is that in a developed country dense population centers are more efficient - both economically and environmentally.

<comment><USER4> I'd be careful with "simple facts." Rarely do they turn out to be simple. Show me the evidence that dense urban areas are economically AND environmentally more efficient. The environment part seems especially suspect.

To a large degree we're still living in the shadow of the industrial revolution, when workers flocked to cities for work. As a telecommuter, my quality of life is a thousand fold higher than my co-workers in the D.C. or Dallas metro areas where it seems many people find themselves alone in a sea of humans and chronically maligning poorly planned mass transit.

<comment><USER3> The economic efficiency is demonstrated by the greater job growth in urban areas. I'll easily find stats on this when I get off mobile. And this is the first time I've heard someone claim that sprawl and dispersed populations are environmentally better than urban areas. Not only do dispersed populations need greater land development, they need significantly more energy used in transportation to deliver the same quality of life. I saw a stat that compared the per capita carbon footprint of wealthy countries and it was essentially inversely proportional to levels of urbanization. And like the economy one, sit tight for an hour or do for me to get home and share this data.

Sources for greater economic growth in urban areas:

[https://www.ers.usda.gov/topics/rural-economy- population/emp...](https://www.ers.usda.gov/topics/rural-economy- population/employment-education/rural-employment-and-unemployment/)

Countries by CO2 emissions per-capita: [https://en.wikipedia.org/wiki/List_of_countries_by_carbon_di...](https://en.wikipedia.org/wiki/List_of_countries_by_carbon_dioxide_emissions_per_capita)

Countries by urbanization: [https://en.wikipedia.org/wiki/Urbanization_by_country](https://en.wikipedia.org/wiki/Urbanization_by_country)

And that's not even getting into things like the amount of land that gets developed for low density homes and services, roads, water reservoirs, electric lines, etc.

Wealthy rural countries (USA, Australia, Russia), produce more carbon than dense wealthy countries. Granted, I wouldn't be surprised if carbon emissions and environmental impact of the average city resident was higher than the average rural resident - but that's largely a result of the fact that rural residents are generally less wealthy. This is definitely true on a global scale (the countries with the lowest carbon footprints are poor, rural ones), and I wouldn't be surprised if it were true on a nation wide scale. I didn't explicitly state it in in the first post, but I did clarify in the second that this was for the same standard of living.

On a side note, an interesting thing to look into is how Singapore manages to provide so much services with such a small budget - 14.2% of GDP per capita as opposed to 26% in the US. A huge part of this is because it's so much more efficient to provide services when you're dealing with population concentrated in such a small area. Imagine how much more money (and energy) it takes to deliver electricity, running water, sewage, emergency services, education, etc. to households in Oregon where 4 million people are distributed across 98,466 square miles as opposed to concentrating them all in 278 square miles. Even if things like land and labor cost more, so much overhead and operational costs are saved by not having to service such a massive area.

<comment><USER4> Thanks for the data! Is it unreasonable to think that as energy efficiency of things (cars, heating systems, airplanes) improve and we move towards renewable energy that the inefficiency of rural life could become offsetting and the value of nature on the human psyche is allowed to return to our culture?

I realize that's more of a value judgement and not objective. But there are definitely costs associated with living in dense urban places. Regardless of efficiencies we are definitely still living in a post-industrial-revolution world, and people did not voluntarily cram themselves into giant cities then, so some sort of reversion when it's possible makes sense. Vast populations of urban people in China would rather not have to move into the city.

</comment></comment></comment></comment></comment></comment><comment><USER5> YES.

Seeing an NBER paper on Hacker News of all places makes me want to cry tears of joy.

That zoning and insane levels of regulation are absolutely the causes of the housing crises in the US is the mainstream consensus among economists.

For those unfamiliar, Glaeser is widely considered the foremost urban economist, so I'm shocked to see his famous paper linked on here. He's absolutely brilliant.

</comment><comment><USER6> Spend some time walking visiting third world countries sometime and observe how much homelessness you see. When pretty much anybody can build a currogated tin shack wherever they want, almost everybody is going to sleep with a roof over their head.

</comment><comment><USER7> The impact of Tech giants on housing affordability (2016): (graph)

[https://deleonrealty.com/2016/facebooks-effect- appreciation-...](https://deleonrealty.com/2016/facebooks-effect-appreciation- menlo-park-housing/)

</comment><comment><USER8> Why not just scrap zoning altogether? Houston has, and it seems to be working out pretty well for them.

[https://www.youtube.com/watch?v=n-zESacteu4](https://www.youtube.com/watch?v=n-zESacteu4)

</comment><comment><USER9> The problem with all real estate development is all the profits flow to the developers and all the costs flow to the existing residents (more traffic, infrastructure, etc). I am surprised that anyone is in favour of development in their neighbourhood unless they are a developer.

The solution is to share the benefits of new development with the existing residents so they gain from development. Get this right and communities will be fighting each other to have developers come in and build new houses.

<comment><USER10> more units equals more property taxes for the municipality to pay for services, and more people buying stuff and paying sales tax, and use fees like the $11 BART ticket.

<comment><USER9> Property tax are not supposed to be a profit center, but cover the costs of providing services. Adding more people just increases the costs so it works out a zero for the existing residents.</comment></comment></comment>