Beating C with one line of Brainfuck - <AUTHOR> https://kiwec.net/blog/posts/beating-c-with-brainfuck/ <comment><USER2> I love how this blog only has this single post and it's dutifully tagged #shitpost.

Thanks for sharing, I got a good chuckle out of it.

<comment><USER3> > and it's dutifully tagged #shitpost

This should be mandatory for all "beating X in Y lines of Z" format posts.

</comment></comment><comment><USER4> Generated C:

      #include <stdio.h>

      char mem[30000] = {  };

      #define OUTPUTS 0
      char outputs[OUTPUTS] = {  };

      int main() {
          char* ptr = mem + 0;
          fwrite(outputs, sizeof(char), OUTPUTS, stdout);

          ptr[2] = getchar();
          ++ptr[2];
          while (ptr[2]) {
              ptr[2] -= 11;
              while (ptr[2]) {
                  ptr[2] -= 22;
                  while (ptr[2]) {
                      ++ptr[3];
                      --ptr[1];
                      while (ptr[1]) {
                          ++*ptr;
                          ++ptr[1];
                      }
                      ptr[2] = 0;
                  }
                  ptr[2] = 0;
              }
              ptr[1] = 0;
              ptr[1] += ptr[3] * 1;
              ptr[3] = 0;
              ptr[2] = getchar();
              ++ptr[2];
          }
          ptr[1] = 0;
          ptr[3] += *ptr * 1;
          ptr[2] += *ptr * 1;
          *ptr = 0;
          *ptr += ptr[3] * 1;
          ptr[3] = 0;
          ++ptr[1];
          while (ptr[2]) {
              --ptr[1];
              while (ptr[2]) {
                  ptr[3] += 10;
                  while (ptr[2]) {
                      --ptr[2];
                      --ptr[3];
                      while (ptr[3]) {
                          ++ptr[4];
                          ptr += 3;
                      }
                      while (ptr[4]) {
                          ++ptr[4];
                          ptr[3] += ptr[4] * 1;
                          ptr[4] = 0;
                          ++ptr[5];
                          ptr += 3;
                      }
                      ptr -= 3;
                  }
                  ptr[3] = 8;
                  ptr[2] += ptr[3] * 6;
                  ptr[3] = 0;
                  ptr[2] += ptr[4] * 1;
                  ptr[4] = 0;
                  ptr[3] += ptr[5] * 1;
                  ptr[5] = 0;
                  ++ptr;
              }
              ++ptr;
          }
          while (ptr[1]) {
              --ptr[1];
              ptr[3] += 8;
              ptr[2] += ptr[3] * 6;
              ptr[3] = 0;
              ptr += 2;
          }
          while (ptr[0]) {
              putchar(ptr[0]);
              *ptr = 0;
              --ptr;
          }
          ptr[1] += 10;
          putchar(ptr[1]);

          return 0;
      }

<comment><USER5> Note that:

        #define OUTPUTS 0
        char outputs[OUTPUTS] = {  };

is not valid C (or C++) - zero length arrays are not a thing in either language,

<comment><USER6>
      (base) jam@jam-XPS-8500:~/svn/src/music/mp3tomidi$ cc -c -Wall x.c
      (base) jam@jam-XPS-8500:~/svn/src/music/mp3tomidi$ cat x.c

      #define OUTPUTS 0
      char outputs[OUTPUTS] = {  };

Looks like you're wrong about that; at least for GNU C. It's not official C but if it works and generates no warnings it will be used too.

Long HN thread about this subject:

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

Zero length arrays are one of those things that C is renowned and notorious for: something that is useful at times but unpredictable because it is flirting with undefined behavior.

I usually compare C with a Formula 1 race car. It works well as long as you don't cut too many corners and when you do you end up plastered all over the road.

<comment><USER5>
         [neilb@Miranda temp]$ gcc -Wall -Wextra -pedantic a.c
          a.c:2:6: warning: ISO C forbids zero-size array   'outputs' [-Wpedantic]
     char outputs[OUTPUTS] = {  };

<comment><USER6> Yes, the -pedantic is what will trigger that. See linked post. But that's not on by default (fortunately!).

ISO C is so restrictive ;)

<comment><USER5> > (fortunately!)

Unfortunately. All warnings and errors should be on by default. That they are not is one of the things about GCC that really pisses me off.

<comment><USER6> Still not getting the joke.

Yes, they should be on, in fact GCC should not do this, 'extensions' to a language that invite undefined behavior are not in line with solid software development practices. Neither is brainfuck...

<comment><USER7> I feel obliged to point out that some of those extensions a) are pretty important for large scale projects, and b) end up standardized later on anyway— eg variadic macros being added in C99.

Definitely a case to be made that the default behaviour should be what the standard says, with extensions as an opt-in. But experimental extensions also move the language forward.

<comment><USER8> I guess what jacquesm was getting at was that instead of extending C, the world should have left C behind a long time ago and transitioned to other, safer languages.

These days there are excellent alternatives to C, but of course we also have vast codebases written in C that would be too big of an undertaking and too much of a risk to rewrite in a safer language.

There may not have been any sufficiently widespread alternative in the past in terms of developer mindshare, and sufficiently performant considering how limited the hardware was in terms of both speed and memory and storage. There is also the issue of portability and of embedded platforms, and that remains problematic to this day in some cases but in other cases the possibilities for using safer languages are already really good.

Even in cases where an alternative was known and suitable, people in the past had legacy codebases that they were working with too that they didn't want to risk rewriting in any other language. So they just kept adding to the code that they had.

The legacy-code that we are sitting on now is so many lines of code that one might wonder, was it even justified that they didn't want to take on the risk of rewriting the code in the past, while there still was a chance to do it all in one go? Maybe, maybe not.

Either way, we can do nothing about the past, but if we keep growing the legacy codebases, the problem only gets bigger in the future.

We should _not_ strive to rewrite it all at once, but we should use safer languages when we extend our codebases, and we should use safer languages when we start new projects.

Every line of code that we write today adds to the amount of code that will make up the legacy code of tomorrow.

Let's strive to make the legacy code of the future safer, so that our children may run their societies on safer software!

<comment><USER6> I'm somewhere in the middle. I love my C compiler. At the same time I recognize the limitations of a lanuage that is now well in it's 5th decade.

The problem is that we have so much tooling and of such high quality that it is hard to switch to anything else. For myself mostly because of habit, existing libraries and speed of compilation. The edit-compile-test cycle length is a very high factor in my productivity. Go would score high on that list, other languages not so good. The stuff I do is for myself for the most part so I don't particularly care about security but in an environment where security is important with my present day knowledge of the pitfalls of C it would likely be the last language I would pick, and that is including the recognition that there are far more ways to create security holes than just memory safety, something proponents of other languages sometimes overlook.

C is a very sharp knife, it allows you to cut your fingers off in a very smooth and painless way. You'll likely realize it when you faint from bloodloss. At the same time, it is still, in spite of all those shortcomings my usual tool of choice. Simple, no huge superstructure, no whole eco system and mountains of dependencies rammed down my throat when I don't need them.

<comment><USER9> > in an environment where security is important with my present day knowledge > of the pitfalls of C it would likely be the last language I would pick

Note however that even the those languages promoted as "safer" and "better" at the end typically use the C implementations of cryptographic routines (or avoid their own "safe" rules exactly when producing such a code which then ends up being "just C in disguise"). I see then some "wrappers" but at the end... it's still C (or assembly) that does the job. As far as I'm aware, nobody managed to produce both the "safety" and everything else necessary to the point to be the "best" solution for real-life use cases.

<comment><USER8> > or avoid their own "safe" rules exactly when producing such a code which > then ends up being "just C in disguise"

The point with being able to do this though is that sometimes you really do need to use unsafe code, but you still get to isolate the unsafe parts of your codebase from the safe parts of it, and you do so in a way that is defined by the language itself rather than in an ad-hoc way.

The language and the compiler enforces safety for the rest of your codebase, which in most cases makes up the vast majority of the codebase, and for the unsafe parts of the codebase where it doesn't, you have a much more limited and clearly defined surface of code that you and everyone else looking at the code will know that needs to be handled with extra care, and which can and should be audited extra thoroughly.

<comment><USER7> And in the specific case of cryptographically secure code, you may well need to be paying attention to extremely low level details like the number of instructions being executed on different branches, the states of various buffers and caches, etc. It may well be that it doesn't make sense to expose control over these things to the high level layer where it's irrelevant 99% of the time.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I wonder if Brainfuck wins by his 100th of a second since he already called a program with words.txt, and therefore it was already loaded into memory, thus saving just a slice of time, as it would already be in the cache.

<comment><USER11> Could also be that their version of wc is doing Unicode-aware counting by default; it could be a lot faster with LANG=C set in the environment.

[https://unix.stackexchange.com/a/96580](https://unix.stackexchange.com/a/96580)

<comment><USER12> For some reason, wc is even slower with LANG=C.

        cat words.txt | time wc -w
        13018291
        0.76 user 0.01 system 0:00.78 elapsed

That's on the default wc build of void linux, and not in a proper benchmark environment, but that's still strange.

<comment><USER13> I prefer setting LC_ALL=C for to be sure, though LANG may be sufficient, as running "LANG=C locale" confirms LC_CTYPE=C is set.

</comment></comment></comment></comment><comment><USER14> Is the 85MB test file available? I wasn't able to find it. I'd like to test this result against nerve [0], a brainfuck to x86_64 asm compiler I wrote (like funkicrab, it is also written in Rust).

[0]: [https://github.com/JoshMcguigan/nerve](https://github.com/JoshMcguigan/nerve)

<comment><USER15> Same here.

bff [1] has no fancy assembly, not even a compiler, just some basic loop unrolling and jump precomputation, but I too wonder how it compares to wc.

[1] [https://github.com/apankrat/bff/](https://github.com/apankrat/bff/)

\-- edit --

Found words.txt with 466551 words, so replicating it 28 times gets it to the OP's test size. Bff is ~5x slower than 'wc -w' ... which is not unexpected, but still slightly disappointing.

[https://github.com/dwyl/english- words/blob/master/words.txt?...](https://github.com/dwyl/english- words/blob/master/words.txt?raw=true)

</comment></comment><comment><USER16> Given the humorous setup and experiment report, I would bet one second of my life that maybe the guy ran the test with a few random files passing by, and mentioned only the one that just happened to be slightly faster in brainfuck.

I think I got the joke, it had me chuckle anyway.

</comment><comment><USER6> Hilarious. Hopefully this will end the endless flood of 'Beating C' posts.

[https://www.google.com/search?q=site%3Anews.ycombinator.com+...](https://www.google.com/search?q=site%3Anews.ycombinator.com+beating+c)

<comment><USER17> Beating a C brainfuck compiler in rust/d/etc in 3 2 1...

</comment></comment><comment><USER18> It seems we've beat the webserver serving this blog with one hug from HN.

<comment><USER19> There must be _way_ more people reading HN than I would think.

Here we are 7 hours after post, overloading it.

Suppose "overloading" this blog is a mere 2 requests/s.

Suppose that an entire 10% of people reading HN click on this link, and on average click on it twice.

Further suppose that the average "active" HN user reads HN 5 times a week.

That means there are 1,210,000 active HN readers.

<comment><USER20> Thanks for the math!

I did several estimations of How-Many-of-Us-are-Here and I got ~1M users by various methods (eg number of upvotes using Reddit engagement numbers), so I'll take your number with a happy confirmation bias.

</comment></comment></comment><comment><USER21> > Following on the recent "faster than wc" blogposts, I decided to end this > fad once and for all, using the best language ever created : Brainfuck.

This "Go faster than C" post was a complete joke, one could very easily write a "C faster than C" the exact same way to prove the absurdity of an optimized implementation that does not do what the original program does.

<comment><USER22> This blog post also does that actually since the Brainfuck code is transpiled to C.

</comment></comment><comment><USER23> Marvelous. Anybody got an optimizing malbolge compiler?

<comment><USER24> Not an optimising one (yet) but a safe implementation of a malbolge interpreter written in Rust, which can run malbolge programs. Just for fun.

[https://github.com/return/malbolge](https://github.com/return/malbolge)

<comment><USER25> Has anyone used Rust to write an interpreter for INTERCAL yet?

<comment><USER26> Of course. [0]

[0] [https://github.com/birkenfeld/rick](https://github.com/birkenfeld/rick)

<comment><USER25> Oh good. Though it's a shame that the test suite is a `test.py` file instead of `cargo test`; it would have been extremely satisfying to know that the Rust project would run the test suite for an INTERCAL compiler on a regular basis as part of Crater.

</comment></comment></comment></comment></comment><comment><USER27> If you're going to "beat" C with another language, it will obviously be one that compiles to C.

</comment><comment><USER28> > Since cells need to be 32-bit for counting more than 255 words, you'll also > need to replace the few occurrences of char to int.

Well, part of the fun of Brainfuck is working around the limit of 8-bit cell size. How about creating a version which implements 32-bit numbers by storing them in four cells?

</comment><comment><USER29> file-cache and system load jitter. That's it.

<comment><USER6> Totally missing the joke.

<comment><USER30> The HN crowd gets the joke, they just don't laugh about it. :-)

</comment></comment></comment><comment><USER31> I want more articles like this.

<comment><USER32> _Look what you made me do!_

[https://github.com/boothby/repiet/#but-is-it-faster- than-c](https://github.com/boothby/repiet/#but-is-it-faster-than-c)

</comment></comment><comment><USER33> 85 mbyte for 0.01s, on a terabyte you could easily get a cup a coffee or tea :)

</comment><comment><USER34> I think that BF implementation uses 32bit cells (which is not standard BF?)

</comment><comment><USER35> Can someone summarize the article/link? I can't view it.

<comment><USER36> Brainfuck is faster than C. You should use it for all new code where performance is critical.

</comment></comment><comment><USER37> How about beating a whole C system with BrainCrap!

</comment><comment><USER38> Will rust be any faster? Like 'ripgrep'.

<comment><USER39> Here you go. [https://medium.com/@martinmroz/beating-c-with-120-lines- of-r...](https://medium.com/@martinmroz/beating-c-with-120-lines-of-rust- wc-a0db679fe920)

</comment></comment><comment><USER40> À la première place, GG mec !

</comment><comment><USER41> I love it!!!

It is a great parody on latest trends in "my favorite xy language is faster than 'c/c++", each time I see one of those, it sends shivers down my spine.

Your language, that was made in c/c++, can hardly be faster than the language it was written in. Whatever optimizations it has, you can still make them in c/c++ with enough knowlidge, but probably you can optimize it some more (staring at c++ template metaprogramming) or use __asm or execute opcodes directly (cheating :D) The only question here is how good can the "compiler" be in making optimal cpu instructions from "your" language.

Stop this evangelist wars, your language can be great due to some other features (ease of use, knowlidge needed to be proficient in it, forgiveness of mistakes,..), you dont need to compare it to c/c++. It just doesnt make any sense.

<comment><USER42> > Your language, that was made in c/c++, can hardly be faster than the > language it was written in

What if the language you wrote includes a run-time that does JIT?

<comment><USER43> and the JIT is written in...

<comment><USER44> I am bemused by C and C++ fanatics who simply do not and apparently can not see beyond C and C++. Like it is impossible for society to surpass those languages, and that everyone will use them a million years from now...

We will obviously still have them for a while, but anyone that thinks we have reached maturity in an industry that is around 50 years old is just not thinking objectively.</comment></comment></comment></comment>


Australia: If You Don't Want Gov't Censorship Of The Web, Speak Up (Free Speech) - <AUTHOR> http://www.techdirt.com/articles/20110706/23273214990/dear-people-australia-if-you-dont-want-widespread-govt-censorship-internet-speak-up-now.shtml

<comment><USER2> Being from The Netherlands originally and living in Australia for the past 6 years I have come to notice that Australians aren't born demonstrators. They're complainers though, but they won't go out in the streets to enforce their complains. Only "hippies" would do such a thing. Very different from Europe.

Next to that there is an Australian government which is, besides the fact that they're not really a government but more a sort of unfolding prime time television soap opera, extremely patronising towards it's citizens.

Another problem is of course and which plays a key roll in the development of Australia is that they're so isolated. In Europe there's this cluster of close nit countries watching each other. No one is really watching Australia and Australia looks towards the US for cultural and social guidance. Not the best example in my opinion...

</comment><comment><USER3> The national broadband network is a policy to introduce a single network to upgrade the country's internet.

I was thinking yesterday - this is a vehicle for censorship.

Once it is in, the government will be able to work with a compliant government-corporation to restrict access.

<comment><USER4> Pretty much. When you think about it, they had a considerable amount of backlash when they first floated the blacklist. ISP's may not have been that easy to manipulate to add the filter due to the loss of revenue as users would abandon ship as soon as they knew they were being filtered.

Enter the NBN, the carrot dangled infront of the donkey. Promise of faster net are just out of reach but still obtainable, the donkey moves forward wanting what it doesn't currently have not knowing that once it has it, the master has all control via deliverance of sweet crunchy carrots.

Where before they had to implement filters at an ISP level which would cause speed loss, why not build an entire network with subnodes that govern a smaller set of people. Deploy your blacklist between said nodes and you have an easy to control black list distribution service layer within your network without any sign of speed decrease.

Just a thought.</comment></comment>


Ask HN: What temperature should my AC be to prevent Corona Virus - <AUTHOR> It's summer in India and many other places. Temperatures have started to climb to 37C (~100F). I read the Covid/Corona Virus cannot survive high temperatures. Given that it's too hot, what temperature should i set my AC to so that my rooms are comfortable yet do not become safe harbors for the virus. <comment><USER2> Since you are posting on Hacker News, expect a range of responses including many that will lead you to delete this submission if you can. But to be favourable - please read actual science on the virus.

</comment><comment><USER3> No. Just no.

</comment><comment><USER4> India is a big country with different weather in different parts so depends where you are.

In general Tropics are showing a much smaller number of cases (no idea why - could be weather/travel link density etc). This is just rough guess work - temperature above Tropic of Cancer in most of the big cities reporting cases is 10-15C with low humidity levels (below 55%).

So defaults should be fine 25-27C, humidity 60-70%. Make sure filters are regularly cleaned/maintained.</comment>


Ask HN: Passive income ideas for blockchain developers? - <AUTHOR> I've been working full-time in the blockchain space for the past few years, with a focus on Bitcoin and Ethereum.
Commonly used stack: React, Node.js, Redis, MySql
Commonly used libraries: web3.js, ethers.js, bitcoinjs-lib
Do you have any recommendations for passive income opportunities in the space? <comment><USER2> "Passive income" on here usually refers to overlooked opportunities to do low risk, low reward web apps. Since you want to do something in the blockchain space, and the only proven market for blockchain technologies at the moment is blockchain developers and speculators, you might want to do something for those demographics.

</comment><comment><USER3> Either built a utility, game or a content/community site and monetize with ads. If you're feeling adventurous monetize via utility tokens.

Is there a particular area you specialize in for blockchain? I know there's a lot of opportunities outside of the standard currency/token space.</comment>


Cruise ships exposed thousands on board and helped spread virus globally - <AUTHOR> https://www.washingtonpost.com/graphics/2020/politics/cruise-ships-coronavirus/ <comment><USER2> January 3: CCP forces Dr. Li Wenliang to not spread rumors about human-to- human transmission

Other efforts by Chinese doctors and scientists were also thwarted by the CCP.

[https://www.straitstimes.com/asia/east-asia/how-early- signs-...](https://www.straitstimes.com/asia/east-asia/how-early-signs-of-the- coronavirus-were-spotted-spread-and-throttled-in-china)

January 10: WHO recommended no travel restrictions.

[https://www.who.int/news-room/articles-detail/who-advice- for...](https://www.who.int/news-room/articles-detail/who-advice-for- international-travel-and-trade-in-relation-to-the-outbreak-of-pneumonia- caused-by-a-new-coronavirus-in-china)

January 24: WHO advises no international travel restrictions

[https://www.who.int/news-room/articles-detail/updated-who- ad...](https://www.who.int/news-room/articles-detail/updated-who-advice-for- international-traffic-in-relation-to-the-outbreak-of-the-novel- coronavirus-2019-ncov-24-jan)

January 27: WHO again advises no travel restrictions

[https://www.who.int/news-room/articles-detail/updated-who- ad...](https://www.who.int/news-room/articles-detail/updated-who-advice-for- international-traffic-in-relation-to-the-outbreak-of-the-novel- coronavirus-2019-ncov)

February 11: WHO finally says maybe should quarantine ships

[https://www.who.int/news-room/articles-detail/key- considerat...](https://www.who.int/news-room/articles-detail/key- considerations-for-repatriation-and-quarantine-of-travellers-in-relation-to- the-outbreak-of-novel-coronavirus-2019-ncov)</comment>


Anything, from liquid water to the human body, is now a potential touch screen - <AUTHOR> http://idealab.talkingpointsmemo.com/2012/05/everything-can-be-a-touch-screen-thanks-to-disney-research.php <comment><USER2> Coolest thing I've seen all year.</comment>


Redirection, call a link a link - <AUTHOR> http://www.neilcremins.me/blog/2013/02/redirection-call-a-link-a-link/

<comment><USER2> Similar post that was on the front page recently: "No, I'm not going to download your bullshit app" <http://tommorris.org/posts/8070> (<https://news.ycombinator.com/item?id=5162841>)

I agree, while the app might provide a better experience for _Browsing_ the site in question is does not provide the information that I am currently seeking. Forums often do the "Download our mobile app" (I assume that they are all running on something, PHPBB?, that makes it dead-simple to make an app or point one master app at their particular forum).

Also to your point about not having a mobile->desktop redirect - I hate this. My roommate and I are looking to buy a house and he spends most of his time looking for houses on his phone (in class) so the links he posts on the Trello, that we are using to keep track of the houses, are all mobile. They often don't have as many pictures of the house as the full site does and the controls are often awkward to use. Worse yet, simply removing the "m" from "m.sitename.com" doesn't link to the desktop version and I often have to copy the address, go to the main site, and search for the house to find it.</comment>


US Senator Charles Schumer's Open Letter to Steve Jobs - <AUTHOR> http://schumer.senate.gov/record.cfm?id=326405&

<comment><AUTHOR> While I find it encouraging that the Senator's letter seems to intelligently capture the crux of the controversy, I have to wonder if there isn't something slightly more pressing that Senator Schumer should be looking into.

<comment><USER2> Better this than releasing letters that triggered a fatal run on a bank (<http://en.wikipedia.org/wiki/IndyMac#IndyMac:_Collapse>).

Semi-side note: if you were to bet today, he's going be the Senate Majority Leader in 2011 (based on the assumptions that Harry Reid will lose reelection but the numbers aren't there for the Republicans to gain a majority in the Senate).

</comment></comment><comment><USER3> Some of these senators are becoming real twats in getting caught up in what are frequently high-vis, low-impact issues.</comment>


Fred Wilson: Cash Is Only King If You Use It - <AUTHOR> http://www.avc.com/a_vc/2008/10/cash-is-only-ki.html

<comment><USER2> It sounds like what Fred is saying is suspiciously close to the maxim "You have a spend money to make money", which is often quoted by people as they spend money on useless things that will in no way help them make money.

As a real estate investor, I can tell you that cash is kingliest when it's sitting in your bank account. It makes expansion much easier, because people are most willing to loan money to people who don't need it. I kind of expect it's the same in the startup world...if you're sitting on a large pile of cash with a low burn rate and high profitability, you can probably raise cash a lot easier than a startup that's down to their last nickel with a huge burn rate and no profitability in sight, yes?

</comment><comment><USER3> What I found interesting is Tom's argument buried in the bottom of his post:

"Something you may have to spend cash on is making sure your product or service and the pitch for it are relevant to your prospects and customers in these tough times. Obviously, people are looking more for an opportunity to save than to spend. Can you help them do that?"

In my consulting experience in the corporate sector, it seems to me that while executives are interested in hypothetical savings, they are simply less interested in investing in products or services altogether. I'd be interested in how others target client's general risk-aversion mentality in bad economic times with something other than a good argument?

</comment><comment><USER4> Link to the post he refers to: <http://blog.tomevslin.com/2008/10/when-your- compa.html></comment>


Here Comes The Wetware - <AUTHOR> http://techcrunch.com/2010/12/04/wetware/ <comment><USER2> A major problem here isn't just the interface technology, but that we have such a poor understanding of how the brain works (my girlfriend is working on her PhD in Neuroscience and I hear about this almost daily). Consequently, our interfaces will be crude and clunky at best for a long time.

We've barely got the faintest ideas of how to measure some things that would seem really basic. Memory? Perception? Forget it. When using one of these you're basically trying to train your brain to stimulate huge areas to try to get some readout. It happens that we aren't great at this. Even playing a game as basic as Pong is very hard with this type of interface, and it isn't as if we're going to get significantly better at this anytime soon.

Its about as graceful as trying to make your entire leg smash forward in order to press a small delicate button. We can hit things, but when you have lots of small delicate buttons, the resolution isn't going to get much better since we're still smashing blindly.

<comment><USER3> To be fair, we can make huge steps forward once the interface technology has improved resolution. I will trust your girlfriend's expertise, but I do know from mine in Machine Learning that we can extract a surprising amount of signal without knowing the neurophysical processes which generate the data.

A huge problem right now with the products coming out of Emotive and similar companies is that the level of noise is enormous and the resolution of the sensors is very poor. As we continue to remove the noise from the data (and come up with better sensors!), we can train better and better models to differentiate these various activities.

One PI working on this project whose work I am familiar with is Mike D'Zmura at UC Irvine. <http://cnslab.ss.uci.edu/muri/research.html>

<comment><USER2> From a non-scientist's point one issue I can see that humans have problems with relating to these devices is a lack of feedback. I've tried a few of these and it takes a few seconds to know if its working or not. That's a pretty unnatural feeling for a human, since we normally know if an attempt of ours had an action quickly or not. Like you said, there is a huge amount of noise that makes it very difficult, and much of the lag we have with feedback is due to us trying to smooth out this noise and find a pattern.

Hopefully one or two smart discoveries can give us a nice little leap ahead forward until we have a better brain model to work with- bringing the technology to at least a semi-usable level since as it stands it is pretty much a novelty at best.

</comment></comment></comment><comment><USER4> God, not another EEG-based BCI article (especially of Emotiv, whose core competency as a company is mostly being a hype machine). This stuff is trash from a neural interfacing perspective; your keyboard is much higher throughput and better fidelity, and as much a "brain interface" as this is (it translates brain activity into computer signals!).

EEG mostly detects scalp, eye, and face muscle activity, and some very gross brain state (such as awake/alert and drowsy). Subjects can get _ok_ performance in demos by confusing this muscle activity with "brain activity", but it's absolutly not a "neural interface".

<comment><USER5> A keyboard requires fingers or at least some sort of functional limb, however. This doesn't. It doesn't really have to be called a neural interface, if that offends you.

For anyone else hung up on this, I recommend mentally substituting the term "scalp-eye interface" or "hands-free interface" and focusing on the possibilities instead of the limitations.

</comment></comment><comment><USER6> When I was a wee lad, probably 1980 or so, I was a regular at a market testing group for video games. It was usually just whatever new game was coming soon, but once it was a headband that you wore, with electrodes. It would control your Atari 2600 "by thought". I remember playing River Raider with it at the testing, you could go left and right and fire.

I don't think it actually read your brain activity, I think it was more muscle control dressed up, but it sorta worked.

Edit- Link to some info on the device. It did in fact work by muscle activity. [http://www.atarimuseum.com/videogames/consoles/2600/mindlink...](http://www.atarimuseum.com/videogames/consoles/2600/mindlink.html)

</comment><comment><USER7> With "wetware" on the rise, and with the recent passing of Leslie Nielsen, I think this is an appropriate time to remind people of the movie _Forbidden Planet_. Besides being one of Nielsen's few (old!) bits of "serious" acting, the movie has an interesting point: computer interfaces must distinguish between unconscious thoughts and purposeful instructions. Otherwise the machine will start executing instructions directly from the subconscious ("id") whether you really wanted to do those things or not.

<http://en.wikipedia.org/wiki/Forbidden_Planet>

<comment><USER8> [http://wiki.lesswrong.com/wiki/Generalization_from_fictional...](http://wiki.lesswrong.com/wiki/Generalization_from_fictional_evidence)

<comment><USER7> Well of course I expect people to examine the idea critically instead of lifting it straight from a 1956 movie and applying it to next-gen interaction design problems. It's just an idea I think people should consider.

</comment></comment></comment><comment><USER9> I'd love to play with one of these and just watch the inputs, during various mind states. Resting, relaxing, watching tv, playing music, listening to music, drunk, high, bored, focused, reading, panic etc, etc. I don't know what I would do with the data, probably end up posting it online see if someone can do something with it.

Idk, I feel like with practice you could get pretty good at using it. But here it has a $300 price tag, looks like I will be waiting for someone else to get after those ideas.

</comment><comment><USER10> > _"It can be a transformational experience," Garten says, of the moment users > first don a headset. "For the first time, you're consciously interacting > with your own brain."_

So I was at WonderWorks < <http://wonderworkspcb.com/index.php> > in early November, and they have a litle game that works based on your brain waves. You put a headband with metal nodes on your head, and it moves a ball forward based on how calm you are. You sit down across from someone and relax as much as possible, and whoever is the calmest gets the ball closer to the goal.

(edit: I found the page for the "mindball" game here: [http://wonderworkspcb.com/Content/37/Mindball_Mental_Challen...](http://wonderworkspcb.com/Content/37/Mindball_Mental_Challenge_Wonders_Panama_City_Beach_FL__))

I have to say, it was very cool. There wasn't as much shock and awe as I'm sure the headsets in this article must inspire, but you can put that down to the primitive interface I was using. It was still _extremely_ interesting, because I really felt like I was "consciously interacting with my own brain". Making something happen just based on how calm you are... I couldn't get the smile off my face afterwards.

(If you're curious, I won every time.)

</comment><comment><USER11> Maybe I've been living in a cave but I had no idea that tech like NeuroSky and emotive was so cheaply available. Anyone with experience on which one is better?

<comment><USER12> I can't speak for the NeuroSky, but I reverse-engineered the protocol and crypto used for the Emotiv to create the open source Emokit ( <https://github.com/daeken/Emokit> ) a couple months back. While no one has really done anything with it yet, it opens up some fun stuff. The Emotiv has the benefit of more sensors, and it isn't much more expensive. I'd love to see someone do something really cool with it.

<comment><USER13> I just found that 20 minutes ago and was so excited that I ordered an Emotiv right away. Great to see that you're an HN user, I'm looking forward to playing with the Python library.

<comment><USER12> Awesome. Feel free to hit me up on #emokit on irc.freenode.net. One note: the new headsets _may_ have a different key than the older ones. This has not yet been confirmed, but if it is the case, I'll get it working again regardless.

</comment></comment></comment></comment><comment><USER14> > _We're still a long way from real wetware (direct brain-computer > connections) . . . but last week an NYU professor had a digital camera > implanted in his head. It'll be many years (if ever) before that goes > mainstream, but the line between the mind and its tech is growing finer._

So, really, here doesn't come the wetware. But the author is correct to disclaim "if ever." The simple reality is that medicine isn't anywhere _near_ the point yet where sticking something in transcranially is anything apart from a major, expensive, and risky operation (the NYU prof's camera implant is transdermal, but stops well short of the cranium). The popularity of breast augmentations and the like may prove the societal acceptance of elective surgery, but until medicine has advanced to the point where you can do a brain job as routinely and safely as a boob job, it's not going to happen.

</comment><comment><USER15> I don't know about the author of the article, but I've had wetware for the past 25 years.

(The wetware is your brain.)

</comment><comment><USER16> Video of Emotiv demo in Stanford EE Computer Systems Colloquium, April 9, 2008. <http://news.ycombinator.com/item?id=1970408>

</comment><comment><USER17> Years ago Mind Bowling was a commercial game that use biofeedback (not brainwaves) to control the movement of the ball.</comment>


Ask HN: Any React app bigger and more complex than facebook.com? - <AUTHOR> <comment><USER2> I mean look at their share price man. You should really define 'complex'. I also recommend installing React Dev tools, you'd be surprised by how many large known websites run React apps.</comment>


The Panama Papers Actually Reflect Pretty Well on Capitalism - <AUTHOR> http://www.bloombergview.com/articles/2016-04-06/the-panama-papers-actually-reflect-pretty-well-on-capitalism <comment><USER2> Its not Capitalism.</comment>


Google Nest - <AUTHOR> http://google-nest.org/

<comment><USER2> This is extremely well done. It's _almost_ believable.

<comment><USER3> I'm embarrassed to admit how long into reading this it took me to clue in...

 _edit: nevermind; if I didn 't have to check WhoIs data then I'm apparently ahead of the curve._

<comment><USER4> I have to agree... took me until the Bee to realize...

The first two were almost believable!

</comment></comment></comment><comment><USER5> A little digging suggests it's a prank being pulled by the Peng Collective[1] - "Paul von Ribbeck", to whom the domain is registered, is a previous nomme de guerre of Jean Peters.

[1] [http://www.peng-collective.net](http://www.peng-collective.net)

</comment><comment><USER6> I was so close to buying a nest when they released ones compatible with my system. Then Google bought them a few days afterwards and I couldn't be less interested now. Its just one of those things, I do what I can to hide from Google now, the last thing I want them having dominion of is precisely when I am in and out of my house.

</comment><comment><USER7> I can see Bee as a real product in some form or fashion in 10-15 years, and I think Bye is a great idea.

</comment><comment><USER8> This is certainly fake based on the whois information:

[http://pir.org/domains/org-domain/?domain=google- nest.org&su...](http://pir.org/domains/org-domain/?domain=google- nest.org&submitted=results#domain_form)

</comment><comment><USER9> Is this a very bad joke?

Domain seems to be registered to a Paul Von Ribbeck with a gmail address, not a google address... makes me doubt its authenticity. A quick google search of Ribbeck brings up this: [http://re-publica.de/user/1008/event/1](http://re- publica.de/user/1008/event/1)

"Dr. Paul von Ribbeck considers himself both pro-tech and a digital protection evangelist. He is guided by his unwavering belief in the possibility of technology to solve the problems created by civilization. With a MSc from Yale University and a PhD from Stanford University in information security, he is now leading a team of 50 developers, mathematicians, lawyers and designers to build up the first global digital data insurance within the home of Google Nest."

THIS IS JUST WEIRD AND AWKWARD. DISCUSS.

<comment><USER10> It's fake-- domain registered at eNom, hosted at namecheaphosting.com.

<comment><USER11> Someone's gonna get sued for trademark violations.

<comment><USER12> They already received their C&D from Google, or the German equivalent in any case. It was very gently worded.

<comment><USER12> Here's the letter: [https://imgur.com/Km8tYbH](https://imgur.com/Km8tYbH)

</comment></comment></comment></comment></comment><comment><USER13> Google states that they are not affiliated: [https://twitter.com/GoogleDE/status/464025743685476357](https://twitter.com/GoogleDE/status/464025743685476357)

</comment><comment><USER14> Absolutely no idea what this does or why should I bother clicking the sign in button.

<comment><USER15> It's satire.

</comment></comment><comment><USER16> Well done fake. Maybe satire?

</comment><comment><USER17> Nice try to get my data Not this time ...

</comment><comment><USER18> Flagged for impersonation without disclaimer.

The product ideas are very nice ones though.

</comment><comment><USER19> Particularly lousy name for satire, since Google is acquiring Nest.

[https://investor.google.com/releases/2014/0113.html](https://investor.google.com/releases/2014/0113.html)

<comment><USER18> That was intentional, in the web page.</comment></comment>


Drawing on the new iPad - <AUTHOR> https://www.penny-arcade.com/news/post/2018/11/14/drawing-on-the-new-ipad <comment><USER2> > My desktop would have shit itself.

There it is. There is a coordinated ploy by the industry to sell more expensive hardware: shitty software. I find it hard to believe that such simple multitasking (using compute-intensive software + watching videos) could cause a well-built desktop computer to slow down.

Since there is no alternative to inefficient software, products such as the 2019 iPad are praised because they can bludgeon through these tasks and still appear fast, but only due to their sheer power.

It's disgusting, honestly. Apple pushes iOS so much because that's where they have almost full control over software, and therefore they have full control over your device's perceived performance. This isn't even limited to Apple. Case in point, [https://mail.google.com](https://mail.google.com)

What are we, responsible computer enthusiasts, to do about this?

<comment><USER3> >Since there is no alternative to inefficient software, products such as the 2019 iPad are praised because they can bludgeon through these tasks and still appear fast, but only due to their sheer power.

The iPad _is the alternative to inefficient software_. In this case, the inefficient software is a web page that doesn't just have to load the media you want, but the entire application to run it too.

It should be telling that a lot of shops use Electron, because even though it takes 500MB+ of RAM to run (for example) an IRC client, at least you don't have to download the code more than once.

Contrast that to a thin client devices that already have this feature, have had it for the last 10 years, and have it already done natively. This is why it should surprise nobody that iPads are "good enough" today.

<comment><USER2> I wrote that part of my comment in error. It wasn't my intention to blast the iPad's software suite as inefficient, but rather draw attention to the fact that the user's DESKTOP computer couldn't handle what the iPad could easily handle.</comment></comment></comment>


Ask HN: Chrome extension to verify credibility of articles - <AUTHOR> Is there any chrome extensions that can verify the credibility of an article, by checking for multiple sources, or checking against a black list of fake news sites, and providing a non-partisan credibility rating. Does something like this exist? If not would anyone like to help build such a project? <comment> ng-user Coincidentally I just read an article about the idea being implemented during a Hackathon at Princeton very recently [0]. Four students put together a very intelligent AI in 36 (!!) hours to verify articles posted on FB for truth, using the term AI lightly of course. They've also open sourced their project since then [1]. Obligatory chrome extension link [2].

[0] - [http://www.sfgate.com/technology/businessinsider/article/It-...](http://www.sfgate.com/technology/businessinsider/article/It- only-took-36-hours-for-these-students-to-solve-10614549.php)

[1] - [https://github.com/anantdgoel/HackPrincetonF16](https://github.com/anantdgoel/HackPrincetonF16)

[2] - [https://chrome.google.com/webstore/detail/fib/ofpheinlpjdffp...](https://chrome.google.com/webstore/detail/fib/ofpheinlpjdffpdakjegbcphdfeekpnn)

</comment><comment><USER2> Sorry for being snarky but you mean like a Chrome extension that does your thinking for you?

Such a tool might end up doing a disservice. People arguably already don't think enough about the stuff that's presented to them as facts. I'm not sure outsourcing critical thinking to machines would really help in that respect.

As for the technical aspects, checking multiple sources helps little with regards to the veracity of an article. Many news sites just regurgitate news from other sources or remix previous articles.

</comment><comment><USER3> I've thought about doing something like this, but my thought was a website first and then going into the extension realm.

If interested, I can help with the back-end. Fullish-er stack person with a few things living in production today (one of which does 500k uniques/month). Ruby/Rails is my go-to. Email is in profile.

</comment><comment><USER4> Not that I know of, it's a hard problem, perhaps look at this very recent discussion of it: [https://news.ycombinator.com/item?id=12970820](https://news.ycombinator.com/item?id=12970820) ?

</comment><comment><USER5> "This article is fine, move along citizen, nothing to question here."

Who checks the checkers?

</comment><comment><USER6> How would something like this work? Would there be keywords you input into the extension? etc

</comment><comment><USER7> You can easily search the chrome web store btw</comment>


BrowserRemote, debug your user's browser remotely via Chrome DevTools - <AUTHOR> https://github.com/auchenberg/browser-remote

<comment><USER2> I created a similar proof of concept recently. We need to inspect the webpage displayed on a Chrome based "kiosk" running behind a firewall. We have an existing socket (or socket IO binary) connection, and my proof of concept "attaches" the Chrome remote debugging port to listen on the socketIO connection - See the youtube video in the readme to see it in action. [https://github.com/joshribakoff/devtools- proxy](https://github.com/joshribakoff/devtools-proxy)

The tool linked in the OP looks a lot more user friendly, but perhaps my example code will be of use to someone who wants something [overly] simple.</comment>


The OS X window manager for hackers - <AUTHOR> https://github.com/evanescence/zephyros/

<comment><USER2> I've been using slate for a while and enjoying it, this looks pretty similar and I will definitely be giving it a try. am I wrong or is there still no wm for OSX that does auto tiling and layout like aeesomewm or stumpwm do? I've got a 'close enough' setup with slate that has been working but I still miss the awesomeness of awesome when I'm working in OS X.

<comment><USER3> [https://github.com/fjolnir/xnomad](https://github.com/fjolnir/xnomad)

app bundle: [https://github.com/JasonJAyalaP/xnomad/raw/master/xnomad.app...](https://github.com/JasonJAyalaP/xnomad/raw/master/xnomad.app.zip)

<comment><AUTHOR> Does that have scripting capability?

<comment><USER3> Not in the same way. It's written in the author's experimental objc based scripting language.

</comment></comment></comment></comment><comment><USER4> I use Spectacle, also FOSS.

[http://spectacleapp.com/](http://spectacleapp.com/)

<comment><AUTHOR> That project has different goals. Zephyros is about complete configurability, using only scripting.

</comment></comment><comment><USER5> This looks great! The wiki has some good starter configurations, based on other apps' defaults: [https://github.com/evanescence/zephyros/wiki](https://github.com/evanescence/zephyros/wiki)

Anyone know if there's a way to move apps between spaces? This is something that I've been missing in all the tools I've tried so far.

<comment><AUTHOR> It's basically impossible in Mac OS X. The closest you can get involves some hackery that I'm really not comfortable with.

</comment></comment><comment><AUTHOR> I found this way easier to configure than Slate.app was. Its API and docs are much simpler.

And it has support for CoffeeScript or any other JS languages. I haven't figured out how to get ClojureScript working with it though, but that would rock.</comment>


An Introduction to the Web Notifications API - <AUTHOR> http://www.sitepoint.com/introduction-web-notifications-api/

<comment><USER2> This is really awesome. So does this work with all modern web browsers or only chrome?

I tried it in chrome is working fine.

Will surely integrate in my upcoming web project.

<comment><USER3> There is a heading in this article "Browser Compatibility" detailing the answer to this very question. Basically, Chrome, Firefox and Safari all support it on the desktop, Firefox and Blackberry support it on mobile. Other browsers may partially support it, or not at all. The article has a code snippet for checking for compatibility.</comment></comment>


Millennials approaching family life differently than previous generations - <AUTHOR> https://www.pewsocialtrends.org/2020/05/27/as-millennials-near-40-theyre-approaching-family-life-differently-than-previous-generations/ <comment><USER2> This kind of thing was killing me while reading this: "three-in-ten Millennials fell into this category in 2019, compared with 40% of Gen Xers..."</comment>


Brendan Eich homophobe? - <AUTHOR> http://storify.com/vinch01/brendan-eich-homophobe

<comment><USER2> Instead of a long list of tweets, an actual story with an interview or response would have been ... informative.

</comment><comment><USER3> I think its silly to expect he can't keep his own political views on issues without having them muddied up with his work. Javascript is great technology. I couldn't care less what he did in his free time.

There is something to be said for the double standard here.

Pro Prop8 isn't necessary homophobic. The question is about marriage and there are a whole bunch of legitimate reason someone who likes gays might not wish them permission to marry (not that it should be their choice in the first place).

<comment><USER4> What legitimate reason can there be to deny homosexual people the same liberty that heterosexual people enjoy?

I've never understood how people can be ok with denying liberty to some class of folks. Don't folks realize that there could come a time when they themselves will be in the minority on something? And that they could have their liberty restricted?

We're not talking about forcing the catholic church to marry gay couples. They have the right of free association as far as I understand it and freedom of religion. We are talking about legal marriages. Yes, the "M" word.

Liberty is a basic right.</comment></comment>


Why Does Infrastructure Cost So Much? - <AUTHOR> https://www.strongtowns.org/journal/2019/7/31/why-does-infrastructure-cost-so-much <comment><USER3> I think infrastructure in some places in the U.S. ends up looking a bit like a ponzi scheme.

Example city--Charlotte, NC. Down south in Charlotte there is an area called Ballantyne. Ballantyne has good schools, new everything, etc.

Ballantyne also has high taxes.

So what do people do?

Move 5-10 minutes down the road into South Carolina where there is abundant land. They start developing. More people move in. Schools are built. They fill up. They build new ones. People complain about the old two lane country roads so they are expanded.

Taxes go up to support this.

Then either people keep playing the move game to a new undeveloped area or the ROI calculation that nobody does on infrastructure catches up with the town. Some can support it, others can't and it's a downward spiral.

I'm not sure I've explained this well. I mostly think about this from the human POV, which I didn't even mention above. The rational thing for someone living in the high tax area is to go to the new area as it is developing and everything is new and then to decamp before things go so far downhill that property values drop.

Game theory? Tragedy of the Commons? What all is at play here and then as importantly, how do we do better?

<comment><USER4> It's sort of a "Tragedy of Systems." It's very easy for negligent or malicious actors to make bad decisions in a system context, but to have the consequences of those decisions not manifest in the same time or place as where the decision occurred. This makes it really easy to screw things up without suffering the consequences in complex systems, and people often make decisions for their personal benefit ignorant of or willfully ignoring the consequences.

<comment><USER5> I think all of the above comments hint at this but don't state this explicitly:

One of the general problems with growth is that it always and necessarily plateaus, and the growth stage has different dynamics compared to the plateau stage. When your town/business/country is growing it is easy to leverage the future because there is more wealth to spare.

In the growth period, investing in a new park/office space/spending program is totally rational if it helps improve growth and quality of life now, given that repaying that debt will be easy later. But once growth slows down, our expectations of progress must also wane. This is hard for many people to accept because they think that past growth was paid for with past success, when the reality is that it was paid for with current success.

<comment><USER3> > _because they think that past growth was paid for with past success, when > the reality is that it was paid for with current success._

Wow, great contribution. I appreciate so much when anyone can pull a nugget out of my ramblings and explain it back to me in a clearer way.

To add on to what you said and to bring this back to infrastructure, I think another challenge in the plateau phase is that you either need to spend a lot to keep old infrastructure working or massively reinvest to upgrade the infrastructure. If you've plateaued without expectations of future success, where do you get the funds to do either?

</comment></comment></comment></comment><comment><USER6> > If we made the assembly of steel, concrete, and asphalt cheaper, do you > think suburban mayors would stop demanding we build them big box > interchanges?

I generally agree with many of Strong Towns' arguments, but this really seems to miss the mark. The reason why major infrastructure projects like regional/urban rail systems, tunnels, etc are so expensive vs other _developed_ countries isn't due to the cost of commodities like concrete or steel.

It's due to the lack of sufficient domestic expertise in designing, managing, and building such large scale works.

Because we don't build that scale of project frequently in the US, when we do it, we don't do it as efficiently. A recent example would be the use of the incorrect grade of steel in San Francisco's new Chinatown subway line.

OTOH, we have huge amounts of experience building big box stores, parking lots, and freeways, which are the sort of infrastructure that the Strong Towns perspective says (correctly IMO) that we don't need so much of.

We need to build infrastructure with higher utilization, which therefore doesn't need to rely on what Strong Towns describes as the Growth Ponzi Scheme, but unfortunately that's exactly the sort of infrastructure that we are not very good at building.

<comment><USER7> Two things this makes me think of.

1\. The US has a large NIH attitude and is unwilling to adopt overseas experience or standards.

2\. Somehow we have to move away from building infrastructure as stepwise huge mega projects. And start building infrastructure as an ongoing incremental and reliable program into perpetuity. E.g. instead of CAHSR designed largely as a dedicated rail system with huge up front capital costs the benefits of which can't be felt until it is all spent, set up a state rail agency to consolidate and consistently fund incremental improvements to the rail system, with incremental ROW purchases and improvements that over time reach the really big HSR goals. Imagine for example CAHSRs capital budget of $80 billion but instead going to fund an agency for 30 years that can then hire engineers and project managers and allocate it to its projects that have the best ROI over 30 years.

That last one seems to primarily be a political challenge though. Nobody likes state run agencies and everyone loves defunding them.

<comment><USER8> Right on! Was just driving Oakland to Sacramento last week and lamenting the fact there isn't a semi-high speed train tracking the freeways all the way out there. So much of our exurban sprawl puts people on 2 hour commutes along that route, seems like a perfect candidate for an incremental rail system.

<comment><USER9> It does seem like a good idea. Happily, this already exists.

[https://www.capitolcorridor.org](https://www.capitolcorridor.org)

<comment><USER8> Yeah, Capitol Corridor is great! I wonder what it would take to convert a bunch of those folks who jam up 80 and 680 every day into riders ... I suppose it's more complicated than just moving the right-of-way and stations into the more populated areas.

<comment><USER10> Well, why didn't _you_ ride it?

The central problem in traffic congestion is all those other drivers ;)

<comment><USER8> Off peak travel time, and my destination was waaaay past Sacramento. For journeys like that, a two lane highway would be totally adequate. But the massive crush of traffic at commute time is another story...

The observation was really about freeways being built on valuable land taken under eminent domain by the state while passenger rail is mostly relegated to being a second class citizen on freight routes laid out 150 years ago.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> The Strong Towns line is a pretty simple one, and this article simply reiterates on it: Nobody does ROI calculations on infrastructure costs and it will catch up with you sooner or later.

It might be compared to technical debt for the HN crowd: you build fast and break things for a couple of decades (post-WW2) and then suddenly you find yourself with an unimaginably complex, catatonic system that can't pay for itself. The interest payments overwhelm the rest of the system.

However! That doesn't actually answer the question about why _new_ infrastructure costs so much (surely a new subway line doesn't actually care if half the roads are ten years behind their maintenance schedule).

<comment><USER12> > Nobody does ROI calculations on infrastructure costs

Strongtowns have a great article about costs and benefits [https://www.strongtowns.org/journal/2010/12/21/best-of- blog-...](https://www.strongtowns.org/journal/2010/12/21/best-of-blog-costs- and-benefits.html) which makes some fantastic points about bogus numbers, and about how spending $ without gaining $ is a failure mode.

However, sometimes I feel they sideline the point that our government taxes us to provide shared infrastructure (legal, social, transport, hospitals, education, etc) and to prevent the tragedy of the commons.

Money spent to encourage social goals can be worthwhile or not, independent of the financial balance. Spending money that saves everyone time can be worthwhile, even if the tax base is not increased proportionally (the linked article disagrees with this). Edit: if the government taxes me $x for an hour's work, and spends $x to save me more than an hours drive, that is good economics for everyone even though the government hasn't increased tax returns.

Anyone who has been to some poor countries can viscerally understand the value of roading infrastructure, the value of social trust "infrastructure", or the value of safety and health improvements.

We can all see waste and bogus numbers in our governments, but yet most of us wouldn't move to a more anarchic country. We should fight against government waste and misincentives, but we should encourage improvements to our common good (the opposite of a tragedy).

<comment><USER13> Just FWIW, the Strong Towns team would mostly agree with what you're saying.[1]

Chuck would liken spending public money on things that don't have a measurable return on investment to "ice cream." There's room for ice cream in life. The problem is when its your entire diet.

What we're more worried about is that cities are losing so much money on bad investments that they're increasingly unable to afford "bread and butter," let alone ice cream.

And to be clear, as a response to this problem Strong Towns doesn't advocate stopping all spending/investment, but rather to take a careful approach that seeks to invest in things that produce a return, so the city will have more resources over time, so that there's money to pay for ice cream :)

I understand why you might get your impression though. Strong Towns content mostly is a blog stream and you can read a lot of it without getting the entire picture. Chuck's book is coming out pretty soon [2], and I think that'll help. The book boils down the entire Strong Towns "philosophy" (if you will) into something you can read in a day.

[1] Source: I'm on the board.

[2] [https://www.strongtowns.org/strongamerica](https://www.strongtowns.org/strongamerica)

</comment></comment></comment><comment><USER14> I have some family in the large public works business, so I have some persepctive here.

Large public works projects are really expensive and take a lot of know-how to get done _properly_. It's only been since the 70's that we've had the engineering chops to even understand how ground water works around a dam [0] let alone what to do with the older dams. The computer models of how the soil works around the transbay tube duing an earthquake is basically guessing, we just don't have good data. Heck, even with good models and good firms, you still have to just pray that the rain isn't too bad for a few years.

One of the main issues is that we just do not have a good idea what the ground/climate is doing over a 50 year timeline here in the US. Look at all the cliff-side houses in Santa Barbara, or the houses along the Mississippi, or the houses in Paradise. As such, it's very hard to insure, plan, and estimate what kinds of tolerances the public works should be built to.

To do things _properly_ is basically a guess most of the time. As such, when that gamble fails, the clean-up is really something.

[0] [https://www.youtube.com/watch?v=0EzoHXEzdwY](https://www.youtube.com/watch?v=0EzoHXEzdwY) esp. around minute 3.

<comment><USER15> > or the houses along the Mississippi

This one is different from the rest.

People have lived along the Mississippi for hundreds of years and the river reliably floods beyond its banks every. single. year.

The problem with dwellings along the Mississippi is the "moral hazard" by allowing the US Federal Government to insure these houses without preconditions and never denying a claim, despite the fact that one property has flooded more than 53 times in the last 50 years (claiming on flood insurance every single time).

I would argue that it's just not politically sexy to say "I am going to maintain this X" as it is to say "We are going to build this Y". They are the "blocking and tackling", but the voters are in the stands waiting for the quarterback drops back to pass long.

<comment><USER16> If it is flooding that frequently, I wonder if there is any required proof that things were fixed up since the last flood?

Seems like the owner is likely just making cheap patches and then waiting for the next flood to collect another payment.

Otherwise, I can't imagine anyone wanting to go through that every year.

</comment></comment></comment><comment><USER17> I feel like eBay is like this.

Everything is a new front end on top of a new front end.

Every once in a while, you'll get directed toward some ancient looking page designed for 800x600 that's running everything.

Particularly on the account payments side.

<comment><USER18> If the accounts payable system is still working and can handle eBay's volume, why spend the money to "upgrade" it?

Not everything old needs to be remade anew.

<comment><USER19> I once worked with a company where this line of thinking had infected all of senior management. That's how they ended up with an "intranet" that consisted of a shared excel workbook with hyperlinks to hundreds of other shared files.

But it wasn't broken, so why spend the money on SharePoint, right?

<comment><USER20> I'm not being facetious when I say I'd prefer a spreadsheet with links to Sharepoint. At least you can ctrl+f the spreadsheet.

</comment></comment></comment></comment><comment><USER12> Cost-benefit analysis is an engineering solution to a political problem - <USER2> seems great but it doesn't solve political issues.

In NZ potential changes to the national road system are ranked by cost versus benefit. Only the most beneficial projects are commenced, and low or negative value projects are not funded. Projects must also exceed a minimum benefit vs cost ratio.

The political problem is that national infrastructure project spending and lending is seen as overwhelmingly occurring in Auckland.

Cost-benefit leads to perceived imbalance because costs are massive in Auckland but the benefits are huge too (a large population, multiplied by large congestion).

<comment><USER11> Is that a political problem? Surely, a person who lives in rural NZ might think, "Oh, my tax dollars are being used to help those in Auckland; I'm being shafted", but if NZ is anything like the United States, urban centers are the producers of tax units and rural areas consume tax units.

<comment><USER21> It's worth pointing out that Auckland has recently added a regional fuel tax to pay for some of their roading infrastructure.

I haven't lived in NZ for a few years now, but I grew up there. I wouldn't be surprised if your analysis on urban vs. rural centers being producers vs. consumers might be slightly off as the economy is heavily dependent on agriculture etc.

New Zealand has two major problems: 1: Housing is completely out of touch with reality in Auckland (and to a lesser extent in all major centers). Auckland is one of the least affordable cities in the world to live in, and unlike San Francisco, lacks an industry that pays enough to keep up. 2: The regions are suffering from a death by 1000 cuts type scenario.

I have a working theory that the move towards bigger and better and more powerful cities has been one of our gravest errors in modern urban planning.

</comment></comment></comment><comment><USER22> this seems like a natural end to the author's aptly named 'Suburban Experiment'. once these true costs are factored in and some really unpleasant decisions made, it's not unreasonable to think that a lot of smaller tier cities/burbs will fold up due to a cycle of tax increases due to true revenue required => people leave => less tax base => death.

but honestly, that seemingly had to happen. the true cost of 'burbs is just way higher than anyone wanted to admit (or tax). the huge overhead of services + spreading them out over massive areas (relative to dense cities) seems to be untenable long term.

<comment><USER23> The suburb where I grew up is like this. The city can't get any tenants for vacant commercial and industrial lots. The school district is loosing enrollment and closing branches. Recently trash and recycling has been privatized. The budget hole cannot be closed because the governor cut funding to municipalities. I think it's starting to hit a bottom though. While there isn't any new construction to speak of, as boomers pass or move a surprising amount of younger families are moving in, probably because houses are only 100-200k.

I don't know what the end results look like. More ebb and flow I guess. I will say that this is a middle-middle class suburb; the upper middle class suburb it borders with the excellent school district and an equinox is doing great with homes selling for north of 500k.

</comment></comment><comment><USER24> Demand for new infrastructure competes with maintenance of old infrastructure, so decades of overbuilding will eventually exhaust the supply of construction services.*

*who are willing to deal with government red tape

<comment><USER25> Around here, it's not inaccurate to state that the construction services are the ones who _created_ the red tape. Politicians and construction firms around here concert to keep a steady stream of money flowing to only designated buckets. So not only are they willing to deal with it, but they would very much protest if it weren't there.

I try to keep in mind that it might be for the purposes of creating BS jobs for economic purposes. But here in Wisconsin, and everywhere else too probably, there is definitely a very large element of skimming tax revenue by funneling it to your buddies.

<comment><USER3> I wish everyone had the knowledge of The Power Broker by Robert Caro in their heads. It's a mammoth book, mainly talks about early 20th century NYC development, but my god is it enlightening into how infrastructure got built.

</comment></comment></comment><comment><USER26> I see a lot of comments here are missing the point. America just has too much infrastructure (roads for cars), spread way too thin. Walkable, bikeable neighborhoods require much less in the way of paving, highways, interchanges, etc. It's way cheaper to invest in places for people than it is to try to solve every problem with more concrete.

</comment><comment><USER27> This is, IMO, a terrible article that doesn't even begin to discuss any of the reasons why infrastructure in the US costs so much.

<comment><USER28> The article gives two reasons. The first starts in the paragraph that begins with

      The first underlying driver of U.S. infrastructure costs is that the U.S. has felt so rich as a country that, for decades, we spent freely on infrastructure and never asked serious questions about the return on that investment

And then lists some of the things we spend freely on that aren't really necessary. The second reason is

      The second underlying driver of U.S. infrastructure costs is how deeply embedded infrastructure spending is within our model of economic growth.

both of those essentially boil down to we spend so much because the market is set up to encourage us to spend a lot. Probably not the answer you were looking for, but at the end of the day we spend so much money because we have set up the market to enable high prices.

<comment><USER24> The underlying factor really is that the people in charge of spending infrastructure money are not really incentivized to be careful or ask tough questions about how it is being spent. Furthermore, they are often bound by piles of regulations and restrictions on their freedom for contracting the work, so they also lack agency.

<comment><USER29> Yeah, that's just the old and cynical "everyone-is-corrupt" talking-point.

It fails rather obviously because (a) the article is comparing costs across countries, and other countries haven't found some magic system to increase accountability of politicians and beaurocrats that goes beyond not re-electing them.

And, (b), there are plenty of incentives for decision-makers to keep costs down. Don't you think the governor or Mayor of New York would crow endlessly if they managed to build subway <x> or tunnel <y> for a fraction of the usual costs? Have you noticed how California's high-speed rail project and its cost overruns have been terrible for three governors in a row?

<comment><USER30> Whether anybody is practicing witchcraft or any other form of magic is beyond the point; it should be obvious to anybody who's not totally naive that some countries have more corruption than others.

</comment></comment></comment></comment></comment><comment><USER31> For new infrastructure specifically, it costs a ton in the US because of a combination of non-transparent bidding system from contractors (politicians give their buddies bloated contracts) and construction unions overstaffing construction sites.

In other words, taxpayer money is being taken for a ride. For a good example of the latter situation, look up the rampant overtime abuse that's been discovered at the LIRR. There's little incentive to keep costs down and use funds efficiently, because it's tax payer money.

</comment><comment><USER32> Environmental regulations. The average infrastructure project in the US spends 4.6 years in environmental review, which provides rich opportunities for NIMBYs to block the project.

The purple line in Maryland, a 16 mile long above ground light rail line through the DC suburbs, is so plagued by litigation, it will cost almost twice as much as Copenhagen's massive new subway expansion (27 miles of tunnel under downtown Copenhagen).

</comment><comment><USER33> Why do people subscribe to the myth that US infrastructure is bad? I am Danish and was on a road trip from Houston to LA, to Caspar WY, to Denver CO in 2017 and the roads we were driving on were excellent. Better than even the German highways which are some of the best roads in Europe. Is it the construction lobby that wants more funding and creates this narrative?

<comment><USER34> If your interest in infrastructure begins and ends with cars, then the USA won't disappoint.

<comment><USER35> TBH that's the American definition of infrastructure anyways.

</comment></comment></comment><comment><USER36> Reminded me of my mom's place. They've got a multi-year project to dig up the road, replacing main water pipe and other stuff, so whole road is closed off for a few miles. So far in 2019, my mom (who's a pensioner) and me have only seen people working there during weekends or after five in the evening. Mostly sporadically, nothing for a week, then a small group on Sunday afternoon, then nothing again.

Meanwhile all those construction vehicles and tools are just sitting around. Somehow these guys ended up being the lowest bidders.

</comment><comment><USER37> The costs probably went up for the same reason healthcare, education, and rent/housing* costs have gone up relative to inflation: they have not been able to take significant advantage of automation and outsourcing like most everything else has. It's one of the high-hanging fruits of automation and outsourcing.

(I'm not putting a general value judgment on overseas outsourcing here, only saying that it lowered prices.)

* You can't make land in a factory, barring a collision with Mars.

</comment><comment><USER38> It's really bizarre to complain about how roads cost "too much" when we are now spending $1 Trillion per year on stock buybacks.

A few executives and directors (who are already the richest humans that have ever lived) are adding orders of magnitude to their hoards with these massive buybacks. Google just broke records by announcing an unprecedented $25B in buybacks for this quarter. Over the same time period they are spending $6.2B for all of research & development.

Expect these buyback numbers to grow wildly in the coming years.

How much does a bridge cost again?

<comment><USER39> It's not just executives and directors who benefit from buybacks. It's shareholders. I've personally benefited, and I'm not in the 1%. Anyone who has an index fund or mutual fund in their 401k benefits from buybacks. So, you could make a case that buybacks (when used intelligently) benefit retirement accounts, which is a kind of public good.

Now, the question is, how long do the benefits last? And are buybacks always beneficial? I think that's debatable. There's data on both sides of that argument, but I do think that most companies don't use buybacks judiciously. Berkshire Hathaway does-- buying back only when they have cash that can't be put to a better use, and only when their share price is below intrinsic value. But most companies are using leverage to fund buybacks, which is a short-term way to benefit shareholders at the cost of long-term deterioration of the balance sheet.

I certainly hope we don't outlaw buybacks, but I think there's a case to be made that they shouldn't be done via leverage. Good luck trying to legislate that behavior, though. Money has a way of finding loopholes, and such legislation will almost certainly have negative, unintended consequences.

<comment><USER18> Companies do buybacks instead of dividends because it benefits _the company_ tax-wise, not because it benefits the stockholders.

From an investor's perspective, they're taxed the same.

<comment><USER40> Not really. As an investor you get more tax-flexibility with buybacks, since you can decide when you sell your stock. Lets you defer taxes, unlike dividends, which get taxed even when you reinvest them.

<comment><USER18> With a dividend, you get an amount of income, X, _and_ you get to keep the stock and sell it in the future for even more money, Y. Yes, you get taxed on it both times. But you get two payments of income: X and Y, both taxed at capital gains rates.

With a buyback, you might get X income. But in order to get you X gains the company needs to pay Z (current share price), which is always more expensive than paying a dividend (generally for dividend paying companies, a share trades for 10x-100x the amount the dividend would be for). So the company either pays 100x or it buys back less stock, rewarded fewer investors. Additionally, any shareholder that participates in the buyback is now closed off from getting income Y for any stock sold back. Alternatively, if you don't participate in the buyback, you must hope the company maintains or grows its share price, or else your gains fall below X and you're no longer deferring tax, you're just losing money.

(IOW, for the same amount of cash, a buyback is several times less efficient at returning gains to investors as a dividends. And this means that rather than increasing the price per share, buybacks frequently have the opposite effect, or no effect, because the company also has significantly less cash on hand after the buyback.

Then why do companies love buybacks? Executives love buybacks because it lets them exchange their equity compensation out-of-schedule. This is the primary driving force behind the rise of buybacks. The reason they open buybacks to the public is to avoid running afoul of SEC insider trader regulations.)

</comment></comment></comment></comment></comment><comment><USER41> I tend to think it's lack of competition. The industries that do best in the US are ones that foreign competitors have the easiest ability to compete in. Construction is almost inherently a domestic affair. With efficiencies gained in more competitive the money saved has to go somewhere so it gets spent on construction.

Of course a problem with this is that I don't think all forms of infrastructure spending of gone up in price - look at housing; per square foot I don't think the cost has gone up _that_ much.

</comment><comment><USER42> But it does not in Europe. America pays about 2-3 times the price per mile for roads and rail than in Germany.

Australia pays even higher prices than in America.

eg Sydney purchased surplus trams from Spain. The Spanish tram system cost USD 115 million for about 40 km (25 miles) and Sydney has already spent nearly $3 billion (USD 2.1 billion) for about 40 km and it will cost another $500 million before a single tram starts. The project is already years behind schedule.

</comment><comment><USER43> Health care is expensive.

Infrastructure is expensive.

Education is expensive.

What all these things have in common is that they are labor intensive and must be performed with American labor—and well-trained American labor at that. American labor is expensive because we're a rich country. So it's absolutely no surprise these things would be expensive, and not much we can do about it.

At least that's become my theory and it's so obvious to me that I don't know why it hasn't been analyzed that way.

</comment><comment><USER44> For a long time our culture seemed to produce honest people doing work for an honest wage. They would be reluctant to "charge more than it's worth". There was an element of honor to it, and avoiding the shameful act of gouging your customer. If something takes 2 days to do, and it costs you $30/day to live, then you charge, say $120 - you're not only living, but also you're saving for a rainy day. It's a good thing.

Cynical market manipulation has soaked into real world work at every level both public and private. Sociopaths with the balls to ask 10x or 100x the traditional, cost based price have succeeded totally, and have lured workers with 2x or 5x wages, essentially starving any potentially honest competition. It stuffs all the good workers into a profit-maximizing corporation that now has a lot of other priorities that often conflict with "an honest days work for honest pay".

The city politicians and admins responsible for actually spending the peoples money are often unable and/or unwilling to actually take responsibility for the projects. Partly this is the moral hazard of spending other people's money; but partly it's passing the buck, not wanting to take on any risk associated with real project execution. The public's awareness is dim and short-lived, so the upside of project success isn't worth the risk. So you hire a firm to hire the firm to do the project, and you have plenty of scapegoats if things go sideways.

I don't think successful projects can just happen. You need individuals, visibly, identifiably, running projects, and building reputations. I think it's wrong for a small town's admins to throw money at a big corp to do an infrastructure project, and pay themselves 6-figure salaries to "oversee" it for 10 years, "darn those overruns!" In fact, I think it would be great if infra project competence was second only to running a self-restrained police force as a topic of city elections (the distant third being capability in running other city services well).

But from what I've seen American voters only show up if they have strong emotions, and don't know anything about government or the people running to rule them. So, this is what you get.

</comment><comment><USER45> Digging costs a lot of money.

[https://arstechnica.com/tech-policy/2018/03/dig-once-rule- re...](https://arstechnica.com/tech-policy/2018/03/dig-once-rule-requiring- fiber-deployment-is-finally-set-to-become-us-law/)

</comment><comment><USER46> Wait, if we freely spend on infrastructure, and infrastructure assumed to be just a given, then why do we have a D rating on infrastructure by our engineers? Why do we have so much neglect in our infrastructure? Something doesn't make sense here.

</comment><comment><USER47> The first part is quite good. Those who could be making infrastructure cheaper have no incentive to do so. The comparison to education and healthcare is spot-on.

The second part is a bunch of Malthusian nonsense.

</comment><comment><USER48> Union contractors and brothers-in-law are most of it. I lived in Houston for a while, which is a very large and bureaucratic city. They can't get infrastructure done right. In the area are a few small towns which incorporated before being sucked up by Houston, and are much more efficient. They are called the Villages, and banded together to run their own police, fire, public works, etc. Instead of dealing with stupid unions, they hire normal private contractors and get things done quickly. Get rid of your horrible union agreements, and be more like the Villages.

</comment><comment><USER49> He is right in the sense when local bodies have decent leadership good things happen. But who wants to go work in local govt? There lies the problem.

</comment><comment><USER50> As another perspective, a recent draft paper[1] notes a correlation between transportation infrastructure costs and how much community involvement there is on the project. TL;DR, infrastructure was way cheaper when we could just bulldoze through neighborhoods and wetlands without meaningful pushback.

[1] Brooks, Leah, and Zachary D. Liscow. "Infrastructure Costs." SSRN Scholarly Paper. Rochester, NY: Social Science Research Network, July 31, 2019. [https://papers.ssrn.com/abstract=3428675](https://papers.ssrn.com/abstract=3428675).

</comment><comment><USER51> Do the numbers support this conclusion? Because without numbers this seems like complete conjecture.

What a waste of time reading this article.

</comment><comment><USER52> Bad code

</comment><comment><USER53> It's not just infrastructure, or cost. After watching Apollo 11 the other night, I can't fathom how that was done in 8 years.

Also, in the movie, one of the mission controllers looked to be about 70. To think that when we he was born, flight, radio, and computers did not exist. Here he was putting men in the moon.

Here I'm, born a couple of years after that, and seems not a damn thing has happened since. Everyone has a piece of shit in their pocket with which they can sext. Call that progress; Truly depressing.

<comment><USER24> It was done in 8 years because the US was spending 4% of GDP on NASA, which was probably a mistake in retrospect. The other reason is that it was a greenfield project with competent management, generally.

<comment><USER54> Has anyone done a good analysis of this? It can probably be argued many ways.

The program did cost much less than the Vietnam War, and did pay off in future dividends. The war not so much.

[https://thevietnamwar.info/how-much-vietnam-war- cost/](https://thevietnamwar.info/how-much-vietnam-war-cost/)

<comment><USER55> Also the Moon landing was at least as much defense spending as it was science spending. The Soviets derived a lot of national pride from holding all the major space achievements and beating them had great propaganda value. Also without knowing how useful the moon would be it was deemed unacceptable to risk the Soviets gaining a foothold, exploiting all its resources and defending it as their territory.

<comment><USER24> Doesn't that sound kind of whacky in retrospect?

</comment></comment></comment></comment></comment><comment><USER56> Awful article. The primary reason is that government has very low accountability, so it's ripe for corruption.</comment>


Search results omitted, erased, or censored due to the "Right to be forgotten" - <AUTHOR> http://hiddenfromgoogle.com/

<comment><USER2> Heh, so does _this_ site need to be forgotten for those queries too?</comment>


Ask HN: Hiring first employee for my startup. What documents need to be signed? - <AUTHOR> I'm basically looking for some kind of employment agreement template. Anyone has any links where I can find it? This is non-paid position, equity only. I want it to include words about 4 year vesting (with probable dilution if startup gets funded, do I need to mention it?), the responsibilities, hours that we agreed this person would need to work (this is part-time for now) etc. Basically any kind of template that I can reuse for my purpose. I'm very bad at writing these kind of documents by myself so looking for some examples. <comment><USER2> [https://www.docracy.com/6u54l62z2e/founders-agreement- templa...](https://www.docracy.com/6u54l62z2e/founders-agreement-template- with-vesting)

<comment><AUTHOR> thank you! this is mostly for founders. Anything for first employees?

</comment></comment><comment><USER3> Unpaid workers, options rather than stock, vesting, etc. all seem like minefields in an employment contract. For example in the United States, it is my understanding that upaid employees are illegal. I am not a lawyer.

This is really, really, really a question for a lawyer familiar with local laws and businesses specifically designed for high growth [or however else the business is engineered].

Good luck.</comment>


Number Theorist Fears All Published Maths Is Wrong - <AUTHOR> https://www.vice.com/en_uk/article/8xwm54/number-theorist-fears-all-published-maths-is-wrong <comment><USER2> Title is somewhat misleading. "Number Theorist Fears That No Published Math Paper Is Certain To Be Correct" would be more like it. The fear isn't that everything is wrong. The fear is that any given piece _might_ be, and therefore we can't have real confidence in any of it.

<comment><USER3> There is a reason for this. Vice, while once ground breaking, has since become the dumpster diver of the journalism world. And once you give up enough integrity, it no longer matters where you find your story or what condition it's in. I wish I could still trust them at face value.

<comment><AUTHOR> Thanks for mentioning this, I'll be more critical in sending submissions from Vice.

</comment></comment></comment><comment><AUTHOR> Related to this, I wish someone had a simple course on this for people who don't know that much about (automated) proofs.

I looked it up on HN [1], but couldn't find any.

[1] [https://hn.algolia.com/?q=proof+assistant](https://hn.algolia.com/?q=proof+assistant)

<comment><USER4> If you don't know much about proofs, you first have to learn how incredibly good mathematicians are at nitpicking (if they want to), and you have to accept that that is a good thing.

Thing is, if you want to be rigorous, you cannot accept anything as true, except for the axioms you're working from, and you want as few and as simple as possible of those because that decreases the risk that your starting set is internally inconsistent. You also want every single step in your proof to be absolutely bloody obvious.

For example, if you want to build math from the ground up, you don't accept that integer multiplication or even integer addition exist, but you construct them. In fact, you don't even accept that integers exist; you construct them, for example from natural numbers ([https://en.wikipedia.org/wiki/Integer#Construction](https://en.wikipedia.org/wiki/Integer#Construction))

Starting with the absolute basics also allows you to pick and choose which axioms to start with, for example by not including the law of the excluded middle ([https://en.wikipedia.org/wiki/Law_of_excluded_middle#Logicis...](https://en.wikipedia.org/wiki/Law_of_excluded_middle#Logicists_versus_the_intuitionists)) or the parallel postulate ([https://en.wikipedia.org/wiki/Parallel_postulate#History](https://en.wikipedia.org/wiki/Parallel_postulate#History))

For learning how deep that nitpicking can go, [http://us.metamath.org/index.html](http://us.metamath.org/index.html) (A proof assistent that is, IMO, simpler to understand than many other ones, but has really, really long proofs) may be illustrative. See for example their proof that _2+2=4_.

Once you accept that every detail needs your full attention, I think [https://leanprover.github.io/theorem_proving_in_lean/](https://leanprover.github.io/theorem_proving_in_lean/) has a decent introduction.

If you just want an introduction to _a_ theorem prover, [http://www.cs.ru.nl/~freek/comparison/comparison.pdf](http://www.cs.ru.nl/~freek/comparison/comparison.pdf) (discusses 17 different ones) also may be useful.</comment></comment>