What If C++ Abandoned Backward Compatibility? - <AUTHOR> https://robert.ocallahan.org/2020/03/what-if-c-abandoned-backward.html <comment><USER2> Then you'd just repeat the Perl 5/Raku split. You'd have a "new" C++ that isn't actually C++ but it's called C++ with a different version number and people will then bicker for a few years until they realize that the "new" C++ isn't actually C++ and that the "old" C++ just vehemently refuses to die, so they name it something else.

The C++ standards committee can standardize a backwards-incompatible "new" C++ for all I care as long as they don't call it C++.

<comment><USER3> I believe it's called Rust :)

<comment><USER4> Sadly rust lack some big features that c++ has like polymorphic inheritance, function overriding and function overloading.

<comment><USER5> I think that is for the best. I prefer less implicit behaviour in my code, even if it means my identifiers get longer.

<comment><USER6> Rust doesn't have function/operator overloading _yet_ or it won't have it at all? I am vastly for clarity and simplicity over vague, implicit stuff but doing e.g vector operations can get very unreadable very quickly without it.

<comment><USER7> Rust has operator overloading,

[https://doc.rust-lang.org/rust-by-example/trait/ops.html](https://doc.rust- lang.org/rust-by-example/trait/ops.html)

</comment></comment></comment></comment></comment></comment><comment><USER8> It'll most likely be abandoned in droves. One of the main reasons to stick with C++ (and C) is that the investment you put in the code you're writing right now, no matter how fugly it is, will be there and keep working in the future.

Also:

> I think it also makes sense for C++ developers whose projects are relatively > short-lived, e.g. some games.

There is a difference between games and engines - the games might be short lived, but most C++ engines are _very_ long lived, going back decades (e.g. see how the recent Half-Life Alyx can trace its codebase back to Quake 1 or pretty much anything based on the Unreal Engine going back to the mid-90s - there are screenshots of UE1 running on what appears to be either Windows 3.1 or NT 3.51). Even when "engines" are being made "from scratch" this is often a marketing gimmick and the "from scratch" was just renaming the engine because it got a new rendering model and people can't tell the difference. _EVEN_ when this isn't case, often new engines are based on existing code and/or libraries.

<comment><USER9> Agreed, I think looking at the Python 2 and 3 migration catastrophe gives a glimpse into what this could look like, but I imagine it would be much worse given the types of (large) projects that are backed by substantially "dated" C/C++ code.

<comment><USER10> The reasons the transitions worked were that:

\- the languages were not that different, so no need to learn the new version

\- python core devs gave 10 years to make the transition. Then extended it.

\- it was possible to write code running on python 2 and 3

\- python is very expressive, hence the code base have way less numbers of lines than in C++

\- python cared only about one implementation, Cpython. The rest of the world needed to follow. Some didn't, like Jython and stackless, and the community didn't blink.

Despite all that, the transition was very painful.

<comment><USER11> "Worked?" Nothing about the Python 2 to 3 transition "worked" and people are still aghast that's Python 2 is being EOL'd.

<comment><USER10> I've been coding in Python for 15 years, and from what I see in the numerous places I get to work, yes, it worked.

It's just that aghast people are the most vocal. You don't hear the 90% of people that are happy. They don't take the time to speak up. But the unhappy complain all the time.

<comment><USER11> I'm not speaking about developers complaining, I'm speaking about the fact that it's still a fractured ecosystem and plenty of popular programs, packages, and scripts still in use or even still actively developed rely on or integrate with Python 2 (exclusively).

<comment><USER12> > I'm not speaking about developers complaining, I'm speaking about the fact > that it's still a fractured ecosystem and plenty of popular programs, > packages, and scripts still in use or even still actively developed rely on > or integrate with Python 2 (exclusively).

Such as? What actively developed tools or ecosystems rely or integrate with python2 exclusively?

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> If C++ abandoned backward compatibility, then this C+++ would compete with modern languages like D, Rust and it's absolutely not clear what the winner would be. As long as C++ is backwards compatible, it have tremendous advantage of having billions of LoC which don't have to be rewritten.

<comment><USER7> Like all systems languages, the winner would be those that are sponsored by OS vendors for their platforms.

</comment></comment><comment><USER14> Some here are saying "Why not just use Rust/D/Zig/Nim/Crystal if you're going to break backwards compatibility?" I believe the proposal is closer to "We've removed this old feature, run this tool to replace it with the new one." C++ will keep looking like C++, not like Rust. Here's Google's "Codebase Cultivator" explaining the idea for their Abseil library:

[https://youtu.be/tISy7EJQPzI?t=2209](https://youtu.be/tISy7EJQPzI?t=2209)

I remember watching another talk where they propose something similar for the language itself, but I can't find it at the moment.

<comment><USER15> Unless you manage to integrate this directly into the compiler stack and have it work 100% of the time with no "ifs" or "buts" I don't think it'll work.

Maybe you could do like Rust with their "Epoch" system that lets you interoperate code using various standards in order to migrate progressively without breaking backward compatibility. I suspect that it would be a lot harder to make it work for C++ however, mainly due to its extreme reliance on #includes (especially for anything using templates) and more common use of macros.

I'm not saying it's impossible but I suspect that it would fragment the ecosystem quite a bit. Removing "old features" tends to have massive side effects in a language like C++ with metaprograming, overloading, multiple inheritance, unlimited macro usage and complex symbol resolution rules.

So I think "why not just use Rust/D/Zig/Nim/Crystal" is warranted feedback for these proposals (and you could probably add Go, C#, Java and a few others).

<comment><USER16> Funny enough, Rust doesn't call them "epochs" anymore, we switched to "edition" before the release.

However, there's an active (and in my understanding, decently received) proposal based on it for C++ that is called "epochs".

</comment></comment></comment><comment><USER17> Sometimes I wish Google would just stop participating in open source and standardization. The proposal actually suggests supporting Fuschia at the language level, but not any of the BSDs, and replacing the ABI with protobuf (or similar).

Much of this proposal would create insurmountable engineering problems for everything except the Google monorepo, or similar infrastructure at $1T companies building monoliths.

Historically, most innovation has happened outside of those environments.

Sabotaging the toolchains of smaller shops is not going to pan out well for the industry at large.

<comment><USER18> They list an "initial non-exhaustive list of platforms" which includes "OS/kernel." I don't think it's fair to say that they are excluding the BSDs even if they aren't explicitly mentioned. The point is that new C++ shouldn't need to support old and historical platforms.

</comment></comment><comment><USER19> Many people don't realize just _how_ conservative C++ is (the OP only briefly mentions this). The committee not only avoids breaking existing source code, but even _binaries_ , although binary compatibility is not defined in the standard at all.

C++ 11, 14, 17, 20, and 23 are all binary compatible (modulo some possible oversights). There are many quality-of-life improvements that got voted out because then a binary compiled in C++11 wouldn't be compatible with one built in C++23 anymore.

As a simple example ([1] has many more): the only reason we have both std::scoped_lock and std::lock_guard is because changing the definition of the latter would have required re-compilation of existing code, so a new class had to be introduced.

ABI stability even overrides performance in committee decisions (see the std::regex example, but I also heard it affects the footprint of unique_ptr - edit: found it [2]).

tl;dr breaking source code compatibility seems way off if implementors don't even dare to break binary compatibility.

[1] [http://www.open- std.org/jtc1/sc22/wg21/docs/papers/2020/p202...](http://www.open- std.org/jtc1/sc22/wg21/docs/papers/2020/p2028r0.pdf)

<comment><USER20> At this point they should just standardize the ABI. It would solve so many headaches, and allow C++ to be used as a proper systems language.

<comment><USER7> In Windows we at least have COM and now UWP.

</comment></comment></comment><comment><USER21> Reading the paper that this is responding to is helpful if you want to get a better understanding of the proposal and the motivation behind it: [http://www.open- std.org/jtc1/sc22/wg21/docs/papers/2020/p213...](http://www.open- std.org/jtc1/sc22/wg21/docs/papers/2020/p2137r0.html)

<comment><USER22> is there a discussion thread around that proposal somewhere?

<comment><USER21> You're reading one ;)

</comment></comment></comment><comment><USER23> There would then be two C++ languages. The overwhelming majority of users would stick with the old one, a scant few would take up the new one, and the rest would move on to some other language.

<comment><USER24> This.

I'm currently working on a C++ project that has been taken out of cold storage and when the old rewrite question pops up the tech stacks considered for the job do not feature C++ at all. The main reason is that nowadays there are better tools and frameworks to implement non-performance critical parts of an application such as the GUI, which incidental takes over more than half the total lines of code, and the rest can be implemented easily with small support services developed in whichever tech stack you choose. Thus C++'s "jack of all trades" trait is no longer a major factor in the decision. Meanwhile the lack of a stable ABI starts to feature prominently as a reason not to adopt C++.

<comment><USER23> Most of the pressure to break compatibility comes from Microsoft and Google, representing a truly minuscule fraction of C++ users. However, both are heavily represented on the ISO Standard committee, and very, very little happens there without their express approval.

Introducing a new ABI in competition with the current ones (e.g. ia32 and x64) would be less destructive than officially abandoning those currently in use.

</comment></comment></comment><comment><USER25> Isn't C++'s selling point that it is compatible with almost 45 years of code?

Seems like a terrible thing to break this late

</comment><comment><USER26> For this to work you would need stable bridge for calling between old and new version, and with c++ lacking stable ABI and high dependency to header- template interfaces (which is part of the bad c++ one would want deprecated), this could be an issue. Sure, extern C already exists but it's a leaky abstraction and it won't be added to existing libraries overnight. Without this you can look at python 2 to 3 migration to see what will happen.

</comment><comment><USER27> I personally wouldn't mind seeing the language go the "editions" route a la Rust.

<comment><USER16> [http://www.open- std.org/jtc1/sc22/wg21/docs/papers/2020/p188...](http://www.open- std.org/jtc1/sc22/wg21/docs/papers/2020/p1881r1.html)

<comment><USER27> I remember seeing murmurings of this on reddit. Cool to see it's a paper now, thanks for sharing.

</comment></comment></comment><comment><USER28> The catastrophe would be worthy of inclusion in Randall Monroe's What If? book.

</comment><comment><USER29> It would be nice to have a compiler option, that would deprecate things from earlier standards, that would work per file or per pragma block.

</comment><comment><USER30> You would get D ...

<comment><USER11> You would get a runtime and GC?

<comment><USER31> D is able to run without its runtime and GC. [https://dlang.org/spec/betterc.html](https://dlang.org/spec/betterc.html)

And an older link:

[https://www.auburnsounds.com/blog/2016-11-10_Running-D- witho...](https://www.auburnsounds.com/blog/2016-11-10_Running-D-without-its- runtime.html)

<comment><USER32> Able to run, yes. But it is not the default, ergonomic way to write D code like it is in C, C++ and Rust.

<comment><USER7> Thankfully, GC offers productivity and allows for safe code by default, while D still offers the necessary language features to do all the low level tricks from C, C++, Rust, Objective-C, if one actually needs to go down that level.

<comment><USER32> I like being able to write safe _and_ GC-free code by default. Rust would be even better if it was possible to opt into GC, but I would still want to to be GC-free by default. It's good that the entire library ecosystem has grown up GC-free and that should continue.

</comment></comment></comment></comment></comment></comment><comment><USER5> I'll never understand the portion of the C++ community that insists on modernizing the language to the detriment of everything else. When is enough enough? Just let the language be and focus on improving the standard library, not changing language features.

<comment><USER18> You do realized that the standard library is also specified? You can't change bad things in the std without breaking backward compatibility.

<comment><USER5> I mean standardizing libraries that are widely useful for minimizing external dependencies.

Like networking support, serialization for ubiquitous formats like JSON, etc.

</comment></comment></comment><comment><USER33> So, the author wants something between FORTRAN's Ratfor and F. I can see it as a supplement to the C++ standard but not being the actual standard. It would make people distrust C++ greatly if implemented as the standard.

</comment><comment><USER34> It'd def. be better to lay it next to COBOL in Valhalla and move on. Breaking the Bkwds comp. makes it C++ in name only.

</comment><comment><USER35> it would be rust

</comment><comment><USER36> It'd probably be 20% as big

</comment><comment><USER37> It would become Rust?

</comment><comment><USER22> I think this discussion is awesome, such a readworthy mix of opinions, experience and large scale digressions :)

</comment><comment><USER38> You'd get Rust or maybe something in between Rust and Go. We have Rust and Go, so there's no point.

<comment><USER39> I don't see how you can draw this conclusion. Taking C++ and breaking backward comparability just means you can move the standard for C++ foreword without concern for supporting 10+ year old source code. I cannot see a reason this would impose some stringent, immutable by default ownership/borrowing requirement, a radically different type system, a lose of template meta programming for macros (in the case of Rust) or the adding of garbage collection and an invasive runtime with a language imposed concurrency model to the exclusion of others (in the case of Go).

Sure as time passed, the non backward compatible C++ would add features not currently in scope for C++, but the radical redesign of the fundamental language is not what this proposal suggests.

<comment><USER40> > I don't see how you can draw this conclusion.

Those two languages were created without consideration of backwards compatibility with C/C++ source code and were designed for the same job. It stands to reason that given no constraints of compatibility, you'd get something similar to those languages.

Now obviously, those languages do not have all the features of C++ nor the same design principles. But as soon as you have all the features of C++ with the same principles, you have something so close to C++, that it doesn't make sense to break backwards compatibility.

</comment></comment></comment><comment><USER41> We have Python2, Python2.7 and Python3.x. Everybody happy. Loose backward compatibility and evolve.

</comment><comment><USER42> You mean, exactly like D?

</comment><comment><USER43> It would become C# :)

<comment><USER44> I think the concept would look more like Rust. It is still compiled to machine code, not VM opcode. You do not need a VM and do not require a garbage collector, JIT, etc. which makes it suitable for more use cases.

But: if it's a completely new language (no backward compatibility to C++) - why do we need this? Can't we just use one of those new languages that are already available (Rust, Zig, Odin, Nim, just to name a few).

<comment><USER45> Those languages are all pretty different from C++, right? I'm assuming the new C++ would be very similar to old C++ with a bunch of things "considered harmful" removed.

<comment><USER39> Well I've seen at least three recent CppCon talks where they say that 'for' loops are harmful and a template function should be used always, so I would hope there would not be a removal of these things, just a non-concern with requiring that changes don't break the compilation of 10+ year old code.

</comment></comment></comment></comment><comment><USER46> Well we'll have to maintain the old version. It'd be simpler to keep on calling it "C++," but then we need a catchier name for "new C++." How about "Rust?"</comment>


This is Nutella, my attempt to put a sweet topping on Ruby. - <AUTHOR>

I love Ruby inside and out, but as with any tool there are always some "pet peeves" that plague it. Luckily, Ruby is more than happy to let you patch it up, so I created this library to ease some of my pains.
So far I've been adding features as I need them, but I'd be interested at any feedback that the hacker community may have.
On GitHub: https://github.com/gbchaosmaster/nutella On RubyGems: https://rubygems.org/gems/nutella
Any suggestions on making this library better would be great. <comment><USER2> You might want to change that name, Ferrero is quite protective of it.</comment>


Former Valve initiative CastAR shuts down - <AUTHOR> https://www.polygon.com/2017/6/26/15877804/castar-shut-down <comment><USER2> No surprise.

I interviewed there a while ago, it was one of the most surreal experiences ever:

First the HR lady refused to proceed unless I told her what my current salary was. I refused, as I always do. She said they cannot proceed if I do not, and I said that that is fine and I am happy to leave. She said no, we can go on. She then tried to get me to sign a very large NDA. I refused, as I always do. She said that without that they cannot demo their technology to me. I said OK, i do not need a demo, if, after interview, both the company and I feel like we match, we can do that then. Ok… she brought her boss, same story with him – salary, NDA, etc… Eventually he said we can proceed to interview.

Two guys walk into the room – #1: Asian, 50s, #2: White, 30s.

#2 did not say a single word the entire time at all.

#1 looked at my resume, and asked why I thought I was a fit. I said that they called me and spent weeks convincing me to come interview, so that is not a question for me. He asked if I had done any embedded work. I said yes, and a list of my cooler projects was on my resume and website. He looked and said: "this is all crap." I asked "excuse me?" He said that none of my projects were interesting or useful. I pointed out that my world's smallest JVM has actually been licensed by a number of companies, indicating that it is useful, and that, uARM, my modular ARM emulator was being used in a few universities to teach courses on architecture. Se said that he doubts this, and even if true it proves nothing.

#1 asked if I was familiar with running linux on very limited hardware. I said that yes, and I had in fact run it on an AVR a while ago. "That is all crap" was his reply.

At this point I was a bit stupefied. Instead of asking me questions, he was just insulting. But ok, perhaps it was a cultural difference, so I persevered.

#1 asks if I had had any experience porting android to any devices. I pointed out that yes, I had ported new versions of android to a number of old devices, and once to a watch that had had no android support previously at all, and besides that I worked in Android at Google. He told me none of that is what they are looking for.

I asked what it is they are looking for, and he said: people who have experience with android porting. I re-explained carefully that what I had just told him is that I had ported android to a number of devices and was quite familiar with the process. He again said that "no, that is not what we need, this is worthless"

#1 asked me if I had ever made changes to android graphics stack. I said that yes, I had, including writing my own implementation of gralloc and HWComposer on a weird 2D accelerator on a weird MIPS chip. He said that yet again no, that is all "crap"

At this point, I had had enough. So when he asked me again (for some reason) why I thought I was a fit, i replied: "well, I clearly see now that I am not. Sorry for wasting your time."

I got up and left.

Given this sort of interviewing process, I am not at all surprised of the outcome of this company.

<comment><USER3> That sounds beyond bizarre! It would have been really interesting to know if management was on board with that interview style. Not that it would change the fact that walking out probably was the correct choice.

<comment><USER2> I considered writing this up publicly after, but did not do it. Hopefully they did find a good linux / graphics / embedded wizard whose work was not "crap"</comment></comment></comment>


IPhone Apps Design Mistakes: Over-Blown Visuals (2009) - <AUTHOR> http://www.smashingmagazine.com/2009/07/21/iphone-apps-design-mistakes-overblown-visuals/

<comment><USER2> To this day, Motion-X absolutely kills it with their "overblown" designs. This 2009 article is harping on an app that was dominant for the two years following its publication, and a design strategy that is still working for the company.

It's true that you can make an excellent UI using the standard components, and this also leads to other advantages like being able to adapt to new screen sizes easily. But to say Motion-X's UI somehow fails is a disproven hypothesis.

They went on to use the same kind of design approach for Motion-X GPS Drive, which let me check... yep, makes more money than _Angry Birds_ in the US App Store, ringing in at 11th grossing app overall (not in the category, on the entire App Store).

Spot on, Smashing Magazine... you literally could not have picked a worse example. Maybe I should be quiet though, since we compete with them on some apps :)

<comment><USER3> How does the fact that the app sells well disprove the fact that the app is badly designed? I have both Motion-X apps, and I love their features, but I find myself using simpler apps because of the Motion-X UI clutter. Motion-X offers an impressive feature set for the price, but why on this earth do I have to deal with un-familiar graphical switches to change a setting? Where in the real, tangible world does having more switches and buttons make something better? I'd actually use the apps more than once if I didn't have to study the UI in order to make a task-related decision.

For example, take a look at a screenshot from Motion-X's Drive app (<http://i.imgur.com/uWXdk.jpg>). Compare that to the less-flashy Tomtom app UI (<http://i.imgur.com/6mPKe.jpg>)

Which UI is more functional?

And for run tracking, which UI would you find yourself more inclined to use, Nike GPS' (<http://i.imgur.com/80pLl.jpg>) or Motion-X GPS' (<http://i.imgur.com/tTdMN.jpg>)?

I never can figure out how to use the Motion-X apps. Tease me all you want, but the UI is a chore to me. I prefer the dumbed-down Tomtom app for navigation and the Nike GPS app for my runs. While they may lose, _feature- wise_ , they win on _functionality_. Why should a user have to deal with artificial UI abstractions that add flair at the cost of increased cognitive load?

<comment><USER4> _How does the fact that the app sells well disprove the fact that the app is badly designed?_

Being well selling doesn't mean that it's not badly designed, it means there's a financial interest in not changing it.

<comment><USER5> Exhibit A: the fucking ribbon.

</comment></comment></comment></comment><comment><USER6> My latest iphone/iPad app would probably be considered as "overdesigned" by the article's standards.

[http://itunes.apple.com/us/app/fantasy-football-draft- monste...](http://itunes.apple.com/us/app/fantasy-football-draft- monster/id451545140?mt=8)

[http://itunes.apple.com/us/app/fantasy-football-draft- monste...](http://itunes.apple.com/us/app/fantasy-football-draft- monster/id459009632?mt=8)

Do you know why? Because overdesigning SELLS. My iPad app is currently ranked top 75 overall and my iPhone app has been in the Top 100 overall. With 400K apps in the app store, having a unique looking UI will attract more people to try it.

I totally agree with having good UX and being consistent with the HIG, but the user can't appreciate that until after they've purchased the app. So if you want to actually sell a few copies, then suck it up and pimp out your UI. You'll be glad you did.

<comment><USER7> I don't think your app would be considered over-designed - check their "police scanner codes" example.

Your app still uses normal buttons, and even the "tabs" are close to Apple's toggle-button-array design. Your search field is exactly like the OS standard. Compare that to the article's examples.

<comment><USER8> I would also point out that Apple is doing a lot more "overdesigning" itself these days. I think the address book in Lion or the Reminders iOS 5 app are evidence.

</comment></comment></comment><comment><USER9> The author uses the fact that most apps are not used much after they are first downloaded to to justify his argument that non-standard controls are bad. But he fails to make a causal connection.

On the contrary, people will use apps if they are useful, and will learn any UI to achieve their goals. Does Angry Birds use any standard UI controls? Nope! But people play it anyway, because it's a great app. Standard UI controls would just make it ugly.

</comment><comment><USER10> Decent points, but it's from 2009. Also, using 3D pie charts in an article about proper design... maybe not the most effective technique.

</comment><comment><USER11> Glad the author used the Bloomberg stock finder input as an example.

I've been teaching my father in law how to use the Bloomberg app on his iPad and this was one of his biggest stumbling blocks - he just couldnt work out why the keyboard wouldn't appear.

With the adoption of these types of devices moving to include the "non-tech savvy" population, who aren't as quick to work out unclear UI, we start to see how small UI choices can have a dramatic effect on usability.

</comment><comment><USER12> I agree with the principle of "over design" - we old guys call it "if it isn't broken don't fix it".

However, some of his examples aren't convincing for me. I actually like the ugly Motion-X toggle switches compared to the IOS toggles which are a bit confusing I find - I can immediately see what is active / selected on the motion-X screen but on his examples of the correct" design I couldn't immediately work out what is selected/active. Also, the Motion-X tabs are much clear to me - there I said it.

To be honest the author comes across as one of those who insist on people following the "correct" rules even when they get in the way or there is a better solution.

I'll bet there are a lot of people who also disagreed with some of his examples but who won't say anything for fear of appearing "ignorant" in the eyes of the "design police".

Another important point. He states

"On average, only 3% of people who have downloaded an app use it after 30 days. Why? Because the majority of iPhone apps don't make any sense to users."

But where is the evidence for this? He shows App usage over time graphs which don't separate between "over-designed" and "correctly designed apps" and then goes on to make an unwarranted assertion that the fall off is due users not understanding how to use the apps! How about the utility value of the apps not being enough or users getting bored with their $0.99 fun purchase ?

Lastly, if you go to the author's web site. You'll see he's designed an app for a pizza company. I downloaded it and it's beautiful (in fact I fancy a pizza now)! However, It does not use ANY standard IOS controls and has gone for a very nice custom dedicated UI!

His article spends a lot of time basically saying that the standard UI should be used but as his own app demonstrates there are cases where a custom UI is appropriate. His article would be much better if he provided guidance on when using a custom UI is better and provided evidence for his assertions.

</comment><comment><USER13> If you want a look at the long-term consequences of a culture of pervasive custom UIs, look at the current state of Windows apps. _Every_ single app looks different in some minor way for no discernible reason. The sum of them on the desktop adds up to visual noise and clutter that is needless. I realize the differences in look are not intentional: GTK here, .NET there, each with a different layout engine.

But the sad fact is, nobody seems to care about it. There is no standard UI on Windows anymore, and it drove me nuts.

My favorite whipping boy in this argument is Trillian: <http://pcworld.hu/apix/0911/trillian_astra.jpg>

</comment><comment><USER14> I think the Reeder App is over-designed. The developer basically blazes his own path and the app only follows conventions nominally. However, at the same time it's done with great taste. In some cases, following HIG to the letter might make it look like you slapped together an app with widgets.

Also, every application by Tapbots pretty much flaunts all conventions with highly custom UIs, yet they post great sales. I suppose the same could be said of all TapTapTap apps, they also sell great.

However, one thing they all get right is great functionality and performance stability. You really can't trump that.</comment>


Fizz – experimental language and runtime environment - <AUTHOR> http://f1zz.org/ <comment><USER2> Embarrassed question, but where is the code for this? I didn't see a github link or anything. Is it fast? These examples don't really mean much to me if they took several seconds to run, prolog can do most of this already, and its ridiculously fast.

<comment><USER3> hey (author here), so the code isn't available as I haven't decided to open source it or not yet. You are correct to point out that it's a LOT slower than more traditional Prolog due, in part, to a different architecture.

<comment><USER4> Prolog has better (simpler, more readable) and more uniform syntax too.

I don't see how yours is an improvement.

<comment><USER5> I have no stake in the language, but that's not exactly a claim backed up by any arguments.

</comment></comment></comment></comment><comment><USER6> The webpage looks really good, and the description of fizz sounds great.

On the other hand, the name "fizz" is somewhat tonedeaf, reminding me of fizzbuzz. Fizz, the language, may overcome the name reuse on its own merits, if people like fizz well enough. The going may be a bit tough until then, however.

<comment><USER7> Fizz is a bit of a buzz kill.

<comment><USER6> Yea, but only a third of the time, give or take.

</comment></comment></comment><comment><USER8> The title is fairly generic so here's the description from their homepage:

> _fizz is an experimental language and runtime environment for the > exploration of cognitive architectures and combined Machine Learning (ML) > and Machine Reasoning (MR) solutions. It is based primarily on symbolic > programming and fuzzy formal logic and it features a distributed > (eventually), concurrent, asynchronous and responsive inference engine._

</comment><comment><USER9> i love the design of this site.

<comment><USER5> To look at? Sure. To _use?_

\- giving the letters low contrast colours might be all the rage, but it is a lot more straining to read than something with a decent contrast, especially with a thin font like this one

\- the CSS uses pixel sizes, and the default zoom level makes it so tiny that it is practically unreadable on full HD without zooming in 200%

\- The combination of a mono font and not using of different sizes, bolding, italics, etc gives each string of characters practically equal weight. The lack of visual weight means there is almost no visual help to guide the eye across the page.

\- Similarly, a bit more line-height would give the individual lines a lot more room to breathe, making it much easier to read

<comment><USER10> it looks cool, is unique, is memorable, reminds me of when the internet was fun</comment></comment></comment>


McDonalds #McDStories Twitter Campaign McBackfires - <AUTHOR> http://grist.org/list/mcdonalds-discovers-social-media-can-backfire-when-people-hate-you/ Something you should keep in mind when planning SNS strategy. <comment><USER2> This is bad only because it might offend some politically correct people.

Other than that it falls under the "there is no bad press" category. It's not like everyone viewed McDonalds as some authentic brand. It's disposable corporate food, we all know what to expect.

Just lots of free McDonalds advertising.

<comment><USER3> Exactly, (almost) no such thing as bad publicity. Nobody is surprised by what McDs is, and is not. At least they can sort of take a joke. Unless they screw it up and try to track people down for libel.

</comment></comment><comment><USER4> I love how all the marketing folks are piling on.

Hindsight is twenty-twenty. McDonalds followed the social media best practices to a T and still got burned.

While it's easy for the Chris Brogans of the world to create a new post about "Lessons Learned from McDonalds' McFail," the truth is, nobody thinks it will backfire until it does.

That's the fundamental nature of disintermediation.

</comment><comment><USER3> That _was_ laugh-out-load funny.

Even considering the irony that I'm sitting here about to start my 12th hour of work, surrounded by fast food wrappers from a two day emergency hack-a-thon to fix a release at work.

Sometimes, "crap" is all you have time for...

</comment><comment><USER5> McDonalds' response: [http://paidcontent.org/article/419-mcdonalds-social- media-di...](http://paidcontent.org/article/419-mcdonalds-social-media- director-explains-twitter-fiasco/)

<comment><USER6> Hilarious. I'm amazed by the fact that they didn't know what they were doing, their marketing dep. and "social media director" should have expected that.</comment></comment>


Unlimited details, the end of polygon based graphics ? - <AUTHOR> http://www.youtube.com/watch?v=Q-ATtrImCx4

<comment><USER2> Dupe. <http://news.ycombinator.com/item?id=1179970>

</comment><comment><AUTHOR> Here is another link with a little bit more info. [http://www.somedude.net/gamemonkey/forum/viewtopic.php?f=12&...](http://www.somedude.net/gamemonkey/forum/viewtopic.php?f=12&t=419)

</comment><comment><USER3> How can I look for dupes before posting?</comment>


Trump administration re-evaluating self-driving car guidance - <AUTHOR> http://www.reuters.com/article/us-usa-trump-selfdriving-idUSKBN1650WA <comment><USER2> This is a really difficult situation, in that lowering regulatory overhead would mean getting automated solutions to the public faster, and even if they weren't optimally safe they'd likely be vastly better than human drivers and the sooner we could reap that benefit the better. However, there is a substantial long-term risk to the viability of self-driving cars if any high- profile accidents do happen, because outside of Silicon Valley people generally trust themselves more than technology. So on the other hand it might be better to continue the dangerous status quo for longer, until regulatory framework can assure safety, so as to make the rollout of autonomous cars actually result in adoption of autonomous cars.

<comment><USER3> I've recently been disappointed by the "Uber's car ran a red light!" stories I've been seeing. I know a lot of people hate Uber for various reasons and there's every reason to stay cautious about making sure self-driving cars are predictable and have the right sensors on-board, but imagine if we saw a headline on CNN every time a human-driven car ran a red light.

There's no excuse for a self-driving car to run a red light, but human drivers do it millions of times every day and in most cases when we see it we just shake our heads and say "what is that fool thinking?!" But a self-driving car does it once and it's headline news for months.

<comment><USER4> Usually when a human runs a red light, they are aware that it's red. Typically the light is just turning red, and they think they can still make it.

For Uber, their car was probably not aware that the light was red, which is more dangerous.

<comment><USER5> People often run red lights because they aren't paying attention too. It still doesn't make headlines on CNN.

<comment><USER6> A person running a red light is driving just one car at a time. A self-driving car's software is (potentially) driving many cars.

I do not think "a self-driving car runs a red light" is analogous to "a person runs a red light". A closer analogy is to "a distinct class of people who run red lights".

I do agree that the media response is overblown, however I do not think it is without some merit.

<comment><USER7> "A person" discounts the millions of other persons individually doing it around the world - orders of magnitude more than driverless cars could possibly achieve this decade. Their combined effort, while not just running red lights, kills an estimated 1.25 million people a year.

[https://en.wikipedia.org/wiki/List_of_countries_by_traffic-r...](https://en.wikipedia.org/wiki/List_of_countries_by_traffic- related_death_rate)

</comment></comment></comment></comment></comment></comment><comment><USER8> > urged companies to explain the benefits of automated vehicles to a skeptical > public.

As a "tech guy" myself I have trouble fathoming a position of skepticism around the benefits of self-driving vehicles.

I know it is generally a good idea to be skeptical even as a "devil's advocate" but to my mind, there are so many upsides that it is hard to connect with me?

<comment><USER9> Here's a bitterly cynical contrarian view: hope you _really really really_ like getting bombarded with ads even more now that you don't have to pay attention to the road! Marketing opportunities abound! Or, hope you don't mind shelling out for the "ad free experience" every trip.

Here's a less bitter contrarian view:

Self-driving vehicles will be bad for American city development and reinforce existing patterns of inefficiency, waste, and self-segregation.

The reasons I expect this to happen: * People will likely put up with longer commutes if they don't have to pay attention the whole time. * The amount of cars on the road for a given level of congestion will probably increase due to more efficient cross-vehicle coordination and faster reaction times. * I expect most consumers will still prefer to own rather than perpetually rent their vehicle (the average age of cars on the road right now is 11.5 years - that's quite a few years of not making payments compared to being a perpetual Uber-rider), especially given the convenience in family situations (keeping stuff in the car all the time to entertain the kids, keeping the back seats covered to protect from the dog fur and claws, etc).

So those plausible resulting conditions seem likely to lead to less centralized cities, reinforcing a future of inefficiently using a bunch of energy to move small numbers of people individually in cars vs in a denser, older-style urban rail system.

<comment><USER10> "Self-driving vehicles will be bad for American city development"

Cities don't have rights. Why are you equating "good for cities" with absolute good?

"and reinforce existing patterns of inefficiency, waste, and self- segregation."

What you call "inefficiency, waste, and self-segregation" other people call "living the lifestyle they want, having a nice yard, and being able to raise their kids away from the dirt, crime, and horrible schools found in the cities".

Efficiency is not the end goal of human life.

If we were really after maximum efficiency, we could have everyone sleep in bunks (maybe even hot-bunk it with three shifts) and eat all their meals in communal chow halls.

But we don't. Why is that, do you suppose?

</comment></comment></comment><comment><USER11> (I had a long reply on this, but Firefox 51 crashed and lost it. Rewriting).

California DMV's regulations for testing are straightforward. 1) Get $5M in insurance, 2) Report all crashes immediately, and disconnects annually, and 3) only trained drivers associated with the manufacturer can drive. That's what Google wanted, and there are about 20 manufacturers with CA autonomous vehicle testing licenses. Their reports are one of the few objective data sources we have on self-driving cars. (Uber whined about having to report their failures, refused to register, and moved testing out of CA.)

California's deployment regulations are still in flux, although there's a draft version. So far, nobody has applied to deploy production self-driving vehicles in California.

NHTSA started with definitions of levels of autonomy. Informally:

\- Level 0 - manual driving

\- Level 1 - auto brake or lane keeping, but not both.

\- Level 2 - auto speed/brake control and lane keeping (Tesla, BMW, Mercedes, etc.) Driver may have to take over control at any time.

\- Level 3 - fully automatic driving on some roads. Driver may have to take control, but not instantly. (Google/Waymo, Volvo)

\- Level 4 - fully automatic driving on all roads.

\- Level 5 - no driver needed.

NHTSA proposes that at level 3 and above, the manufacturer is responsible for all accidents. Volvo is on board with this, and the US Big Three automakers don't object. NHTSA sees a bright line between levels 2 and 3, and says that at level 2, manufacturers should enforce hands-on-wheel. That's what got Tesla into trouble - weak hands-on-wheel enforcement combined with PR that convinced some drivers that "autopilot" was better than it is.

Urmson, when at Google, said that their testing taught them that humans cannot take over fast enough to deal with automation failures. This echoes what the aviation community has discovered over the years - when someone who isn't actively flying has to take over control, it takes seconds or tens of seconds before they have full situational awareness.

This means the incremental approach of adding more features to assist the driver won't work. Somebody has to be in charge, either the human or the computer. Ambiguity over who is driving leads to accidents. (For an aviation view of this, see "Children of the Magenta", where a chief pilot is talking to his pilots about cockpit aviation dependency.[1])

Congressional hearing last week on self-driving cars.[2]

[1] [https://www.youtube.com/watch?v=pN41LvuSz10](https://www.youtube.com/watch?v=pN41LvuSz10) [2] [https://www.youtube.com/watch?v=vJsRF7NcjpM](https://www.youtube.com/watch?v=vJsRF7NcjpM)

<comment><USER12> > Urmson, when at Google, said that their testing taught them that humans > cannot take over fast enough to deal with automation failures. This echoes > what the aviation community has discovered over the years - when someone who > isn't actively flying has to take over control, it takes seconds or tens of > seconds before they have full situational awareness.

I'm disappointed that this didn't become the prevailing wisdom for self- driving cars. With the current state of affairs, it seems there's a real risk of a few accidents causing this administration to pull the plug on self- driving altogether until we get a progressive administration again.

Perhaps Urmson ought to have published this research so that others could use their methods and reproduce the results. It seems to me that user-study was the most important part of their research.

<comment><USER11> It's in his SXSW talk.[1] It's the Google/Waymo and Volvo position, those being the two companies closest to a product.

[1] [https://www.youtube.com/watch?v=Uj- rK8V-rik](https://www.youtube.com/watch?v=Uj-rK8V-rik)

<comment><USER12> 2016 seems a bit late. Also, hindsight is 20/20 and I do nothing for self driving cars

</comment></comment></comment></comment><comment><USER13> Having read through the previous guidelines, I am not surprised at all at the actions taken. However, the changes taken will likely not change the situation much, as the policy had already been very deferential towards state regulation and self-regulation and really were mostly just guidelines.

</comment><comment><USER14> This is relevant to a lot of the comments, so I'll just make it as a top-level comment. First, two videos of the latest version of the Tesla Autopilot firmware, rolled out to Tesla vehicle owners this week. Each shows the car repeatedly trying to kill its driver:

1: [https://www.youtube.com/watch?v=uYav3_7miIc](https://www.youtube.com/watch?v=uYav3_7miIc)

2: [https://www.youtube.com/attribution_link?a=zYHrJvXcz6M&u=%2F...](https://www.youtube.com/attribution_link?a=zYHrJvXcz6M&u=%2Fwatch%3Fv%3DUZ1XLqc5IUg%26feature%3Dshare)

Tesla broke ties with the previous supplier of its driver assist hardware and software last year after serious disagreements over the safety of Tesla's present and future Autopilot systems and how it was being marketed to consumers.

It's now been just a few months, and Tesla's rolled out their own Autopilot software to customers of cars built since the breakup with Mobileye.

That software doesn't have the years of testing the old software did. This one, as you can see in the videos I linked from the latest firmware, does things like drive your car off clearly marked roads inexplicably without warning. It is not acting safer than human drivers would in these situations.

I'm not happy about sharing the roads with cars that may drive themselves into me with no warning that there's anything wrong with what should be a simple lane keeping system. Especially when that system doesn't force the driver to keep their hands on the wheel, when obviously they need to be there with the software in this state.

I want to eventually benefit from the kind of self-driving cars Google is building (Waymo is down to a human temporarily taking the wheel once per 5000 miles of driving on public roads), without the harm of what startups like Tesla can do by putting essentially untested systems on production cars I share the road with.

There must be a regulatory middle ground?

<comment><USER12> > There must be a regulatory middle ground?

I think there is, I just wouldn't hold my breath for Congress to act on it. California is leading the way on this. Elect the right people there and hopefully that trickles up and across to other states.

</comment></comment><comment><USER15> My fear here is that this is mostly an excuse for established car companies to get Trump to target Tesla. Trump has no particular reason to like electric cars, and established car companies have every reason to fear Tesla. I further suspect that Trump sees being bribed as simply a good business proposition...

</comment><comment><USER12> What's the difference? The NHTSA guidelines were only suggestions, not laws. They were a heads-up to manufacturers in what the public may demand from companies in the future.

Plus, the states are the ones regulating on this. California is leading the way in independent testing, and they and a handful of others are the only ones who've begun requiring reporting about accidents involving driver-assist and autonomous vehicles.

Am I dumb for saying this administration is unlikely to make federal laws surrounding this technology? Their whole argument is to shrink national government and empower the states to do as they please. Every time they make a national law they shoot themselves in the foot.

</comment><comment><USER16> > She said self-driving cars could dramatically improve safety.

Agree, I believe that's a fair assessment and I am glad they are recognizing it.

</comment><comment><USER17> Always when some interest group senses that a thread does not go their way, they use flagging (of the submission) to censor the unwanted opinions.

Flagging is totally sick on HN.

<comment><USER18> A lot of people on HN are exhausted by a lot of the political submissions. So many of them descend into inflammatory, nonconstructive point scoring, which is the opposite of HN's intent for civil, substantive discussion. People are often flagging regardless of their own political leanings: they don't want HN to have so many political flamewars.

</comment></comment><comment><USER19> My immediate reaction to this web page was EEEEEK!!! SPIDERS!!!!</comment>


Say no to bullshit meetup NDAs - <AUTHOR> http://richard.boulton.info/2013/04/23/facebook-cia.html

<comment><USER2> Can't upvote this enough. Facebook in NYC does this also, and it's just plain creepy.

Mostly because it would take them no effort at all to advance this policy in advance. But they don't -- they just ambush you with it when you get there. And they know damn well that no one's going sit down and read (let alone think about the implications of) what they're signing. That's the creepy part.

</comment><comment><USER3> I agree with you. Why would you want to put that much power over your life in some facebook attorney's hands. Even if nothing probably will come of it. What if they decided to put you in their crosshairs.

</comment><comment><USER4> I was just at a 24hr Hackathon hosted by Facebook last weekend. They sent us the NDA in advance, they didn't make us sign it when we got there. The language of the paper is very broad, but they made it clear while we were there what it actually constituted -- certain areas where engineers worked were off-limits, and we could take pictures of the office, but not of any whiteboards or monitors with stuff on them. It was very reasonable.</comment>


Thin Locks: Featherweight Synchronization for Java (1998) [pdf] - <AUTHOR> http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.664&rep=rep1&type=pdf <comment><USER2> Nice paper.

IIRC sometime later a further important optimization, known as biased locking[1], was added to Java locks to avoid, in the always uncontended case, the expensive CAS required to acquire the lock.

[1] [https://blogs.oracle.com/dave/biased-locking-in- hotspot](https://blogs.oracle.com/dave/biased-locking-in-hotspot)

</comment><comment><USER3> There was a sequel to this, from different researchers, also at IBM, proposing an improvement called a tasuki lock:

[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.92....](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.92.3010&rep=rep1&type=pdf)

</comment><comment><USER4> >Download Limit Exceeded

>You have exceeded your daily download allowance.

<comment><AUTHOR> [https://www.cs.tufts.edu/~nr/cs257/archive/david- bacon/thin....](https://www.cs.tufts.edu/~nr/cs257/archive/david- bacon/thin.ps)

Same just in PostScript</comment></comment>


Greenscreen: A digital signage solution using the Web and Chromecast devices - <AUTHOR> https://github.com/groupon/greenscreen

<comment><USER2> [https://hn.algolia.com/?q=greenscreen#!/story/forever/0/gree...](https://hn.algolia.com/?q=greenscreen#!/story/forever/0/greenscreen)</comment>


Progress in performance and scalability with CockroachDB - <AUTHOR> https://www.cockroachlabs.com/blog/cockroachdb-2dot1-performance/ <comment><USER2> I've just released a small product using CockroachDB, in retrospect it was _probably_ my favourite technical decision. Previously I'd used it as a toy and tested deployment strats but was skeptical (new tech and all that), but now that it's ticking along in the wild I'm very impressed across the board.

<comment><USER3> How does your infrastructure look like? Do you deploy it in a single datacenter or even in the same rack on a couple of servers?

</comment></comment><comment><USER4> A few questions:

1) >631851 tpmC

How many servers are needed to achieve this throughput?

2) >4 terabytes of unreplicated, frequently accessed data

4TB unreplicated data? Does that mean if a single node goes down you'll lose data (EDIT: I meant losing availability, not data)? That kinda ruins the whole point of having a distributed database.

3) If I'm reading the KV benchmaks correctly, it takes 5 nodes to achieve 100k tpm. That's 20k tpm per node. That's 333 tps per node. This is a 95% point read benchmark. Why is the tps (333 tps) so low? Is that normal?

4) How does CockroachDB compare to other distributed databases such as TiDB, FoundationDB, ScyllaDB?

<comment><USER5> ScyllaDB is still the fastest at a key/value workload with per-query consistency settings and quorum reads/writes across multiple regions. If you need high-performance and low-latency, ScyllaDB wins. They are close to v3.0 which will have global secondary indexes and materialized views to improve data model flexibility. FoundationDB is also key/value but much lower-level and well proven for reliability. Don't have much experience with it and the latest release just introduced multi-regional capabilities, but the general tooling and documentation is still rough and it would take more effort to build a higher-level querying layer or client library.

TiDB is interesting, but missing more features from MySQL than CRDB is missing from PostgreSQL, so it's effective if you want sharding on mysql but will need a few more releases before it gets polished. Vitess and Citus are good options if you just want sharding on top of existing mysql or postgres with full query support within a shard. There's also Yugabyte which is multi-modal Redis/Cassandra/SQL offering with multi-regional capabilities.

CRDB is a great product with some of the easiest operations (although key management is a nightmare that they do not have a good plan for). It's fast enough for point-lookups and makes it easy to distribute and replicate your data across zones and regions. All nodes are part of a single cluster so read and write latencies will be high for global deployment, with the enterprise version having a workaround for local regional reads using pinned covering indexes. That works, but further lowers write performance.

It also has trouble with large transactions and the middle ground between OLTP and OLAP with heavy joins. Good choice if you need easy scalability and SQL interface over performance and complex queries.

<comment><USER6> Hi! I work for PingCAP, the company behind TiDB and come from previously working on MySQL.

The gap of features missing is documented here: [https://www.pingcap.com/docs/sql/mysql- compatibility/](https://www.pingcap.com/docs/sql/mysql-compatibility/)

I would rate compatibility as actually pretty good: all but one SQL mode is supported (which is a feat in itself), and most of the SQL functions are supported.

There are some exceptions though, some which are addressable (missing functions) and some that are not (often a property of being an optimistic system).

We try to be as transparent as possible on this, which might be part of the reason why you feel there is a lot missing?

If you have specific examples, I would be happy to clarify. We also have a course designed for MySQL DBAs, which is designed to make the adoption easier: [https://www.pingcap.com/tidb-academy](https://www.pingcap.com/tidb-academy)

<comment><USER5> Good to see the progress, I was looking at the roadmap page: [https://github.com/pingcap/docs/blob/master/ROADMAP.md](https://github.com/pingcap/docs/blob/master/ROADMAP.md)

Views and CTEs are probably the biggest missing pieces now.

<comment><USER6> The technical design for views was recently completed, and I expect to see them added soon :-)

Window functions & CTEs are only very recent features in MySQL 8.0 (TiDB is 5.7 compatible). None the less, they are important for HTAP workloads, and I'm looking forward to seeing them too.

</comment></comment></comment></comment></comment><comment><USER7> This is a crazy multiple! Anyone from the Cockroach team up for sharing what the key innovations were that are driving the improved performance?

<comment><AUTHOR> I'm the author. We've introduced transactional write pipelining (covered in a forthcoming blog post), load-aware rebalancing, and completed general performance tuning which all contribute to our improved performance numbers.

</comment></comment><comment><USER8> I was wondering, quite unrelated to the article, if anyone knows if CockroachDB would be suited for small databases (and comparably modest computing/memory resources). I very much like its distributed properties, but only have a simple table of usernames and corresponding cryptographic material. Is CRDB easy to run and manage?

<comment><USER5> Sqlite would be my first recommendation, unless you need client/server access.

<comment><USER9> I think the GP's stated need for replication would preclude SQLite unless one's willing to write one's own replication system.

<comment><USER5> Where's the stated need for replication?

<comment><USER9> "I very much like its distributed properties"

</comment></comment></comment></comment></comment><comment><USER10> I'm currently evaluating this as an alternative to vitess + percona mysql. But strict seralizability has its limitations.

<comment><USER11> What do you mean "strict seralizability has its limitations", you need something stricter? Or you have a need for something weaker for some reason?

<comment><USER10> In the same way single threaded has limitations.

</comment></comment></comment><comment><USER12> Now we just need some benchmarks on a reasonable size dataset like 100TB and up

<comment><USER13> Not an easy benchmark..

<comment><USER12> One would imaging they are testing with much larger datasets internally.

</comment></comment></comment><comment><USER13> I'm totally new to cockroach so I have 2 questions..

1\. Is there a managed service of this db where it auto scales, does geo replication etc all by itself?

2\. Is there any really good book on cockroachdb?

<comment><USER14> We released a managed version at the end of October, with auto-scaling, geo- replication, etc. \--> [https://www.cockroachlabs.com/product/managed/](https://www.cockroachlabs.com/product/managed/)

Not sure that there any books on it yet.

<comment><USER5> The managed service doesn't autoscale, it's provisioned capacity by cores. We just did a call about it.

<comment><USER14> Our managed service is currently provisioned by cores. We automatically add nodes to your cluster based on your usage. You can also request to add more nodes if you anticipate spikes.

</comment></comment></comment></comment><comment><USER12> At what point is it cost effective to run CRDB vs PostgreSQL?

</comment><comment><USER15> Someone should create a fork with work-safe name. CockroachDB brings connotation of cockroaches, who are known by eating almost everything and living almost everywhere.

<comment><USER16> you know what's ironic? that in every thread there's one of you people complaining about the name - you're all just like cockroaches! no matter how successful cockroachdb becomes, no matter how technically impressive the product becomes, the naysayers never die.

can you imagine 20 years ago someone complaining that google wasn't safe for work because it had a silly name?

newsflash dummy: stop saying/thinking/repeating stupid things like this and it'll stop being the case that everyone is so conservative that silly names are inadmissible.

<comment><USER17> That attitude does not fly with your boss.

Why limit the adoption for no good reason by choosing a weird name intentionally?

<comment><USER16> do you not understand perpetuation? "doesn't fly with my boss" \---> "won't fly when I'm boss". also how about having a conversation on the merits? does that fly with your boss? does with mine.</comment></comment></comment></comment>


Ask HN: Are you a former climate change denier? What changed your perspective? - <AUTHOR> I'm asking this to try to learn more about the mindset of climate deniers. I want to better understand how our divided world could facilitate better dialog and move forward with urgent climate solutions. I thought it would be interesting to pose this question to the community. <comment><USER2> If you're after a dialogue, perhaps the term "denier" might be seen by those who are skeptical as a little pejorative?

</comment><comment><USER3> I'm sure I'll get flak for this. I'm not a climate change 'denier', but I'm sure I'll be called that by some. In fact, I 'believe' in climate change, meaning that the climate is changing. Because I believe the climate is _always_ changing. When people use the term "climate change" these days, they (IMO) assume that the climate has been steady state for millennia until recently (last 50 years?), and that it's only been changing recently, that it's a sudden thing, and that it's all our fault.

The climate has changed, waxed and waned many, many times over the ages. There was an ice age that ended about 10,000 years ago. There was a warming period, followed by a cooling period in the middle ages (search Little Ice Age on wikipedia). Where were all the carbon emissions then? There's plenty of evidence that the climate changes all the time, and there is no 'normal' climate, no 'set point' where it is 'supposed' to be at -- that's simply not how climate works. We don't really know how it works, all of the factors involved. But there is no specific set point that the climate is 'supposed' to get to and maintain. What kind of silliness is that?

Yes it is changing, getting warmer, but there's a lot of scare mongering going on that we're at fault, and I don't think we've figured that out yet. Who's to say it won't start cooling off again sooner or later? If you're old enough to remember, in the 1970s (and maybe 1980s) we were scare mongering over the coming ice age, a global cooling that was going to freeze us all out. How ironic we're now in the midst of the opposite.

I will say that one very positive thing about all the scare mongering is that we're pouring money into clean fuels and methods, which is brilliant -- we should have been doing that all along, and if it takes some fear to push that, great.

For those who condemn people like me who aren't convinced that the warming trend is all our fault, be very careful about your science. Just because 4 out of 5 scientists or 99% of scientists agree or believe climate change is happening (it is) and that it's our fault (that's not clear yet), doesn't make it true. The number of people who believe in God doesn't improve God's chances of existing, any more than the number of athiests who disbelieve in God makes God disappear. Belief is not reality. Belief is belief. Reality is reality. The two are _not_ the same, and they are _not_ related or dependent on each other in any way. But too many of us get hijacked by our beliefs and go nuts because we think it's realty.

Also understand that one published study is regurgitated with the same sensational headlines in 1,000 or more news outlets, making it 'appear' that there is a consensus of all these news outlets. No, it's the same piece of news, sensationalized and then repeated a thousand times over, not a 1,000 different news outlets reporting on a 1,000 different, separate studies that all came to the same conclusion. We have some serious mental biases that come from repetition -- stop watching the news! (How many news stations report how many planes landed safely? None. How many report the one plane crash that happened? All of them, in gory detail.)

Recall that cholesterol used to be the big threat to our health these past 40+ years. Surprise! We're now finding out over the past few years that it ain't so. A whole generation or two of scientists had to pass on before we got to today where cholesterol is not considered a cause of CHD. Back in the 'fat and cholesterol cause CHD', you didn't get your science _funded_ if you weren't taking that position as truth, and if your research wasn't geared towards proving exactly that. Go read up on how Alzheimer's research has been stymied for decades because scientists refused to accept that the beta amaloids were a _symptom_ of the disease, and not its cause.

Be careful of the agendas of those who say climate change isn't happening. But also be wary of those who claim to know that it is, and that it's all our fault -- they have their own agendas.

And when anyone, _especially_ a scientist, says "the science is settled", you are now in the realm of a dogmatic religion, closed-minded to any evidence that contradicts the belief in the 'faith'.

So, climate getting warmer? Seems to be, yes. Carbon emissions causing it? Hmm. Not so sure yet. Humans causing it? Again, no clear cut evidence that shows how _this_ warming period is due to us that explains how all the other warming periods came about that _weren 't_ us. Will it never cool off again? No one knows, but it's done so in the past, so the balance of probabilities is yes. Unless we really are the cause, and there's a tipping point where we can never see a reversal, and we pass that point. Sure, it's possible. It's also possible we'll be struck by an enormous chunk of rock that wipes out the human race, which I think is a serious threat, but for which we don't seem to be putting a lot of energy and funding into providing early warning and a means to do something about it.

Whether we are to blame or not for the warming climate (as of today), I hope the hysteria continues for another decade or two -- the motivation it provides for developing cleaner energies and products won't likely happen otherwise, just like had we not had the Cold War, the space race would not have happened, and we'd not have landed on the Moon. (Sorry, moon-landing deniers. It really happened.)

<comment><AUTHOR> hi @meretext, thanks for engaging in this dialog, I appreciate you taking the time. This is really interesting to me. You're clearly smart and passionate about this. And it sounds like you are an evidence-based thinker. It sounds like maybe you've been bombarded with a lot of media but maybe haven't been given very good evidence, does that sound right?

For example, what do you make of this chart shown on the nasa.gov page? It shows the cycles that you're talking about, but then it shows how our situation is incredibly different from any other cycles over thousands of years. [https://climate.nasa.gov/evidence/](https://climate.nasa.gov/evidence/)

So given evidence like that, what is your reaction? (I'm really not trying to convince you or troll you or anything, I'd love to learn more about how you think and what your arguments are). Do you think that the information isn't convincing or that it's a conspiracy? Do you feel certain that human-made climate change isn't real, or are you skeptical but open to the idea?

I'm also open to the idea that climate change is NOT real if I was confronted with compelling evidence. Though, I just haven't seen any so far...

Last question if you'll allow me: Do you think there's a chance that climate change could be a disaster? If so, do you think it's worth doing something about it? Or at least confirming whether or not it is real? Or do you feel convinced that there is nothing to worry about?

Thanks again, Eric

<comment><USER3> If you're going to make me work, I'm going to make you think.

There are seven (7) issues I've identified with the graph you provided as evidence. See if you can identify those same issues.

Find and download the study that the graph on the [https://climate.nasa.gov/evidence/](https://climate.nasa.gov/evidence/) page that you provided says it is based on. It's short, four pages. I downloaded, printed and hand-annotated the study, scanned it in and I will provide a link to the study with my annotations after. I will also answer all of the questions you've asked me, again, after. Promise.

Here's the link to the unannotated study:

[https://www.nature.com/articles/nature06949](https://www.nature.com/articles/nature06949)

       or the PDF version, which I prefer:

[https://www.nature.com/articles/nature06949.pdf](https://www.nature.com/articles/nature06949.pdf)

Good hunting!

/s.

<comment><USER3> Eric, I assume you don't want to do the work, or you don't want to allocate time doing so. So I'll close this out.

First, I want to be clear about the context for my challenging that slide you pointed me to located at [https://climate.nasa.gov/evidence](https://climate.nasa.gov/evidence) \-- I am not challenging whether climate change is real or not, and I'm not challenging whether humans are or aren't the cause of it.

I am challenging the specific evidence you point to, and not blindly accepting a graph without questioning what data it is based on and how that data was analyzed. The problem with providing a slide like that to people as evidence is that it fits what they already believe, and so no one questions the source that generated these results. Slapping an atmospheric CO2 value in ppm onto a graph taken from a study that measures CO2 values in ppmv from ice cores isn't science.

The slide you point to on that page shows a graph from the study mentioned in the graph's caption, and purports to show historical atmospheric CO2 over the past 800,000 years, to measurements of the actual CO2 taken from actual current atmosphere. I have read and annotated the study, and I'll accept that data as accurate for now and won't challenge what is in that study.

However:

1\. The graph you point to is _not_ the graph that the referenced study supplied -- it is that graph with a portion added on the end that did not come from the study. It looks like someone took the graph from the study, and tacked on the '1950 on' CO2 levels measured from the actual atmosphere (which are from the NOAA Mauna Loa measurements).

2\. The "1950s on" label is inaccurate. The study states that accurate measurements of atmospheric CO2 did not begin until 1958. It's minor, but it's important to be accurate here.

3\. How do we know that the CO2 in an ice core can be directly compared to a measurement taken of actual, live atmosphere? How do we know there isn't some process whereby the CO2 in an ice core shows up as lower than an actual atmospheric measurement? That may be in the end notes of the study, but I'm not going to do the work to dig through that now. It's something that needs to be validated, if it hasn't already, before being accepted as fact.

4\. The study says that CO2 levels and arctic temps are strongly coupled (correlated). Correlation isn't causation. Correlation is correlation. We see that two things are correlated, and our brain immediately sees a causal connection. STOP DOING THAT. Cholesterol is correlated with coronary heart disease, _but it is not a cause_ of CHD.

5\. Despite the study stating that CO2 levels and arctic temps are strongly coupled (correlated), it also states that there were significant deviations between Temperature and CO2 levels multiple times over that period, meaning that there were multiple times where the CO2 levels were _not_ correlated with arctic temperatures. Clearly then, CO2 levels are not always in line with what you would expect temps to be if CO2 were driving the temps higher -- what mechanism is causing temps to be what they were despite CO2 levels suggesting the temps should be different? Maybe CO2 levels were higher, but the temps stayed lower, meaning that more CO2 was released from some other mechanism -- or maybe something else prevented temps from going higher despite increases in CO2.

6\. Let's assume that there is a strong correlation in the evidence of the study's data that actually points to there being a true cause and effect result between CO2 levels and temperature levels. You still have to prove what is causing what, not just that one causes the other. You have to show whether temperature rise is the _result_ of increased CO2 in the atmosphere, _OR_ increased CO2 in the atmosphere is the result of increasing temperatures. Even if CO2 increases show up prior to temperature rises, it still doesn't mean CO2 is _causing_ the temperature rises. CO2 could be a leading indicator of future temperature increases, not a cause of them, meaning that whatever mechanisms are increasing the temperature, they are first triggering increases in CO2 in the atmosphere. That could mean that both CO2 levels and temperature rises are both caused by a something else.

7\. By far the biggest error I find in the slide you pointed to: They used different unit measurements!!! The ice cores measure CO2 in ppmv, the NOAA atmospheric measure of CO2 is in ppm. They are not the same! It is quite possible that if you could convert the ppm of the NOAA data into ppmv units, it might fit right in to the study's graph! I haven't proven anything, I'm saying it's now an open question, that the slide you pointed me to is a result of someone tacking together two separate graphs of data that is measured in two different units. You _cannot_ compare them directly. See here:

[http://www.differencebetween.net/language/difference- between...](http://www.differencebetween.net/language/difference-between-ppm- and-ppmv/)

I wouldn't be surprised if you can convert the 400 ppm CO2 value into ppmv and that it comes out to around the 280 ppmv CO2. Try these calculators:

[https://www.lenntech.com/calculators/ppm/converter-parts- per...](https://www.lenntech.com/calculators/ppm/converter-parts-per- million.htm)

[http://www.aresok.org/npg/nioshdbs/calc.htm](http://www.aresok.org/npg/nioshdbs/calc.htm)

That could make the NOAA data comparable to the units of the study's data, and plot that and it might fit the study graph perfectly, and not the slide you showed me. Even if it doesn't, it's not proof of the opposite. The CO2 in the ice cores is in _water_ ; the CO2 in the NOAA measurements is in _gaseous_ form. That alone might account for the difference, but still, I question whether CO2 measurements in water can be compared to CO2 measurements in air without some conversions and adjustments for units, or other factors.

So I've poked holes in that graph you provided as evidence. It isn't proof that climate change isn't happening, and it isn't proof that humans are not to blame -- it is simply showing that the evidence in that graph you provided has serious problems, and should not be used as 'evidence' until those problems are resolved. But it will be passed around and people will believe it is evidence and not question it, because they've already decided what the truth is and aren't interested in challenging evidence that fits their already selected belief.

I highly recommend watching Michael Crichton's talk:

[https://www.youtube.com/watch?v=JIAQJVlg54E](https://www.youtube.com/watch?v=JIAQJVlg54E)

Over and out.

<comment><USER2> I'm not sure what your point is here.

Ok, Eric is not a climate scientist (or if they are, they're perhaps not a very good one). And one graph that they've pointed to as demonstrating what actual climate scientists are concerned about has some problems too. Fine.

But really --- for many (most?) questions, many (most?) people are unable to evaluate the evidence themselves, and instead fall back to the consensus of actual experts.

And I think that's perfectly reasonable behavior: being an expert in everything is impossible.

In this case, there are plenty of people who are experts. Trained, experienced, knowledgeable people. And by an overwhelming majority, they think there's a big problem here.

Now there are cases where orthodoxy in science, in part worsened by cultural or religious factors, has led to a consensus that was subsequently shown to be unsupported by later, better, evidence and analysis. It's possible that this is the case here, and your skeptical approach is not entirely unwarranted.

But the consensus view of the probable outcomes is pretty dire. And that's probably a quite conservative prediction, because those scientists who have risked the backlash of talking about what they personally think is _likely_ , paint a significantly worse picture.

At what point should we, as humanity, decide that the risk is worth altering our behavior, if not now?

<comment><USER3> The point?

Eric asked me: "...what do you make of this chart shown on the nasa.gov page? It shows the cycles that you're talking about, but then it shows how our situation is incredibly different from any other cycles over thousands of years. [https://climate.nasa.gov/evidence/](https://climate.nasa.gov/evidence/) So given evidence like that, what is your reaction?"

I responded that based on my assessment, this is not good evidence to support a claim that climate change (e.g. global warming) is 'real' and is human caused, and I specifically laid out why.

That's it. That was the point.

If you want to respond to any or all of those specific items, and show where I might be mistaken, great.

Note that I _did not_ make any claims as to whether climate change (e.g. global warming) is or isn't 'real', nor whether humans are or are not involved or the cause. If that's what you got from my reply to Eric, then you're reading more into my response than I wrote. I think we should be analyzing and challenging all evidence, supporting any claims and any position. That's what science is supposed to be about, IMO. I made that clear:

"First, I want to be clear about the context for my challenging that slide you pointed me to located at [https://climate.nasa.gov/evidence](https://climate.nasa.gov/evidence) \-- I am not challenging whether climate change is real or not, and I'm not challenging whether humans are or aren't the cause of it."

I do think we should be working on renewable energy sources that are cleaner, reducing environmental pollution, and so on, because that really makes sense regardless of what's going on with the climate.

In response to your other comments:

I'm not a climate scientist either, but I don't think you need to be one to analyze data and evidence. Read the study and the NOAA data that the evidence Eric pointed me to is based on, and see for yourself. As for whether most people have the time, I agree, most probably don't, but Eric specifically asked me to look at this data; I think it fair to ask him to do the work to analyze it as well.

Your comment along the lines of "most climate scientists believe X" doesn't really say anything other than that most climate scientists believe X. So? Most experts used to believe the Sun revolved around the Earth. As I've said prior, consensus is not evidence. That many experts believe something is presented as evidence may be very true. But that doesn't say anything about whether what they believe is actually true.

"An argumentum ad populum (Latin for 'appeal to the people') is a fallacious argument that concludes that a proposition must be true because many or most people believe it, often concisely encapsulated as: "If many believe so, it is so. Other names for the fallacy include appeal to (common) belief,[2][3] appeal to the majority,[4] appeal to the masses,[5] appeal to popularity,[6][7] argument by consensus,[8] authority of the many,[8][9] bandwagon fallacy,[7][10] consensus gentium (Latin for 'agreement of the people'),[10] democratic fallacy,[11] and mob appeal.[12]" (From WikiPedia I think).

As for the consequences being dire, we'll see.

I recommend you watch the Michael Crichton talk I gave the link for.

/s.

<comment><USER2> I'm not sure you'd like to continue this discussion. I'm kinda interested in your point of view, but ... I don't want to impose on you, so feel free to quit.

While you say: "I responded that based on my assessment, this is not good evidence to support a claim that climate change (e.g. global warming) is 'real' and is human caused, and I specifically laid out why.

That's it. That was the point."

I don't dispute that this particular piece of "evidence" might be problematic. I'm not prepared to invest the time to make an independent determination one way or the other, frankly. You have, and I have no reason to doubt that you've raised valid issues.

I do have some issues with your apparent dismissal of expert consensus. I think "an argumentum ad populum" is mislabeling. When the people who hold the opinion are experts in the field, and the overwhelming majority of them say the same thing, choosing to dismiss that as some sort of mob delusion seems wrong.

The vast majority of experts tell me the Earth is an oblate sphere. There are some people who claim it's flat. Do I dismiss those experts? Or, perhaps more to my point, do you?

As I said: there are times in history, both recent and not so recent, when the consensus of experts has been incorrect. Groupthink is real, political pressure is real, lazy thinking is real, and even fallacious understanding of reality is real.

That said, I do not believe that I, while perhaps a skilled technologist, have the expertise to form a judgement contrary to that of literally thousands of experts here.

Do you?

Or are you simply attempting to ensure that when evidence is presented, it is immaculate?

You then say "As for the consequences being dire, we'll see". That also suggests to me that you _do_ doubt the expert consensus? Of course, literally, you're right: the predicted outcomes are only predictions, and the climate is a massive complex system. The only way to be sure is to wait and see what happens.

The Michael Crichton link is 3:32 long. Would you be willing to summarize his point before I wade through that?

<comment><USER3> If you're not prepared to invest the time to make an independent determination one way or the other, and you want to rely on the consensus view of experts, that's fine, there is nothing inherently wrong in that. Just understand that your belief that they're right doesn't mean they're right, and consensus is not evidence. That's all. Using "most experts agree" as an argument is an _argumentum ad populum_ by _definition_. It's a fallacious argument to make, because you're saying that the number of people (experts or otherwise) who believe something to be true, means that it must be true. Using that argument to try and convince someone of a position to take _is_ a fallacious argument. If you say I don't know the truth of it, but I'm going to side with the consensus, that's at least being clear.

You don't have to have the expertise to form a judgement contrary to that of literally thousands of experts here for them to be actually incorrect. Note how you're using language to make it seem more 'true' and 'weighty': "judgement contrary to that of _literally thousands_ of experts" \-- again, implying that the _vast_ number of experts that believe something to be true makes it more true than if fewer experts believed it. That's precisely the fallacy I'm talking about. You _just_ made an _argumentum ad populum_ , when you're fully made aware of what that is and understand what that is, you still couldn't help it. The more experts that believe something to be true, the more that will jump on the bandwagon because that many already think it true. That may be part of what's happening, because I don't think anyone actually _knows_ what is happening and why yet. There are plenty of examples in history, even recent history, of that type of groupthink happening, and the Ancel Keys Dietary fat theory of coronary heart disease is one of them. Once he said that was the cause, then others believed him, took his study as showing causation, rather than correlation, and the overwhelming consensus was that saturated fat and cholesterol caused heart disease. And they were all wrong, the consensus was wrong, his evidence was inaccurate.

Here's how it seems to me right now, and I'll use an analogy: if you had a consensus of financial experts saying that Apple stock was going to go to $600 a share, and it does, were they 'right' or were they 'lucky'? Because there is no way, no matter how much 'evidence' they have, that they can _know_ that Apple will reach $600. They don't know what will happen, they are speculating. Go read up on counterfactuals.

Yeah, I'm beating a dead horse here, repeating myself so I'll stop now and close.

Because I poke holes in evidence that supports the theory of climate change does not mean I'm against that theory -- it doesn't mean I'm for it either. I can take the position of, "I don't know", and that is my position. But I can still poke holes in evidence from both sides of that debate, while still holding the position that I don't know whether the theory is accurate or not. I can't poke holes in a 'consensus', because a consensus is not evidence. Belief in something is not evidence. Evidence is evidence, and our interpretation and understanding of such complex systems is poor at best.

Climate change may be happening, and it may be due to us, and it may have dire consequences. Or it may not, and we'll be fine, the climate will start to cool, and we'll see maybe we don't know all the mechanisms at play or how they interact.

Watch the first 20 mins of the Crichton talk. You'll know if you want to watch more by then. We think we know things, but we really don't when it comes to things as complicated as climate.

/s.</comment></comment></comment></comment></comment></comment></comment></comment>


Thinking on Your Feet - <AUTHOR> https://aeon.co/essays/dont-just-do-it-think-it-too-on-learning-with-gilbert-ryle <comment><USER2> Over the past few months I've been studying mushin (no mind) with the goal of understanding the concept better, and possibly laying out proactive steps one can take to put themselves in a position to experience mushin. I'm about 70% through all the readings (Unfettered Mind, Zen in the Art of Archery, Kakusei- Mushin, some Alan Watts videos on the subject, some Zen Koan videos, and more).

So far, it's very evident that the feeling of being in a "flow state" or "just doing it" is not something that simply happens out of nowhere. A precursor to that mind state is rigorous training and practice. Zen in the Art of Archery is a great read for getting a grasp on this concept. Basically, your goal is to perform without any thought, having a clear mind without any judgments or intentions, to the point in which you become one with the action/goal (anyone who has played sports may have experienced those games in which you almost black out during a great scoring streak, not even recognizing what's happening in the moment). BUT, to get to that point, you need to learn all the proper movements and formations and build muscle memory, which requires a ton of intentional thought and analysis. Basically, you need to learn as a stepping stone to unlearning.

<comment><USER3> You should read the book "Flow" by Mihaly Csikszentmihalyi, titled: Flow: The Psychology of Optimal Experience.

He claims that Flow is (more easily) achieved when Skill level and Challenge level are both very high.

<comment><USER4> If I remember correctly, it's not that the skill level needs to be high, but that the task has to be difficult enough to be challenging without being so difficult as to be daunting.

So you can still reach a flow state as a low-skill person as long as you flirt with the limits to your own skill level without getting frustrated (i.e. being highly skilled is not necessarily a prerequisite to be fully engrossed and challenged).

</comment></comment></comment><comment><USER5> 25 years ago I thru-hiked the Appalachian Trail, and hikers there have a saying, "It takes more head than heel". I didn't believe it at first, until I met several thru-hikers over the age of 60, hiking 15+ miles a day, carrying 50+ pounds of gear, up and down over a trail designed intentionally to go valley to summit to valley to summit.

After a few weeks, I noticed that I was no longer looking at the ground. At least, not the ground right in front of my feet. My mind was able to see the terrain several yards ahead, and subconsciously my feet would know where the rocks are. This became an essential skill upon entering Pennsylvania, where the AT is more boulder field than trail. I started to call it "Radar feet".

Edit: it was 25 years ago... sheesh my memory. About two years before I heard about an obscure programming language called Python...

<comment><USER6> That reminds me of this very cool video from a gaze-tracking study of someone walking on rough terrain: [https://www.reddit.com/r/dataisbeautiful/comments/8bzdr8/gaz...](https://www.reddit.com/r/dataisbeautiful/comments/8bzdr8/gaze_and_foot_placement_when_walking_over_rough/)

</comment></comment><comment><USER7> The featured runner's (Yuki Kawauchi) highest profile victory was the 2018 Boston Marathon. He and his agent put together an excellent strategy to take advantage of the horrible conditions to nullify his much faster opponents.

Great read on this here: [http://japanrunningnews.blogspot.com/2018/04/how-it- happened...](http://japanrunningnews.blogspot.com/2018/04/how-it- happened.html)

<comment><USER8> Very compelling article, and a strong counter to the idea that the no-mind state is void of intelligence. If anything, the mind of the master is more active than ever, but so thoroughly focused on execution that the meta-level has disappeard. There's no thinking about the thought process, no second guessing, none of the games the mind plays with itself. Only engagement with action so deep that one feels like "the hand of fate."

<comment><USER9> I enjoyed your comment and it was very prosaic. Thank you for writing it.

</comment></comment></comment><comment><USER10> After reading about half of this article, I have two major thoughts:

1\. It's interesting that a Japanese scientist would hypothesize that a high- performing athlete would be considered an "intellectual", since the Japanese word for "genius" can describe highly talented athletes as well as intelligent nerds. Sapir–Whorf in action?

2\. I've seen strong evidence that "overthinking" athletic performance is negative; taking brainpower away from the subconscious and placing it in the frontal lobe is empirically proven to cause basketball players to miss shots and hurdlers to trip and fall.

<comment><USER11> Over thinking, or even just thinking before I learn with my body has always given me problems with physical activity, because I tend to create a bad mental model that I have to unlearn. This has slowed me down the most trying to learn how to fly gliders, and skiing.

One thing I've noticed is that people like myself explain physical activities with words, while people who don't have this issue explain by moving their hands and bodies.

</comment></comment><comment><USER12> This echos my own experience over past couple of months. Deliberate intellectual approach and introspection. I improved a lot when I started doing that. However, when I try to talk about it with my friends and trainers, they dismiss it. I don't expect them to have the answers, but they're not particularly willing to engage in conversation either. They don't understand what I'm talking about. The advice I always get "this is different, you have to feel it". Repeat repeat repeat until you get it. That never worked for me. Or rather, I work hard but the benefits are slim. I feel like I've been getting 30% gains from the training while I could be getting 80%.

</comment><comment><USER13> This reminds me of the book Peak by Anders Erricsson who observed that the right kind of practice carried out over a sufficient period of time can lead to extraordinary improvement.

Interestingly, it seems to work for both physical and mental abilities and importantly at any age (although some abilities are easier to develop at a young age)

The kind of practice is critical -- he calls it "deliberate practice" \-- a focused practice that is at the limit of one's abilities and by pushing near the limit, it eventually becomes the new norm and a new limit is developed further beyond.

By continuously iterating on this process, people have been able to develop skills previously unheard of. Fascinating book, thoroughly recommend it.

</comment><comment><USER14> Another runner - marathon world record holder - Eliud Kipchoge. "If you want to break through, your mind should be able to control your body," he said. "Your mind should be a part of your fitness." As I see it - you have to believe yourself unconditionally.

[https://www.runnersworld.com/news/a27225884/kipchoge-is- read...](https://www.runnersworld.com/news/a27225884/kipchoge-is-ready-to- defend-his-london-title/)

</comment><comment><USER15> I'm currently reading Josh Waitzkin's The Art of Learning and I think this question of thinking, intuition, practice and flow and putting it all together is explored there at a great length, can totally recommend it if you're interested in the topic.

<comment><USER16> Great. I spent a few years learning electronics then materials of all kinds on my own. It felt as weird as interesting. This comes at the right time.

<comment><USER17> I'm on a similar journey right now, learning about electronics and materials on my own. Can you recommend any books or courses? Or how did you learn?

<comment><USER16> The book of youtube.[0]

I read the first third of Tony Kuphaldt books on electronics (DC, Kirschoff laws up to thevenin, a bit of AC too), very nice as it's easy, not too fuzzy and not too concise.

I'm starting Griffiths electrodynamics because I feel I can swallow more theory.

Just yesterday I finally made a nichrome wire ring to cut non-scored glass bottles. Super impressive to manipulate matter like that.

[0] I'm not in a study friendly environment right now, so watching people do simple stuff on video was my main source of motivation and inspiration. I wish I can finally go full circle with more theory.

</comment></comment></comment></comment><comment><USER18> The author describes two school of thoughts on how athletes should perform: the first encourage conscious thinking about their action, while a second encourages the unconscious, flow-like practice. I think the answer lies in between.

One way to look at the problem is through Kahneman's system 1 and system 2 dualism: Some tasks are better done with system 1; the fast, instinctive, unconscious mode of thinking. An example would be optimizing your oxygen consumption while running or hitting a topspin forehand in Tennis. Other tasks, like planning your running strategy are better done by System 2, the slower, deliberative mode of thinking. The trick for performing is to use the right system for the right problem.

Personally, I experience this in two very different fields: Tennis and coding. In tennis, whenever I start thinking two much about my strokes, trying to consciously change them, the strokes' quality deteriorate. Similarly, whenever I play a match and lose myself in the zone while forgetting to consciously think about my strategy, about the deficits of my partner and myself, I start losing. Switching back and forth between these two modes is where I reach my potential. The same applies in coding. To work best, I need both the flow, but with pauses here and there to consciously think about the big picture.

</comment><comment><USER19> To maybe make this more relatable, think about typing. How much do you type? How much do you think about it? Do you use your right thumb on the spacebar, the left thumb, or both? Why do you do it that way? Do you think you could type faster if you changed that?

It's these last questions that drive excellence in physical technique. Picking out tiny details in how we do things, then starting by consciously adjusting our technique, until it becomes unconscious.

</comment><comment><USER20> I am not sure I agree with all of what the author states here.

The "self-learning" is what I do myself when I train in martial arts, with computer programming, and with any number of skills. I had my start with a martial art teacher for a few years, and now, I am going through a long stint of solo practice, as I completely rebuild how my body moves. My programming skills were self-taught.

However, wu-wei is not simply "just do it". There is a kind of natural, effortless, spontaneity that meditators, psychonauts, and others who have peak experiences might tap into from time to time. Even "just do it" has a subtle kind of interfering.

The thing is, it's the "self-learning" that eventually bears fruit when someone enters wu-wei, as it pertains to skill. The deliberate effort at self- learning and cultivation greatly expands the possible actions one can take when one stops interfering with themselves.

</comment><comment><USER21> Interesting article. I kept reading hoping it would get to a strong conclusion or some clear definition, but just like athletes can't explain it, its conclusion was vague and all over the place.

</comment><comment><USER17> Interesting read, but kinda sad that the runner in question was not interviewed for this piece. I think the points made are kinda vague and lack good examples to make a stronger case for this thesis.

</comment><comment><USER22> _They [the runners] are suffused with the Daoist ideal of wu-wei that sees effortlessness as the epitome of human action_

I found Edward Slingerland's "Trying Not to Try" very interesting in terms of making connections between classical Chinese philosophy and contemporary US/western thought about neuroscience.

[https://www.goodreads.com/book/show/18050134-trying-not- to-t...](https://www.goodreads.com/book/show/18050134-trying-not-to-try)

<comment><USER23> On a similar vein, "Kenneth Stanley: Why Greatness Cannot Be Planned: The Myth of the Objective".

[https://www.youtube.com/watch?v=dXQPL9GooyI&app=desktop](https://www.youtube.com/watch?v=dXQPL9GooyI&app=desktop)

Kenneth leads the AI research in Uber. He had worked on Evolutionary strategies for machine learning, artificial Life etc.</comment></comment>


Google+ support page: Info straight from the horse's mouth - <AUTHOR> http://www.google.com/support/+/

<comment><AUTHOR> After reading an article or two on Google+ I searched out the support pages and found them much more informative so I thought I would share.</comment>